请使用移位和加减法指令编写一个程序片段计算:AX×21,假设乘积不超过16位。提示:21=24+22+20
代码如下
data segment
sum dw 1 dup(0)
ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov es,ax
mov ax,3
mov dx,ax
shl ax,2
add dx,ax
shl ax,2
add dx,ax
mov sum,dx
mov ax,4c00h
int 21h
ends
end start
运行结果:
结果以十六进制保存