實驗10 編寫子程式2解決除法溢位的問題

2021-08-20 19:41:12 字數 690 閱讀 5003

分析:

前面大概都能看懂,主要書那個公式是怎樣分析出來的,理解後**就很簡單了。

好比如乙個最大存99的數,你要計算1012/3;

先拿出10/3 = 3;注意這個就是餘數的最高位

然後剩下(1*100+12)/3,不用說,這個就是低位,你可以筆算來模擬一下你是怎樣算出1012/3你就知道我說啥了。

他為什麼會有65535這個數字,其實就是ax暫存器最大的數值。

公式x/n中,int那部分就是除數的高位,那麼剩下的就是低位了。

assume cs:codesg

codesg segment

start:

mov ax,4240h

mov dx,000fh

mov cx,0ah

call divdw

mov ax,4c00h

int 21h

divdw:

mov bx,ax

mov ax,dx

mov dx,0

div cx ;計算int的內容

push ax ;入棧儲存高位數

mov ax,bx

div cx ;計算後面的內容

mov cx,dx

pop dx ;出站到高位數

retcodesg ends

end start

實驗11 編寫子程式

分析 這次試驗難度已經大大下降,個人感覺 只是要你熟悉cmp的用法,對比好a和z後就將這個字母的第5位變為0就可以了 assume cs codesg datasg segment db beginner s all purpose symbolic instruction code.0 datas...

王爽《組合語言》實驗10 編寫子程式

前幾個實驗都沒記錄,實驗10想記錄一下!名稱 show str 功能 指定位置,指定顏色,顯示乙個以數字0結束的字串 引數 dh 行號,dl 列號,cl 顏色,ds si 字串 返回 無 ds si 字串首位址 dh行號 dl列號 cl顏色 暫存器均不會被修改 show str push es pu...

組合語言 實驗10 編寫子程式 1 顯示字串

assume cs code data segment db hello world 0 data ends code segment start mov dh,8 行 mov dl,3 列 mov cl,3 顏色 mov ax,data mov ds,ax 資料暫存器 mov si,0 資料暫存器...