code segment
dw 0123H,0456H,0789H,0ABCH,0DEFH,0CBAH,0987H ;自己定义的数据
dw 0,0,0,0,0,0,0,0
dw 0,0,0,0,0,0,0,0 ;32个字节当作我们自己安排的栈空间
start: ;数据从这里开始
mov ax,cs ;将cs寄存器的数据送给ax
mov ss,ax ;再将ax的数据送给栈段
mov sp,48 ;栈指针寄存器设置为48,是因为自定义的0数据就有32个,再加上初始数据16个,一共48
mov bx,0 ;偏移地址为0
mov cx,8 ;循环8次
pushData:
push cs:[bx] ;push入栈指令
add bx,2 ;bx的值每次加2
loop pushData ;loop 循环指令
popData: pop cs:[bx] ;出栈指令
add bx,2
loop popData
mov ax,4C00H
int 21H ;默认
end start ;数据在这里结束