組合語言 實驗10 3 數值顯示

2021-08-01 15:07:39 字數 1474 閱讀 3763

寫給自己的一些題外話:這個題目做了兩天。這幾天狀態一直不太好,書都看不進去,題也看不進去。。

名稱:dtoc

功能:將word型資料轉變為表示十進位制形式的字串,字串以0位結尾符

引數:(ax)=word型資料

ds:si指向字串的首位址

返回:無

應用舉例:程式設計,將資料12666以十進位制的形式在螢幕的8行3列,用綠色顯示出來。在顯示時我們呼叫本次實驗中的第乙個子程式show_str

assume cs:code

data segment

db 10 dup (0)

data ends

code segment

start:

mov ax,12666

mov bx,data

mov ds,bx

mov si,0

call dtoc

mov dh,8

mov dl,3

mov cl,2

mov si,0

call show_str

mov ax,4c00h

int 21h

dtoc:

mov cx,ax

jcxz reverse

mov bx,10

div bx

mov cx,dx

add cx,30h

push cx

mov dx,0

add si,2

loop dtoc

reverse:

mov ax,si

mov bx,2

div bx

mov cx,ax;ax是迴圈次數,即顯示數字的位數

jcxz good

mov si,0

reverse1:

pop ax

mov ds:[si],ax

add si,2

loop reverse1

good:

retshow_str:

push dx

push cx

mov ax,0b800h

mov es,ax

mov al,160

;注意!!

sub dh,1

mul dh

mov bx,ax

mov al,2

mul dl

add bx,ax;bx存放的是視訊記憶體位址

mov dh,cl

s:mov ch,0

mov cl,ds:[si]

jcxz ok

mov dl,cl

mov es:[bx],dx

add si,2

add bx,2

jmp short s

ok:pop cx

pop dx

retcode ends

end start

《組合語言》實驗 實驗

注意 db定義位元組型別變數,乙個位元組資料百佔1個位元組單度元,讀完乙個,偏移量加1 dw定義字型別變問量,乙個字資料佔2個位元組單元,讀完乙個,權偏移量加2 dd定義雙字型別變數版,乙個雙字資料佔4個位元組單元,讀完乙個,權偏移量加4 一開始用了乙個暫存器表示所有項,但是後來發現四個資料佔的位元...

組合語言實驗1 2

小寫字母變為大寫字母 data segment notic db please input the word 0ah,0dh data ends code segment assume cs code,ds data start mov ax,data mov ds,ax 填入ds mov cx,1...

組合語言實驗1 3

輸入10個字元,並反序輸出 data segment dd1 db 10 dup data ends code segment assume cs code,ds data start mov ax,data mov ds,ax lea bx,dd1 dd1的有效位址放入bx中 mov cx,0ah...