Question: The followingProgramWhat is the value in ax after execution? (Use the principle of the Call Command for analysis. Do not follow up in debug to verify your conclusion. For this program, the result of one-step tracking in debug cannot represent the actual execution result of the CPU)
Assume Cs: codesgstack segment DW 8 DUP (0) stack ends codesg segment start: mov ax, stackmov SS, axmov sp, 16mov ds, axmov ax, 0 call word ptr ds: [0eh] Inc axinc axmov ax, 4c00hint 21 h codesg ends end start
Originally, according to the aboveCodeAnalysis: when the call is executed, the first INC ax address is first stack, and the data of DS: [0eh] is used as the IP address to execute the code pointed to by the IP address. The SS and DS here are the same. DS: [0eh] is the top element of the stack, that is, the first address of the first INC Ax just entered into the stack ", therefore, the code to be executed is "the first INC ax" and the final result is 3.
This Code cannot run properly during debugging. I don't know if my analysis is correct. In addition, it is also a problem why the program cannot be properly debugged.