设栈指针SP的初值为2400H,AX=4000H,BX=3600H.问1)执行指令‘PUSH AX’后,SP=? 2)再执行“PUSH BX”和

✀POP AX✀后,(SP)=? (AX)=? (BX)=?
2024-12-26 02:22:46
推荐回答(1个)
回答1:

AB寄存器和sp都是16位的
push入栈是把数据压入栈段,pop出栈把数据从栈段中拿出来
push ax 需两个字节,故sp-2=23FE,4000入栈,ax=4000h,bx=3600h
push bx需连个字节,故sp-2-2=23FC, 4000 入栈3600,ax=4000h,bx=3600h
pop ax废弃两个字节,故sp-2-2+2=23FE, 4000 3600 出栈3600,ax=3600h,bx=3600h
栈是先进后出的