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

减法的汇编程序

发布时间: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怎么连接电视 浏览:595
服务器如何计米数 浏览:220
62256与单片机 浏览:734
python后端开发博客 浏览:616
java动态数组定义 浏览:986
各大网站的服务器地址 浏览:370
服务器连接不到因特网什么意思 浏览:741
如何在文件夹中显示页码 浏览:354
云服务器登不上qq 浏览:419
程序员四级工程师 浏览:717
薄荷app怎么把体重清零 浏览:644
草料二维码加密怎么制作 浏览:851
04s519隔油池图集pdf 浏览:243
程序员搞测试 浏览:554
苹果app应用隐藏了怎么办 浏览:660
PDF调取 浏览:201
独立柱加密需要什么条件 浏览:814
php培训出来找不到工作 浏览:106
小程序克隆源码 浏览:448
python整数整除负数 浏览:880