作业帮 > 数学 > 作业

汇编语言用8086指令集和寄存器做32位有符号数学运算

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/14 10:16:45
汇编语言用8086指令集和寄存器做32位有符号数学运算
用户输入两个有符号数,从-2147483648到2147483647范围的,运算结果要判断溢出,8086的原生寄存器只有16位,所以需要用到拼凑,计算加减乘除就好,要严格按照要求来的,求源代码.
每2小时看一次,能用立刻给分
输入输出的ASC转换我想你是会是,所以就不写了.我只提供32位运算程序.以下程序是试算通过的.
1、在数据段定义4个运算变量
;
subn_32v32 proc near
test cx,cx
jnz sss_1
mov cx,bx
call subn_32v16
xor cx,cx
ret
sss_1:
push di
xor di,di
sss_lp1:
sub ax,bx
sbb dx,cx
jc sss_out
inc di
jmp sss_lp1
sss_out:
add bx,ax
adc cx,dx
mov ax,di
mov dx,0
pop di
ret
subn_32v32 endp