汇编题目求解
请问这类题目该怎么解答,希望有大神可以给个思路{:5_96:}下面是某程序的汇编列表文件,请将程序执行过程中堆栈最满时每个单元的内容填入下表。假设程序执行时PSP(Program Segment Prefix)段地址为1C3BH,stack段的段地址为1C4BH,code1段的段地址为1CABH,code2的段地址为1CADH。 地 址 机器码 汇编语言指令 0000 STACK SEGMENT STACK 00000030 DW 30H DUP(0) 0060 TOP LABEL WORD 0060 STACK ENDS 0000 CODE1 SEGMENT ASSUMECS:CODE1,SS:STACK 0000 P1 PROC FAR 0000B8 ---- R MOV AX,STACK 00038E D0 MOV SS,AX 00058D 26 0060 R LEA SP,TOP 00091E PUSH DS 000A33 C0 XOR AX,AX 000C50 PUSH AX 000DB8 0100MOV AX,0100H 00109A 000C ---- RCALL FAR PTR P4 00152E: A3 001A R MOV CS:,AX 0019CB RET 001A???? ANS DW ? 001C P1 ENDP 001C P2 PROC FAR 001C05 0030ADD AX,30H 001FCB RET 0020 P2 ENDP 0020 CODE1 ENDS 0000 CODE2 SEGMENT ASSUMECS:CODE2 0000 P3 PROC NEAR 000005 0010ADD AX,10H 00039A 001C ---- RCALL FAR PTR P2 000805 0020ADD AX,20H 000BC3 RET 000C P3 ENDP 000C P4 PROC FAR 000C05 0030ADD AX,30H 000FE8 0000 R CALL NEAR PTR P3 001205 0040ADD AX,40H 0015CB RET 0016 P4 ENDP 0016 CODE2 ENDS END P1
偏移地址 栈内容
( )
( )
( )
( )
( )
( )
( )
SP
看不懂汇编飘过~~ 不是很明白题目问什么,但应该是填sp随着栈变化的偏移地址吧,以及相应栈的变化内容。 写的是什么东东, 天书呀,
让别人怎么看吗,,
把格式做好一点吗,,
我看你不是结绝问题而是和大家开玩笑吗,, 如果楼主需要的是解题的思路,楼主看看我的回答可不可以(单如果要读懂理清这个程序还比较的困难)~~~~就答题而言,楼主可先看他要填的东西~~~要填写的是一个“栈”对吧,他要填写的就是栈里边的内容。好我们由此可以,推断就是跟着push来走。他第一个push推入栈的肯定是在栈底。那我们就要计算出它每一个push进栈里边的值,按照最新进去的在栈底这样子来写~~~~在这里特别要小心的就是要看清楚它里边有没有改变栈顶指针SP的指令,或者者每一个会改变栈里边值的指令。我的解题思路就是这样子的。希望对楼主有所帮助~~~~ 不是很明白题目问什么 有点凌乱的排版:lol 看不懂汇编路过~~~
页:
[1]