本文主要是介绍call 和 ret 的配合使用(1002),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文为《汇编语言程序设计》1002小节例程。点击链接…进课程主页。
功能:计算2的N次方,计算前,N的值由CX提供。
;(下面的程序逻辑上正确,但存在严重错误!)
assume cs:code
code segment
start: mov ax,1mov cx,3call smov bx,ax mov ax,4c00hint 21hs: add ax,axloop sret
code ends
end start
下面是正确的程序
; 要设置栈段,以便于call和ret指令使用
assume cs:code, ss:stack
stack segmentdb 8 dup (0)db 8 dup (0)
stack ends
code segment
start: mov ax,stack mov ss,axmov sp,16mov ax,1000call s mov ax,4c00hint 21h s: add ax,ax ret
code ends
end start
这篇关于call 和 ret 的配合使用(1002)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!