寫給自己的一些題外話:這個題目做了兩天。這幾天狀態一直不太好,書都看不進去,題也看不進去。。
名稱: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...