本文为《汇编语言程序设计》1002小节例程。点击链接…进课程主页。
功能:计算2的N次方,计算前,N的值由CX提供。
;(下面的程序逻辑上正确,但存在严重错误!)
assume cs:code
code segment
start: mov ax,1
mov cx,3
call s
mov bx,ax
mov ax,4c00h
int 21h
s: add ax,ax
loop s
ret
code ends
end start
下面是正确的程序
; 要设置栈段,以便于call和ret指令使用
assume cs:code, ss:stack
stack segment
db 8 dup (0)
db 8 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,16
mov ax,1000
call s
mov ax,4c00h
int 21h
s: add ax,ax
ret
code ends
end start