用16位指令编写完整的程序,并上机测试,计算W=(x+y)*z,其中所有变量均为16位带符号变量。
注意伪指令的使用。
Assembly (x86)
data segment
x db 7
y db -3
z db 2
w db ?
data ends;定义数据段,其中X,Y,Z为一个字节,V为16位结果字节
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov dx,0
mov al,x
adc al,y
mov bl,z
imul bl
lea bx,w
mov [bx],ax
add al,30h
mov dl,al
mov ah,02h
int 21h
mov ah,4ch
int 21h
code ends
end start
用16位指令编制程序,处理32位的加减乘除算术四则运算题。
本文计算(3*X+Y-Z)/5的值请看