令人惊讶的是,PUSH 到完整堆栈的物理结果是什么当为堆栈仅分配 2 个字节 [1 个字] 并 PUSH 三个字,然后将它们弹出到不同的寄存器中时,它完成时没有任何错误当 PUSHing 时,我能说一下堆栈内容吗第二项
这是堆栈段定义:
Stack_segment_name segment para stack
db 2 dup(0) ;define your stack segment
Stack_segment_name ends
Run Code Online (Sandbox Code Playgroud)
这是代码:
Code_segment_name segment
Main_prog PROC FAR
assume SS:Stack_segment_name,CS:Code_segment_name,DS:Data_segment_name,ES:Data_segment_name
MOV AX,Data_segment_name ; load the starting address of the data
MOV DS,AX ; segment into DS reg.
MOV AX,1715H
MOV BX,1518H
MOV CX,2944H
PUSH AX
PUSH BX
PUSH CX
POP SI
POP DI
POP DX
MOV AH,4CH
INT 21H
Main_prog endp
Code_segment_name ends
end Main_prog
Run Code Online (Sandbox Code Playgroud)
执行代码后:
SI=2944H …Run Code Online (Sandbox Code Playgroud)