班級: 計算機14-1 姓名: 許愷 學號: 2014011329 日期: 2016.4.1
一、編寫程序
1.設有三個無符號的個位數,計算這三個數的平均值(截尾取整),並將這個平均值顯示在屏幕上。
最低要求:三個個位數在數據段中定義,最后結果能顯示在屏幕上。
自由發揮:三個個位數從鍵盤輸入,輸入時有提示(可用9號功能調用輸出字符串),輸出結果也有提示,結果顯示在屏幕上,格式要美觀。
(1)程序清單:
data segment data ends code segment assume cs:code,ds:data main proc far start: mov ah,01h int 21h mov dl,al mov ah,01h int 21h mov dh,al mov ah,01h int 21h add al,dl add al,dh mov ah,00h mov bl,3 div bl mov bl,al mov dl,0ah mov ah,02h int 21h mov dl,0dh mov ah,02h int 21h mov dl,bl mov ah,02h int 21h mov ah,4ch int 21h main endp code ends end start
(2)運行結果(截圖):
2.編程實現對一個無符號32位數的乘4操作,假定該數乘以4之后仍為一個32位數。
說明:兩個變量X、Y分別定義為DD型數據,其中X代表32位無符號數:12345678H的首地址,Y代表以上數據乘以4以后結果的首地址。乘法要用移位來實現。
請參見課件中的例題。最后結果存儲在內存單元中(無需輸出)。
(1)程序清單
data segment x dd 12345678h y dd ? data ends code segment assume cs:code,ds:data main proc far start: mov ax,data mov ds,ax mov ax,word ptr x mov dx,word ptr x+2 shl ax,1 rcl dx,1 shl ax,1 rcl dx,1 mov word ptr y,ax mov word ptr y+2,dx mov ah,4ch int 21h main endp code ends end start
二、編程體會
感覺基本的掌握了,但是關於移位等指令和運算還不熟,還有一些基本的dos指令還不會,應該在這方面補補課。