小弟求救,高手快来帮我解决下 汇编语言程序~~~!!!

来源:百度知道 编辑:UC知道 时间:2024/06/25 03:37:36
试编制汇编语言程序,并按公式S=((X+Y)/8-Z)*2 计算S的值,并将结果保存在一个内存变量S中。假设X,Y,Z为16位无符号数据,初值分别为10,6,1

;因为X Y Z 是16位的,所以用32位的S来存放结果
data segment
x dw 10
y dw 6
z dw 1
sl dw ?
sh dw ?
data ends

code segment
assume cs:code
start:
mov ax,data
mov ds,ax

xyadd:
mov ax,x
add ax,y

mov sl,ax
jnc div8
mov sh,1

div8:
mov dx,sh
mov bx,8
div bx
mov sl,ax ;商送w
mov sh,0

subz:
sub ax,1
mul2:
mov bx,2
mul bx

mov sl,ax
mov sh,dx

mov ah,4ch
int 21h

code ends
end start