作业帮 > 综合 > 作业

2、试编写一程序计算以下表达式的值.w=(v-(x*y+z-540))/x 式中x、y、z、v均为有符号字数据.设x、y

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/16 11:56:42
2、试编写一程序计算以下表达式的值.w=(v-(x*y+z-540))/x 式中x、y、z、v均为有符号字数据.设x、y
data segment
msgx db 'input x:$'
msgy db 'input y:$'
msgz db 'input z:$'
msgv db 'input v:$'
w db
data ends
code segment
assume ds:data,cs:code
start:
mov ax,data
mov ds,ax
lea dx,msgx
mov ah,9
int 21h
mov ah,1
int 21h
sub al,30h
mov bl,al;输入的X存入BL中
lea dx,msgy
mov ah,9
int 21h
mov ah,1
int 21h
sub al,30h;输入的Y存入AL中
imul bl
mov bx,ax;X*Y存入BX中
lea dx,msgv
mov ah,9
int 21h
mov ah,1
int 21h
sub al,30h;输入的V存入AL中
mov cl,al;输入的V又存入CL中
cbw
sub ax,bx
mov bx,ax;V-(X*Y)的结果存入BX中
lea dx,msgz
mov ah,9
int 21h
mov ah,1
int 21h
sub al,30h;输入的z存入AL中
add bl,al
adc bh,0 ;V-(X*Y)+Z的结果存入BX中
sub bx,540;V-(X*Y)+Z-540的结果存入BX中
idiv cl;(V-(X*Y)+Z)/V的结果存入AL中
mov w,al ;(V-(X*Y)+Z)/V的结果存入W中
mov ax,4c00h
int 21h
code ends
end start