📄 dhry_1.lst
字号:
\ 00000088 FBFFFF1A BNE ??testloop_2
183
184 Arr_2_Glob [8][7] = 10;
\ 0000008C 2C619FE5 LDR R6,??testloop_0+12 ;; #Arr_2_Glob
\ 00000090 0A00A0E3 MOV R0,#+0xA
\ 00000094 5C0686E5 STR R0,[R6, #+1628]
185 /* Was missing in published program. Without this statement, */
186 /* Arr_2_Glob [8][7] would have an undefined value. */
187 /* Warning: With 16-Bit processors and Number_Of_Runs > 32000, */
188 /* overflow may occur for this array element. */
189
190
191 /***************/
192 /* Start loop */
193 /***************/
194
195 for (Run_Index = 1; Run_Index <= Number_Of_Runs; ++Run_Index)
\ 00000098 0170A0E3 MOV R7,#+0x1
\ 0000009C 1C0000EA B ??testloop_3
196 {
197 Proc_5();
198 Proc_4();
199 /* Ch_1_Glob == 'A', Ch_2_Glob == 'B', Bool_Glob == true */
200 Int_1_Loc = 2;
201 Int_2_Loc = 3;
202 strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING");
203 Enum_Loc = Ident_2;
204 Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc);
205 /* Bool_Glob == 1 */
206 while (Int_1_Loc < Int_2_Loc) /* loop body executed once */
207 {
208 Int_3_Loc = 5 * Int_1_Loc - Int_2_Loc;
209 /* Int_3_Loc == 7 */
210 Proc_7 (Int_1_Loc, Int_2_Loc, &Int_3_Loc);
211 /* Int_3_Loc == 7 */
212 Int_1_Loc += 1;
213 } /* while */
214 /* Int_1_Loc == 3, Int_2_Loc == 3, Int_3_Loc == 7 */
215 Proc_8 (Arr_1_Glob, Arr_2_Glob, Int_1_Loc, Int_3_Loc);
216 /* Int_Glob == 5 */
217 Proc_1 (Ptr_Glob);
218 for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index)
219 /* loop body executed twice */
220 {
221 if (Enum_Loc == Func_1 (Ch_Index, 'C'))
\ ??testloop_4:
\ 000000A0 0490DDE5 LDRB R9,[SP, #+4]
\ 000000A4 4310A0E3 MOV R1,#+0x43
\ 000000A8 0800A0E1 MOV R0,R8
\ 000000AC ........ BL Func_1
\ 000000B0 FF0000E2 AND R0,R0,#+0xFF ;; Zero extend
\ 000000B4 000059E1 CMP R9,R0
\ 000000B8 0900001A BNE ??testloop_5
222 /* then, not executed */
223 {
224 Proc_6 (Ident_1, &Enum_Loc);
\ 000000BC 04108DE2 ADD R1,SP,#+0x4
\ 000000C0 0000A0E3 MOV R0,#+0x0
\ 000000C4 ........ BL Proc_6
225 strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING");
\ 000000C8 F4009FE5 LDR R0,??testloop_0+16 ;; #`?<Constant "DHRYSTONE PROGRAM, 3\\'...">`
\ 000000CC 05108DE2 ADD R1,SP,#+0x5
\ ??testloop_6:
\ 000000D0 ........ LDRB R2,[R0], #+1
\ 000000D4 ........ STRB R2,[R1], #+1
\ 000000D8 000052E3 CMP R2,#+0x0
\ 000000DC FBFFFF1A BNE ??testloop_6
226 Int_2_Loc = Run_Index;
227 Int_Glob = Run_Index;
\ 000000E0 D07085E5 STR R7,[R5, #+208]
228 }
229 }
\ ??testloop_5:
\ 000000E4 018088E2 ADD R8,R8,#+0x1
\ ??testloop_7:
\ 000000E8 C900D5E5 LDRB R0,[R5, #+201]
\ 000000EC FF8008E2 AND R8,R8,#+0xFF ;; Zero extend
\ 000000F0 080050E1 CMP R0,R8
\ 000000F4 E9FFFF2A BCS ??testloop_4
230 /* Int_1_Loc == 3, Int_2_Loc == 3, Int_3_Loc == 7 */
231 Int_2_Loc = Int_2_Loc * Int_1_Loc;
232 Int_1_Loc = Int_2_Loc / Int_3_Loc;
233 Int_2_Loc = 7 * (Int_2_Loc - Int_3_Loc) - Int_1_Loc;
234 /* Int_1_Loc == 1, Int_2_Loc == 13, Int_3_Loc == 7 */
235 Proc_2 (&Int_1_Loc);
\ 000000F8 C810D5E5 LDRB R1,[R5, #+200]
\ 000000FC 410051E3 CMP R1,#+0x41
\ 00000100 0200000A BEQ ??testloop_8
\ ??testloop_9:
\ 00000104 FF0000E2 AND R0,R0,#+0xFF ;; Zero extend
\ 00000108 000050E3 CMP R0,#+0x0
\ 0000010C FCFFFF1A BNE ??testloop_9
\ ??testloop_8:
\ 00000110 017087E2 ADD R7,R7,#+0x1
\ ??testloop_3:
\ 00000114 070054E1 CMP R4,R7
\ 00000118 230000BA BLT ??testloop_10
\ 0000011C 4100A0E3 MOV R0,#+0x41
\ 00000120 C800C5E5 STRB R0,[R5, #+200]
\ 00000124 0100A0E3 MOV R0,#+0x1
\ 00000128 CC0085E5 STR R0,[R5, #+204]
\ 0000012C 4200A0E3 MOV R0,#+0x42
\ 00000130 C900C5E5 STRB R0,[R5, #+201]
\ 00000134 8C009FE5 LDR R0,??testloop_0+20 ;; #`?<Constant "DHRYSTONE PROGRAM, 2\\'...">`
\ 00000138 05108DE2 ADD R1,SP,#+0x5
\ ??testloop_11:
\ 0000013C ........ LDRB R2,[R0], #+1
\ 00000140 ........ STRB R2,[R1], #+1
\ 00000144 000052E3 CMP R2,#+0x0
\ 00000148 FBFFFF1A BNE ??testloop_11
\ 0000014C 0100A0E3 MOV R0,#+0x1
\ 00000150 0400CDE5 STRB R0,[SP, #+4]
\ 00000154 05108DE2 ADD R1,SP,#+0x5
\ 00000158 24008DE2 ADD R0,SP,#+0x24
\ 0000015C ........ BL Func_2
\ 00000160 000050E3 CMP R0,#+0x0
\ 00000164 0100A003 MOVEQ R0,#+0x1
\ 00000168 0000A013 MOVNE R0,#+0x0
\ 0000016C CC0085E5 STR R0,[R5, #+204]
\ 00000170 0700A0E3 MOV R0,#+0x7
\ 00000174 00008DE5 STR R0,[SP, #+0]
\ 00000178 0D20A0E1 MOV R2,SP
\ 0000017C 0310A0E3 MOV R1,#+0x3
\ 00000180 0200A0E3 MOV R0,#+0x2
\ 00000184 ........ BL Proc_7
\ 00000188 00309DE5 LDR R3,[SP, #+0]
\ 0000018C 0320A0E3 MOV R2,#+0x3
\ 00000190 0610A0E1 MOV R1,R6
\ 00000194 0500A0E1 MOV R0,R5
\ 00000198 ........ BL Proc_8
\ 0000019C D80095E5 LDR R0,[R5, #+216]
\ 000001A0 ........ BL Proc_1
\ 000001A4 4180A0E3 MOV R8,#+0x41
\ 000001A8 CEFFFFEA B ??testloop_7
236 /* Int_1_Loc == 5 */
237
238 } /* loop "for Run_Index" */
239
240 }
\ ??testloop_10:
\ 000001AC 44D08DE2 ADD SP,SP,#+0x44 ;; stack cleaning
\ 000001B0 F083BDE8 LDMIA SP!,{R4-R9,PC} ;; return
\ 000001B4 DATA
\ ??testloop_0:
\ 000001B4 ........ DC32 Arr_1_Glob
\ 000001B8 ........ DC32 `?<Constant "DHRYSTONE PROGRAM, SO...">`
\ 000001BC ........ DC32 `?<Constant "DHRYSTONE PROGRAM, 1\\'...">`
\ 000001C0 ........ DC32 Arr_2_Glob
\ 000001C4 ........ DC32 `?<Constant "DHRYSTONE PROGRAM, 3\\'...">`
\ 000001C8 ........ DC32 `?<Constant "DHRYSTONE PROGRAM, 2\\'...">`
\ In segment HUGE_C, align 1, align-sorted
\ `?<Constant "DHRYSTONE PROGRAM, SO...">`:
\ 00000000 444852595354 DC8 "DHRYSTONE PROGRAM, SOME STRING"
\ 4F4E45205052
\ 4F4752414D2C
\ 20534F4D4520
\ 535452494E47
\ 00
\ In segment HUGE_C, align 1, align-sorted
\ `?<Constant "DHRYSTONE PROGRAM, 1\\'...">`:
\ 00000000 444852595354 DC8 "DHRYSTONE PROGRAM, 1'ST STRING"
\ 4F4E45205052
\ 4F4752414D2C
\ 203127535420
\ 535452494E47
\ 00
\ In segment HUGE_C, align 1, align-sorted
\ `?<Constant "DHRYSTONE PROGRAM, 2\\'...">`:
\ 00000000 444852595354 DC8 "DHRYSTONE PROGRAM, 2'ND STRING"
\ 4F4E45205052
\ 4F4752414D2C
\ 2032274E4420
\ 535452494E47
\ 00
\ In segment HUGE_C, align 1, align-sorted
\ `?<Constant "DHRYSTONE PROGRAM, 3\\'...">`:
\ 00000000 444852595354 DC8 "DHRYSTONE PROGRAM, 3'RD STRING"
\ 4F4E45205052
\ 4F4752414D2C
\ 203327524420
\ 535452494E47
\ 00
241
242
243
Maximum stack usage in bytes:
Function CSTACK
-------- ------
Proc_1 16
Proc_2 4
Proc_3 4
Proc_4 0
Proc_5 0
testloop 96
124 bytes in segment HUGE_C
10 244 bytes in segment HUGE_Z
12 bytes in segment INITTAB
864 bytes in segment NEARFUNC_A
864 bytes of CODE memory (+ 12 bytes shared)
124 bytes of HUGECONST memory
10 244 bytes of HUGEDATA memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -