Listing 3
---- ----------------------- ----------------------------------
// A portion of the instruction and data trace for the program shown in Listings 1 and 2. This information is all that is required
// to infer register and memory values for the TimeMachine Debugger
-------------------- ------ ----------
Line Address Instruction Data Address Access Value
---- ----------------------- ---------------------------------- -------------------- ------ ----------
0 0x000000ec main STMDB SP!, {R4,R5,R8,R9,LR} 0x00182264 (.stack) W 0x00000000
0x00182268 (.stack) W 0x00000000
0x0018226c (.stack) W 0x00182310
0x00182270 (.stack) W 0x00182308
0x00182274 (.stack) W 0x00001b1c
1 0x000000f0 main+0x4 SUB SP, SP, 40 - - -
2 0x000000f4 main+0x8 MOV R2, R0 - - -
3 0x000000f8 main+0xc MOV R4 <found>, 0 - - -
4 0x000000fc main+0x10 MOV IP, SP - - -
5 0x00000100 main+0x14 LDR R5,[PC,92](0x1 0x00000164 (.text) R 0x00001c10
6 0x00000104 main+0x18 LDMIA R5!, {R2,R3} 0x00001c10 (.rodata) R 0x00000001
0x00001c14 (.rodata) R 0x00000001
7 0x00000108 main+0x1c STMIA IP!, {R2,R3} 0x0018223c (.stack) W 0x00000001
0x00182240 (.stack) W 0x00000001
8 0x0000010c main+0x20 LDMIA R5!, {R2,R3} 0x00001c18 (.rodata) R 0x00000002
0x00001c1c (.rodata) R 0x00000003
9 0x00000110 main+0x24 STMIA IP!, {R2,R3} 0x00182244 (.stack) W 0x00000002
0x00182248 (.stack) W 0x00000003
10 0x00000114 main+0x28 LDMIA R5!, {R2,R3} 0x00001c20 (.rodata) R 0x00000005
0x00001c24 (.rodata) R 0x00000008
11 0x00000118 main+0x2c STMIA IP!, {R2,R3} 0x0018224c (.stack) W 0x00000005
0x00182250 (.stack) W 0x00000008
12 0x0000011c main+0x30 LDMIA R5!, {R2,R3} 0x00001c28 (.rodata) R 0x0000000d
0x00001c2c (.rodata) R 0x00000015
13 0x00000120 main+0x34 STMIA IP!, {R2,R3} 0x00182254 (.stack) W 0x0000000d
0x00182258 (.stack) W 0x00000015
14 0x00000124 main+0x38 LDMIA R5, {R2,R3} 0x00001c30 (.rodata) R 0x00000022
0x00001c34 (.rodata) R 0x00000037
15 0x00000128 main+0x3c STMIA IP, {R2,R3} 0x0018225c (.stack) W 0x00000022
0x00182260 (.stack) W 0x00000037
16 0x0000012c main+0x40 MOV R0, SP - - -
17 0x00000130 main+0x44 MOV R2, 3 - - -
18 0x00000134 main+0x48 MOV R1, 10 - - -
19 0x00000138 main+0x4c BL 0xffffff68(search (0xa8)) - - -
20 0x000000a8 search STMDB SP!, {R8,R9} 0x00182234 (.stack) W 0x00182310
0x00182238 (.stack) W 0x00182308
21 0x000000ac search+0x4 MOV R3 <i>, 0 - - -
22 0x000000b0 search+0x8 B 0x20(search+0x30 (0xd8)) - - -
23 0x000000d8 search+0x30 CMP R3 <i>, R1 <array_len> - - -
24 0x000000dc search+0x34 BLT 0xffffffd0(search+0xc (0xb4)) - - -
25 0x000000b4 search+0xc MOV IP, R3 <i> - - -
26 0x000000b8 search+0x10 MOV IP, IP, LSL 2 - - -
27 0x000000bc search+0x14 ADD IP, IP, R0 <array> - - -
28 0x000000c0 search+0x18 LDR IP,[IP] 0x0018223c (.stack) R 0x00000001
29 0x000000c4 search+0x1c CMP IP, R2 <key> - - -
30 0x000000c8 search+0x20 BNE 0x4(search+0x2c (0xd4))- - -
31 0x000000d4 search+0x2c ADD R3 <i>, R3 <i>, 1 - - -
32 0x000000d8 search+0x30 CMP R3 <i>, R1 <array_len> - - -
33 0x000000dc search+0x34 BLT 0xffffffd0(search+0xc (0xb4)) - - -
34 0x000000b4 search+0xc MOV IP, R3 <i> - - -
35 0x000000b8 search+0x10 MOV IP, IP, LSL 2 - - -
36 0x000000bc search+0x14 ADD IP, IP, R0 <array> - - -
37 0x000000c0 search+0x18 LDR IP,[IP] 0x00182240 (.stack) R 0x00000001
38 0x000000c4 search+0x1c CMP IP, R2 <key> - - -
39 0x000000c8 search+0x20 BNE 0x4(search+0x2c (0xd4)) - - -
40 0x000000d4 search+0x2c ADD R3 <i>, R3 <i>, 1 - - -
41 0x000000d8 search+0x30 CMP R3 <i>, R1 <array_len> - - -
42 0x000000dc search+0x34 BLT 0xffffffd0(search+0xc (0xb4)) - - -
43 0x000000b4 search+0xc MOV IP, R3 <i> - - -
44 0x000000b8 search+0x10 MOV IP, IP, LSL 2 - - -
45 0x000000bc search+0x14 ADD IP, IP, R0 <array> - - -
46 0x000000c0 search+0x18 LDR IP,[IP] 0x00182244 (.stack) R 0x00000002
47 0x000000c4 search+0x1c CMP IP, R2 <key> - - -
48 0x000000c8 search+0x20 BNE 0x4(search+0x2c (0xd4))- - -
49 0x000000d4 search+0x2c ADD R3 <i>, R3 <i>, 1 - - -
50 0x000000d8 search+0x30 CMP R3 <i>, R1 <array_len> - - -
51 0x000000dc search+0x34 BLT 0xffffffd0(search+0xc (0xb4)) - - -
52 0x000000b4 search+0xc MOV IP, R3 <i> - - -
53 0x000000b8 search+0x10 MOV IP, IP, LSL 2 - - -
54 0x000000bc search+0x14 ADD IP, IP, R0 <array> - - -
55 0x000000c0 search+0x18 LDR IP,[IP] 0x00182248 (.stack) R 0x00000003
56 0x000000c4 search+0x1c CMP IP, R2 <key> - - -
57 0x000000c8 search+0x20 BNE 0x4(search+0x2c (0xd4))- - -
58 0x000000cc search+0x24 MOV R0 <array>, 1 - - -
59 0x000000d0 search+0x28 B 0xc(search+0x3c (0xe4))- - -
60 0x000000e4 search+0x3c LDMIA SP!, {R8,R9} 0x00182234 (.stack) R 0x00182310
0x00182238 (.stack) R 0x00182308
61 0x000000e8 search+0x40 MOV PC, LR - - -
62 0x0000013c main+0x50 MOV R1, R0 - - -
63 0x00000140 main+0x54 CMP R1, 0 - - -
64 0x00000144 main+0x58 BEQ 0x0(main+0x60 (0x14c)) - - -
65 0x00000148 main+0x5c ADD R4 <found>, R4 <found>, 1 - - -