求一道8086汇编程序

来源:百度知道 编辑:UC知道 时间:2024/05/15 19:36:38
x,y,z均为双精度(32位)数,分别存放在地址为x,x+2,y,y+2,z,z+2的存储单元中,用指令序列实现w=x+y+24-z
并用w,w+2单元存放w

logo0775写了些什么呀,根本就不是楼主问的。下面是我的答案,调试通过了,结果正确。
dseg segment
x dw 1234H,5678H
y dw 2345H,6789H
z dw 4637H,3765H
w dw ?,?
dseg ends
cseg segment
assume cs:cseg,ds:dseg
begin: mov ax,dseg
mov ds,ax
mov ax,x
add ax,y
mov bx,x+2
adc bx,y+2
add ax,24
adc bx,0
sub ax,z
sbb bx,z+2
mov w,ax
mov w+2,bx
mov ah,4ch
int 21h
cseg ends
end begin

;-------------------------------
;数据段定义:
datarea segment
;定义缓冲区接收用户输入的查找范围字符串
buf db 10
db ?
db 10 dup(?)
;定义输入是否有非数字字符标志
just db 1
;用以权值的增加或减少
factor dw 10
;输入数字的每一位的权值
mulfactor dw