實驗九(施工中)
阿新 • • 發佈:2018-12-05
1)
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:[1],al ; 補全程式碼,讓商儲存到data段註釋中指定的單元 mov ds:[2],ah ; 補全程式碼,讓餘數儲存到data段註釋中指定的單元 mov ah,2 mov dl,ds:[1] ; 補全程式碼,使得dl <-- data段中儲存的商的位元組單元數值 add dl,30h; 補全程式碼,使得dl中的數值轉換為數字字元 int 21h mov ah,2 mov dl,ds:[2] ; 補全程式碼,使得dl <-- data段中儲存餘數的位元組單元數值 add dl,30h ; 補全程式碼,使得dl中的數值轉換為數字字元 int 21h mov ax,4c00h int 21h code ends end start
2)
assume cs:code, ds:data data segment db 12,35,96,55,67 db 10 dup(0) data ends code segment start: mov ax,data mov ds,ax mov bx,0 mov cx,5 s: mov al,ds:[bx] mov ah,0 mov dl,10 div dl or ah,00110000b or al,00110000b mov ds:[bx+5],al mov ds:[bx+6],ah mov ah,2 mov dl,ds:[bx+5] int 21h mov ah,2 mov dl,ds:[bx+6] int 21h mov ah,2 mov dl,' ' int 21h inc bx loop s mov ax,4c00h int 21h code ends end start
3)
assume ds:data, cs:code data segment db 'welcome to masm!' db 2H,24H,71H data ends stacksg segment dw 8 dup(0) stacksg ends code segment start: mov ax,data mov ds,ax mov ax,0b800H mov es,ax mov cx,3 mov di,0 mov si,06E0h s0: push cx mov al,ds:[16+di] mov bx,0 mov cx,16 s1: mov dl,ds:[bx] mov byte ptr es:[si],dl mov byte ptr es:[si+1],al inc bx add si,2 loop s1 add si,128 inc di pop cx loop s0 mov ax,4c00h int 21h code ends end start