1. 程式人生 > >彙編實驗9

彙編實驗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       ; 補全指令,使得

ds <-- data段地址

      

      mov ah,0

      mov al,ds:[0]   ; ax <-- data段位元組單元的被除數12

      mov bl,10

      div bl

      mov  ds:[0],al    ; 補全程式碼,讓商儲存到

data段註釋中指定的單元

      mov  ds:[1],ah    ; 補全程式碼,讓餘數儲存到data段註釋中指定的單元

 

      mov ah,2

      mov dl,ds:[0]    ; 補全程式碼,使得dl <-- data段中儲存的商的位元組單元數值

      add dl,30h     ; 補全程式碼,使得

dl中的數值轉換為數字字元

      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

執行結果

 

 

  1. 教材實驗 9P187

 

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