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

減法的匯編程序

發布時間: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 ;兩數相減

閱讀全文

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

熱點內容
pasword加密原理 瀏覽:452
程序員學習圖 瀏覽:460
烹飪原料pdf 瀏覽:903
抖音自己喜歡的視頻怎麼加密 瀏覽:872
點播電影用什麼伺服器 瀏覽:967
聲音解壓切巧克力 瀏覽:23
如何設置無線ftp伺服器 瀏覽:433
解壓小哥哥舞蹈視頻 瀏覽:492
歷史k線指標源碼 瀏覽:397
php高級程序設計pdf 瀏覽:244
泰格加密狗能幹嘛 瀏覽:944
文件夾中aaa是什麼意思 瀏覽:331
百寶雲app怎麼下載 瀏覽:291
python決策樹源碼 瀏覽:935
高通at指令源碼 瀏覽:516
疫就是命令 瀏覽:47
php讀取根目錄 瀏覽:52
杜魯門pdf 瀏覽:15
窪池指標公式源碼 瀏覽:900
編譯程序添加內核 瀏覽:637