[汇编学习]在代码段使用栈

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:56   1699   0

思路:我们可以在程序中定义数据来获取一段空间,然后将这段空间当作栈空间使用。

例如:

Assumecs:code
Codesegment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
dw 0,0,0,0,0,0,0,0
 
;用dw定义16个字型数据,在程序加载后,将获取16个字的内存空间,存放这16个数。在后面的程序中将用这段内存当作栈使用。
 
start: mov ax ,cs
  mov ss ,ax
  mov sp,30h
  
  mov bx,0
  mov cx,8
s:push cs:[bx]
  add bx ,2
 
  loop s
 
  Mov bx ,0
  Mov cx ,8
 
S0:pop cs:[bx]
   add bx,2
   loop s0
 
   Mov ax ,4c00h
   Int 21h
   Code ends
End start



我们将代码段中32h64h这段偏移内存当作栈空间来使用,

我们将内存中申请这些空间有两个作用一个是定义数据还有一个就是开辟新的内存空间。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP