assume cs:code, ds:data, ss:stackdata segmentdw 0123h, 0456h, 0789h, 0abch, 0defh, 0fedh, 0cbah, 0987h; 用来作存放数据 data endsstack segmentdw 0, 0, 0, 0, 0, 0, 0, 0; 用来作栈的空间 stack ends code segmentstart:; 设置数据段mov ax, datamov ds, ax ; 设置栈段mov ax, stackmov ss, axmov sp, 32; 只要不是32,程序就能正常运行; 将8个字都压入栈mov bx, 0mov cx, 8 s: push [bx]; add bx, 2loop s; 将8个字都弹出栈mov bx, 0mov cx, 8 s0: pop [bx]add bx, 2loop s0mov ax, 4c00hint 21hcode endsend start
初始情况
执行完 mov ss, ax后
对比图