彙編實驗9
1. 補全程式 t1.asm,完成在螢幕上輸出記憶體單元中的十進位制兩位數
; 在螢幕上輸出記憶體單元中的十進位制兩位數
assume cs:code, ds:data
data segment
db 12
db 0,0 ; 前一個位元組用於儲存商,後一個位元組用於儲存餘數
data ends
code segment
start:
mov ax,data
mov ds,ax ; 補全指令,使得
mov ah,0
mov al,ds:[0] ; ax <-- data段位元組單元的被除數12
mov bl,10
div bl
mov ds:[0],al ; 補全程式碼,讓商儲存到
mov ds:[1],ah ; 補全程式碼,讓餘數儲存到data段註釋中指定的單元
mov ah,2
mov dl,ds:[0] ; 補全程式碼,使得dl <-- data段中儲存的商的位元組單元數值
add dl,30h ; 補全程式碼,使得
int 21h
mov ah,2
mov dl,ds:[1] ; 補全程式碼,使得dl <-- data段中儲存餘數的位元組單元數值
mov dl,30h ; 補全程式碼,使得dl中的數值轉換為數字字元
int 21h
mov ax,4c00h
int 21h
code ends
end start
執行結果
2. 補全程式 t2.asm,完成在螢幕上輸出 data 段定義的 5 個十進位制兩位數,資料和資料
之間以空格間隔。
assume cs:code, ds:data
data segment
db 12,35,96,55,67
data ends
code segment
start:
mov ax,data
mov ds,ax
mov bx,0
mov cx,5
s: mov ah,0
mov al,ds:[bx]
mov dl,10
div dl
mov dl,al
mov dh,ah
mov ah,2
add dl,30h
int 21h
mov ah,2
mov dl,dh
add dl,30h
int 21h
mov ah,2
mov dl,0
int 21h
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end start
執行結果
- 教材實驗 9(P187)
assume ds:data, cs:code
data segment
db 'welcome to masm!'
db 2H,24H,71H
data ends
code segment
start: mov ax,data
mov ds,ax
mov ax,0b800H
mov es,ax
mov bx,0
mov bp,16
mov di,071ch
mov cx,3
s: mov bx,cx
mov si,0
mov cx,16
s0: mov ax,0
mov al,[si]
mov ah,[bp]
mov es:[di],ax
inc si
add di,2h
loop s0
add di,80h
mov cx,bx
inc bp
loop s
mov ax,4c00h
int 21h
code ends
end start