汇编语言 四则运算

来源:百度知道 编辑:UC知道 时间:2024/06/03 18:26:13
编写一个程序w1-(b1*b2+w2) 结果送屏幕显示。b是字节,w是字。

假设w1=5000,b1=5,b2=5,w2=30000

data segment
w1 dw 5000
b1 db 5
b2 db 5
w2 dw 30000
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov al,b1
mov bl,b2
mul bl
add ax,w2
mov bx,w1
sub bx,ax;-----------------计算完成
cmp bx,0
;输出转换前判断是否是正数,不是正数则在前面输出一个"-",然后把

;数取反加1,换成正数,再转换。
jge XXX
mov ah,02h
mov dl,2DH;输出负号
int 21h
not bx
inc bx
XXX:;--------------------正数的输出转换开始
mov ax,bx
cwd
mov cx,10000
div cxpush dx
add al,30h
mov dl,al
mov ah,02
int 21h
pop ax
cwd
mov cx,1000
div cx
push dx
add al,30h
mov dl,al
mov ah,02h
int 21h
pop ax
cwd
mov cx,100
div cx
push dx
add al,30h
mov dl,al
mov ah,02h
int 21h
pop ax
cwd
mov cx