📄 dhry_1.s
字号:
.file "c:/at91/software/projects/bench/source/dhry_1.c"
.option svr4
.option arm_code
.option inter
.ident "hc4.5a -O7 \n"
.option noswst
.seg ".data",data
.L00DATA:
.align 4
.global Ptr_Glob
Ptr_Glob:
.size Ptr_Glob,0x4
.type Ptr_Glob, @object
.block 0x4
.align 4
.global Next_Ptr_Glob
Next_Ptr_Glob:
.size Next_Ptr_Glob,0x4
.type Next_Ptr_Glob, @object
.block 0x4
.align 4
.global Int_Glob
Int_Glob:
.size Int_Glob,0x4
.type Int_Glob, @object
.block 0x4
.align 4
.global Bool_Glob
Bool_Glob:
.size Bool_Glob,0x4
.type Bool_Glob, @object
.block 0x4
.align 4
.global Ch_1_Glob
Ch_1_Glob:
.size Ch_1_Glob,0x1
.type Ch_1_Glob, @object
.block 0x1
.align 4
.global Ch_2_Glob
Ch_2_Glob:
.size Ch_2_Glob,0x1
.type Ch_2_Glob, @object
.block 0x1
.seg ".bss",bss
.L00BSS:
.global Arr_1_Glob
.align 4
Arr_1_Glob: .block 200
.size Arr_1_Glob, 0xc8
.type Arr_1_Glob, @object
.seg ".data"
.seg ".bss"
.global Arr_2_Glob
.align 4
Arr_2_Glob: .block 0x2710
.size Arr_2_Glob, 0x2710
.type Arr_2_Glob, @object
.seg ".data"
.align 4
.global Reg
Reg:
.size Reg,0x4
.type Reg, @object
.long 0x0
.align 4
.global Begin_Time
Begin_Time:
.size Begin_Time,0x4
.type Begin_Time, @object
.block 0x4
.align 4
.global End_Time
End_Time:
.size End_Time,0x4
.type End_Time, @object
.block 0x4
.align 4
.global User_Time
User_Time:
.size User_Time,0x4
.type User_Time, @object
.block 0x4
.align 4
.global Microseconds
Microseconds:
.size Microseconds,0x4
.type Microseconds, @object
.block 0x4
.align 4
.global Dhrystones_Per_Second
Dhrystones_Per_Second:
.size Dhrystones_Per_Second,0x4
.type Dhrystones_Per_Second, @object
.block 0x4
.seg ".text",text
.option code32,inter
.L00TEXT:
;-------------| Proc_1 |-------------------
.align 4
.global Proc_1
Proc_1:
.cfa_bf Proc_1
stmdb %sp!,{%r4,%r8-%fp,%lr}
.cfa_push {%r4,%r8-%fp,%lr}
mov %r9,%r0
ldr %r8,[%r9, #0]
ldr %fp,[%pc, #.LC01-.-8]
mov %r0,%r8
ldr %r10,[%fp, #Ptr_Glob-.L00DATA]
mov %r1,%r10
ldmia %r1!,{%r2,%r3,%ip,%lr}
stmia %r0!,{%r2,%r3,%ip,%lr}
ldmia %r1!,{%r2,%r3,%ip,%lr}
stmia %r0!,{%r2,%r3,%ip,%lr}
ldmia %r1,{%r2,%r3,%ip,%lr}
stmia %r0,{%r2,%r3,%ip,%lr}
mov %ip,#5
str %ip,[%r9, #12]
str %ip,[%r8, #12]
ldr %ip,[%r9, #0]
cmp %r10,#0
str %ip,[%r8, #0]
ldreq %r1,[%fp, #Int_Glob-.L00DATA]
beq .L02826
ldr %ip,[%r10, #0]
ldr %r1,[%fp, #Int_Glob-.L00DATA]
str %ip,[%r8, #0]
ldr %r10,[%fp, #Ptr_Glob-.L00DATA]
.L02826:
mov %r0,#10
add %r2,%r10,#12
bl Proc_7
ldrb %ip,[%r8, #4]
cmp %ip,#0
bne .L02828
mov %ip,#6
str %ip,[%r8, #12]
ldrb %r0,[%r9, #8]
add %r1,%r8,#8
bl Proc_6
ldr %ip,[%fp, #Ptr_Glob-.L00DATA]
ldr %r0,[%r8, #12]
ldr %ip,[%ip, #0]
mov %r1,#10
str %ip,[%r8, #0]
add %r2,%r8,#12
bl Proc_7
.cfa_remember_state
ldmia %sp!,{%r4,%r8-%ip}
.cfa_pop {%r4,%r8-%ip}
bx %ip
.cfa_restore_state
.L02828:
ldr %r8,[%r9, #0]
ldmia %r8!,{%r0-%r3,%ip,%lr}
stmia %r9!,{%r0-%r3,%ip,%lr}
ldmia %r8,{%r0-%r3,%ip,%lr}
stmia %r9,{%r0-%r3,%ip,%lr}
.cfa_remember_state
ldmia %sp!,{%r4,%r8-%ip}
.cfa_pop {%r4,%r8-%ip}
bx %ip
.cfa_restore_state
.cfa_ef
.type Proc_1, @function
.size Proc_1, . - Proc_1
;-------------| Proc_2 |-------------------
.align 4
.global Proc_2
Proc_2:
.cfa_bf Proc_2
ldr %r3,[%r0, #0]
ldr %r2,[%pc, #.LC01-.-8]
ldrb %ip,[%r2, #Ch_1_Glob-.L00DATA]
cmp %ip,#65
bne .L02837
ldr %ip,[%r2, #Int_Glob-.L00DATA]
add %r3,%r3,#9
sub %ip,%r3,%ip
str %ip,[%r0, #0]
.L02837:
bx %lr
.cfa_ef
.type Proc_2, @function
.size Proc_2, . - Proc_2
;-------------| Proc_3 |-------------------
.align 4
.global Proc_3
Proc_3:
.cfa_bf Proc_3
stmdb %sp!,{%r4,%lr}
.cfa_push {%r4,%lr}
ldr %r3,[%pc, #.LC01-.-8]
ldr %ip,[%r3, #Ptr_Glob-.L00DATA]
cmp %ip,#0
ldrne %ip,[%ip, #0]
strne %ip,[%r0, #0]
ldrne %ip,[%r3, #Ptr_Glob-.L00DATA]
mov %r0,#10
ldr %r1,[%r3, #Int_Glob-.L00DATA]
add %r2,%ip,#12
bl Proc_7
.cfa_remember_state
ldmia %sp!,{%r4,%ip}
.cfa_pop {%r4,%ip}
bx %ip
.cfa_restore_state
.cfa_ef
.type Proc_3, @function
.size Proc_3, . - Proc_3
;-------------| Proc_4 |-------------------
.align 4
.global Proc_4
Proc_4:
.cfa_bf Proc_4
ldr %r3,[%pc, #.LC01-.-8]
ldrb %ip,[%r3, #Ch_1_Glob-.L00DATA]
cmp %ip,#65
ldr %ip,[%r3, #Bool_Glob-.L00DATA]
movne %r2,#0
moveq %r2,#1
orr %ip,%ip,%r2
str %ip,[%r3, #Bool_Glob-.L00DATA]
mov %ip,#66
strb %ip,[%r3, #Ch_2_Glob-.L00DATA]
bx %lr
.cfa_ef
.type Proc_4, @function
.size Proc_4, . - Proc_4
;-------------| Proc_5 |-------------------
.align 4
.global Proc_5
Proc_5:
.cfa_bf Proc_5
ldr %r3,[%pc, #.LC01-.-8]
mov %ip,#65
strb %ip,[%r3, #Ch_1_Glob-.L00DATA]
mov %ip,#0
str %ip,[%r3, #Bool_Glob-.L00DATA]
bx %lr
.cfa_ef
.type Proc_5, @function
.size Proc_5, . - Proc_5
;-------------| testloop |-------------------
.align 4
.global testloop
testloop:
.cfa_bf testloop
stmdb %sp!,{%r4-%fp,%lr}
.cfa_push {%r4-%fp,%lr}
sub %sp,%sp,#76
.cfa_push 76
mov %r9,%r0
mov %r0,#48
bl malloc
ldr %r5,[%pc, #.LC01-.-8]
add %r10,%pc,#.LC02-.-8
str %r0,[%r5, #Next_Ptr_Glob-.L00DATA]
mov %r0,#48
bl malloc
ldr %ip,[%r5, #Next_Ptr_Glob-.L00DATA]
str %r0,[%r5, #Ptr_Glob-.L00DATA]
str %ip,[%r0, #0]
mov %ip,#0
strb %ip,[%r0, #4]
mov %ip,#2
strb %ip,[%r0, #8]
mov %ip,#40
str %ip,[%r0, #12]
add %r8,%r0,#16
mov %r2,#31
.LL28719:
ldrb %r3,[%r10], #1
subs %r2,%r2,#1
strb %r3,[%r8], #1
bgt .LL28719
add %r8,%pc,#.LC02+32-.-8
add %r6,%sp,#12
ldmia %r8!,{%r1-%r3,%ip}
mov %r0,%r6
stmia %r0!,{%r1-%r3,%ip}
ldmia %r8,{%r1-%r3,%ip}
stmia %r0,{%r1-%r3,%ip}
ldr %r7,[%pc, #.LC01+4-.-8]
mov %ip,#10
cmp %r9,#1
str %ip,[%r7, #Arr_2_Glob+0x65c-.L00BSS]
mov %fp,#1
blt .L028718
add %r10,%sp,#44
.L02874:
mov %ip,#65
strb %ip,[%r5, #Ch_1_Glob-.L00DATA]
mov %ip,#1
str %ip,[%r5, #Bool_Glob-.L00DATA]
mov %ip,#66
mov %r3,#2
str %r3,[%sp, #0]
strb %ip,[%r5, #Ch_2_Glob-.L00DATA]
add %r4,%pc,#.LC02+64-.-8
ldmia %r4!,{%r1-%r3,%ip}
mov %r0,%r10
stmia %r0!,{%r1-%r3,%ip}
ldmia %r4,{%r1-%r3,%ip}
stmia %r0,{%r1-%r3,%ip}
mov %r3,#1
strb %r3,[%sp, #8]
mov %r0,%r6
mov %r1,%r10
bl Func_2
cmp %r0,#0
movne %ip,#0
ldr %r2,[%sp, #0]
moveq %ip,#1
mov %r8,#3
cmp %r8,%r2
str %ip,[%r5, #Bool_Glob-.L00DATA]
ble .L02878
.L02877:
add %ip,%r2,%r2,lsl #2
sub %r3,%ip,#3
mov %r0,%r2
add %r2,%sp,#4
str %r3,[%sp, #4]
mov %r1,#3
bl Proc_7
ldr %ip,[%sp, #0]
add %r2,%ip,#1
str %r2,[%sp, #0]
cmp %r8,%r2
bgt .L02877
.L02878:
ldr %r3,[%sp, #4]
mov %r0,%r7
add %r1,%r7,#200
bl Proc_8
ldr %r0,[%r5, #Ptr_Glob-.L00DATA]
mov %r4,#65
bl Proc_1
ldrb %ip,[%r5, #Ch_2_Glob-.L00DATA]
cmp %r4,%ip
bgt .L028712
.L02879:
mov %r0,%r4
mov %r1,#67
bl Func_1
ldrb %ip,[%sp, #8]
cmp %ip,%r0
bne .L028711
add %r1,%sp,#8
mov %r0,#0
bl Proc_6
add %r8,%pc,#.LC02+0x60-.-8
ldmia %r8!,{%r1-%r3,%ip}
mov %r0,%r10
stmia %r0!,{%r1-%r3,%ip}
ldmia %r8,{%r1-%r3,%ip}
stmia %r0,{%r1-%r3,%ip}
str %fp,[%r5, #Int_Glob-.L00DATA]
.L028711:
add %ip,%r4,#1
and %r4,%ip,#255
ldrb %ip,[%r5, #Ch_2_Glob-.L00DATA]
cmp %r4,%ip
ble .L02879
.L028712:
add %fp,%fp,#1
cmp %fp,%r9
ble .L02874
.L028718:
.cfa_remember_state
add %sp,%sp,#76
.cfa_pop 76
ldmia %sp!,{%r4-%ip}
.cfa_pop {%r4-%ip}
bx %ip
.cfa_restore_state
.cfa_ef
.type testloop, @function
.size testloop, . - testloop
.LC02:
.ascii "DHRYSTONE PROGRAM, SOME STRING\0"
.block 0x1
.ascii "DHRYSTONE PROGRAM, 1'ST STRING\0"
.block 0x1
.ascii "DHRYSTONE PROGRAM, 2'ND STRING\0"
.block 0x1
.ascii "DHRYSTONE PROGRAM, 3'RD STRING\0"
.block 0x1
.LC01:
.long .L00DATA
.long .L00BSS
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -