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 - 	-	-