Unformatted text preview: get is at absolute address 0x8048d44. According to the byte encoding, this must be at an address 0x54 bytes beyond that of the mov instruction. Subtracting these gives address 0x8048cf0, as conﬁrmed by the disassembled code:
8048cee: 8048cf0: eb 54 c7 45 f8 10 00 jmp mov 8048d44 $0x10,0xfffffff8(%ebp) C. The target is at offset 000000cb relative to 0x8048907 (the address of the nop instruction). Summing these gives address 0x80489d2.
8048902: 8048907: e9 cb 00 00 00 90 jmp nop 80489d2 D. An indirect jump is denoted by instruction code ff 25. The address from which the jump target is to be read is encoded explicitly by the following 4 bytes. Since the machine is little endian, these are given in reverse order as e0 a2 04 08.
80483f0: 80483f5: ff 25 e0 a2 04 08 jmp *0x804a2e0 B.3. MACHINE LEVEL REPRESENTATION OF C PROGRAMS
Problem 3.9 Solution: [Pg. 119] 703 Annotating assembly code and writing C code that mimics its control ﬂow are good ﬁrst steps in understanding assembly language programs. This problem gives you practice for an exampl...
View Full Document