导航:首页 > 编程语言 > 减法的汇编程序

减法的汇编程序

发布时间: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 ;两数相减

阅读全文

与减法的汇编程序相关的资料

热点内容
如何在中国农业银行app绑定银行卡 浏览:989
shopnum1多用户商城系统源码 浏览:742
红包广告平台源码 浏览:769
硬盘格式化时用的dos命令是 浏览:940
找人缓解压力 浏览:934
iphone的pdf 浏览:347
90压缩饼干怎么吃 浏览:665
php教材下载 浏览:912
什么解压密码最好 浏览:587
数据库与服务器如何连接 浏览:441
架构师需要阅读的源码 浏览:480
ch编译器 浏览:455
java必须自己写一个编译器吗 浏览:943
如何制作androidrom 浏览:475
单片机万能板怎么写入程序 浏览:26
迈锐宝xl压缩比 浏览:345
靠算法买彩票 浏览:502
程序员考核d 浏览:242
自助游中国pdf 浏览:752
安卓p40是什么手机 浏览:92