思路:我们可以在程序中定义数据来获取一段空间,然后将这段空间当作栈空间使用。
例如:
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
我们将代码段中32h到64h这段偏移内存当作栈空间来使用,
我们将内存中申请这些空间有两个作用一个是定义数据还有一个就是开辟新的内存空间。 |