入栈的字是:dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
完整程序以下:
assume cs:code
code segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
dw 0,0,0,0,0,0,0,0 ;做栈用的8个字单元
start1: ;程序入口
mov ax,cs
mov ss,ax ;ss=cs
mov ax,32
mov sp,ax ;sp=32d=20F=ip
mov cx,8 ;循环次数
mov bx,0 ;字地址
a: push cs:[bx] ;入栈
add bx,2 ;下一个字
loop a ;这个loop循环后就错了,cs:0到f的内容发生了改变
mov cx,8
mov bx,0
b: pop cs:[bx]
add bx,2
loop b
mov ax,4c00h
int 21h
code ends 怎么运行后 前4个字是按逆序存放的 后4个字就全变了 还有8个字数据 怎么要用16字作为栈段 |