主题:[讨论]大虾们,小弟在此请教堆栈最满的问题......
各位大侠们,麻烦帮我看一下这道堆栈最满的问题怎么做啊?没有段地址!?
2.下面是某程序的汇编列表文件,请将程序执行过程中堆栈最满时的状况填入下表。假设程序执行时PSP段地址为1234H。
地址位移量 机器码 汇编语言指令
0000 STACKSG SEGMENT STACK
0000 0020[ DW 32 DUP(?)
????
]
0040 TOP LABEL WORD
0040 STACKSG ENDS
0000 CODESG SEGMENT
ASSUME CS:CODESG,SS:STACKSG
0000 BEGIN PROC FAR
0000 B8 ---- R MOV AX,STACKSG
0003 8E D0 MOV SS,AX
0005 BC 0040 R MOV SP,OFFSET TOP
0008 1E PUSH DS
0009 33 C0 XOR AX,AX
000B 50 PUSH AX
000C 9A 0012 ---- R CALL FAR PTR P1
0011 CB RET
0012 BEGIN ENDP
0012 P1 PROC FAR
0012 9A 0018 ---- R CALL FAR PTR P2
0017 CB RET
0018 P1 ENDP
0018 P2 PROC FAR
0018 CB RET
0019 P2 ENDP
0019 CODESG ENDS
END BEGIN
位移 栈内容
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
SP
2.下面是某程序的汇编列表文件,请将程序执行过程中堆栈最满时的状况填入下表。假设程序执行时PSP段地址为1234H。
地址位移量 机器码 汇编语言指令
0000 STACKSG SEGMENT STACK
0000 0020[ DW 32 DUP(?)
????
]
0040 TOP LABEL WORD
0040 STACKSG ENDS
0000 CODESG SEGMENT
ASSUME CS:CODESG,SS:STACKSG
0000 BEGIN PROC FAR
0000 B8 ---- R MOV AX,STACKSG
0003 8E D0 MOV SS,AX
0005 BC 0040 R MOV SP,OFFSET TOP
0008 1E PUSH DS
0009 33 C0 XOR AX,AX
000B 50 PUSH AX
000C 9A 0012 ---- R CALL FAR PTR P1
0011 CB RET
0012 BEGIN ENDP
0012 P1 PROC FAR
0012 9A 0018 ---- R CALL FAR PTR P2
0017 CB RET
0018 P1 ENDP
0018 P2 PROC FAR
0018 CB RET
0019 P2 ENDP
0019 CODESG ENDS
END BEGIN
位移 栈内容
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
SP