導航:首頁 > 編程語言 > 減法的匯編程序

減法的匯編程序

發布時間:2023-09-20 21:17:17

① 用匯編語言編寫多位元組壓縮bcd碼減法程序,要求顯示被減數,減數及結果

;修改'899',和'999'的長度,即可計算任意長度的相加
;如d10db'18929387499'
;d12db'18234287439'
;補充,這是相加,你要求是相減,搞差了,減法的附在後面

dsegsegment
d10db'899'
len1equ$-d10;注意d10與d12長度相同,可以做不同,但比較麻煩,這里沒做
d11db'+'
d12db'999';長度與d10相同
d13db'=','$'
d2dblen1+1p(0),'$'
dsegends

assumecs:cseg,ds:dseg
csegsegment
start:
movax,dseg
movds,ax

movah,9
leadx,d10
int21h

leasi,d10
leadi,d12
leabx,d2
addsi,len1-1;指向個位數位置
adddi,len1-1;指向個位數位置
addbx,len1;指向個位數位置
movcx,len1;計算器

clc;清除cf
c0:
movah,0;清除ah
moval,[si];取對應位置上的數字相加
andal,0FH;
movdl,[di];
anddl,0FH;
addal,dl;相加
aaa;調整
addal,[bx];加上可能的進位
aaa;再調整
mov[bx],al;保存到對應的位置上
mov[bx-1],ah;可能存在的進位,保存到對應的位置上
decsi;下一位相加
decdi
decbx
loopc0

movcx,len1+1
leabx,d2
c1:
xorbyteptr[bx],30H;將結果轉換為ascII值
incbx
loopc1

movcx,len1
leabx,d2
c2:
moval,[bx];查找結果中,第1個結果不是0的數字
cmpal,30H;從此開始顯示結果,以免出現0123這樣的結果
jnzp0
incbx
loopc2
p0:
movdx,bx
movah,9
int21h

movah,4ch
int21h
csegends
endstart

;這是減法的代碼
;有個bug,被減數必須大於減數時才正確。
;暫時先這樣
dsegsegment
d10db'991'
len1equ$-d10;注意d10與d12長度相同,可以做不同,但比較麻煩,這里沒做
d11db'-'
d12db'192';長度與d10相同
d13db'=','$'
d2dblen1+1p(0),'$'
dsegends

assumecs:cseg,ds:dseg
csegsegment
start:
movax,dseg
movds,ax

movah,9
leadx,d10
int21h

leasi,d10
leadi,d12
leabx,d2
addsi,len1-1;指向個位數位置
adddi,len1-1;指向個位數位置
addbx,len1;指向個位數位置
movcx,len1;計算器

clc;清除cf
c0:
movah,0;清除ah
moval,[si];取對應位置上的數字相加
andal,0FH;
movdl,[di];
anddl,0FH;

subal,[bx];減去可能的借位
aas;再調整

subal,dl;相減
aas;調整

negah;如有借位,轉換為正數1
mov[bx],al;保存到對應的位置上
mov[bx-1],ah;可能存在的進位,保存到對應的位置上
decsi;下一位相加
decdi
decbx
loopc0

movcx,len1+1
leabx,d2
c1:
xorbyteptr[bx],30H;將結果轉換為ascII值
incbx
loopc1

movcx,len1
leabx,d2
c2:
moval,[bx];查找結果中,第1個結果不是0的數字
cmpal,30H;從此開始顯示結果,以免出現0123這樣的結果
jnzp0
incbx
loopc2
p0:
movdx,bx
movah,9
int21h

movah,4ch
int21h
csegends
endstart

② 實現兩個數相減的匯編語言程序

;80x86匯編程序例子:
CLS ;清進桐梁位(借位)標志
MOV BL,0AH ;被減數送BL
MOV CL,05H ;減數銀局送鋒輪讓CL
SUB BL,CL ;兩數相減

閱讀全文

與減法的匯編程序相關的資料

熱點內容
高通at指令源碼 瀏覽:516
疫就是命令 瀏覽:47
php讀取根目錄 瀏覽:52
杜魯門pdf 瀏覽:15
窪池指標公式源碼 瀏覽:900
編譯程序添加內核 瀏覽:637
如何讓吃雞蘋果號登錄安卓號 瀏覽:72
伺服器名稱怎麼查詢 瀏覽:432
直播要怎麼推廣app 瀏覽:76
安卓10id如何計算 瀏覽:601
求3的倍數python 瀏覽:675
江蘇好伺服器優質推薦雲空間 瀏覽:139
用php做一個留言板 瀏覽:226
app灰色頁面怎麼回事 瀏覽:57
最長連續遞減子序列python 瀏覽:154
電腦編譯系統有哪些 瀏覽:914
新建的文件夾另一部手機讀不出來 瀏覽:989
怎麼把安卓app傳到新iphone 瀏覽:37
安卓伺服器如何關閉 瀏覽:581
linux登陸不了 瀏覽:553