在代码段中使用栈

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
assum cs:codesg
code segement

dw 0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H
dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ;用dw定义16个字型数据,在程序加载后,将取得
16个字的内存空间,存放着6个数据。在后面的程
序中将这段空间当作栈来使用
start: mov ax,cs
mov ss,ax
mv sp,30h ;设置栈顶ss:sp指向CS:30

mov bx,0
mov cz,8

s: push cs:[bx]
add bx,2
loop s

s0: pop cs[bx]
add bx,2
loop s0 ;将定义的数据逆序存放

mov ax,4c00h
int 21h
codesg ends
end start