assume cs:code, ds:data, ss:stack data segment dw 0123h, 0456h, 0789h, 0abch, 0defh, 0fedh, 0cbah, 0987h; 用来作存放数据 data ends stack segment dw 0, 0, 0, 0, 0, 0, 0, 0; 用来作栈的空间 stack ends code segment start: ; 设置数据段 mov ax, data mov ds, ax ; 设置栈段 mov ax, stack mov ss, ax mov sp, 32; 只要不是32,程序就能正常运行 ; 将8个字都压入栈 mov bx, 0 mov cx, 8 s: push [bx]; add bx, 2 loop s ; 将8个字都弹出栈 mov bx, 0 mov cx, 8 s0: pop [bx] add bx, 2 loop s0 mov ax, 4c00h int 21h code ends end start
初始情况
执行完 mov ss, ax后
对比图
标签:32,代码,sp,mov,ax,bx,stack From: https://www.cnblogs.com/simonYin/p/18204848