哎,这条指令是多余的,mov ax,dx ;最终结果放入ax,改进一下程序:
assume cs:code
code segment
start:
mov dx,1234
mov bx,dx
mov cx,5 ;如果是dx*1000,cx改成500即可。
mov ax,0 ;ax清0,相当于一个累加器。
s:
mov dx,bx ;每执行一次loop前,dx恢复原值
shl dx,1 ;dx*2
add ax,dx ;用ax累加dx*2的内容
loop s
mov ah,4ch
int 21h
code ends
end start |