📄 bench.s79
字号:
NAME bench
RTMODEL "__code_model", "small"
RTMODEL "__cpu_mode", "arm"
RTMODEL "__data_model", "absolute"
RTMODEL "__endian", "little"
RTMODEL "__rt_version", "2"
RTMODEL "__thumb_aware", "enabled"
RSEG CSTACK:DATA:NOROOT(2)
RSEG HUGE_Z:HUGEDATA:SORT:NOROOT(0)
EXTERN at91_pio_open
FUNCTION at91_pio_open,0202H
EXTERN at91_pio_write
FUNCTION at91_pio_write,0202H
EXTERN at91_baud_com
FUNCTION at91_baud_com,0202H
EXTERN at91_open_com
FUNCTION at91_open_com,0202H
EXTERN at91_print
FUNCTION at91_print,0202H
EXTERN at91_print_frame
FUNCTION at91_print_frame,0202H
EXTERN at91_pio_read
FUNCTION at91_pio_read,0202H
EXTERN at91_tc_open_count
FUNCTION at91_tc_open_count,0202H
EXTERN at91_tc_start
FUNCTION at91_tc_start,0202H
EXTERN at91_tc_stop
FUNCTION at91_tc_stop,0202H
EXTERN sprintf
FUNCTION sprintf,010202H
EXTERN testloop
FUNCTION testloop,0202H
EXTERN USART0_DESC
EXTERN TCB_DESC
EXTERN PIO_DESC
PUBWEAK ?init?tab?HUGE_Z
PUBLIC COM
PUBLIC main
FUNCTION main,0a03H
LOCFRAME CSTACK, 28, STACK
PUBLIC message
PUBLIC result
PUBLIC result_out
RSEG HUGE_Z:HUGEDATA:SORT:NOROOT(0)
message:
DS8 512
RSEG HUGE_Z:HUGEDATA:SORT:NOROOT(2)
COM:
DS8 8
RSEG HUGE_C:HUGECONST:SORT:NOROOT(0)
atmel_header:
DC8 0AH, 0DH, 20H, 20H, 20H, 20H, 2AH, 2AH
DC8 2AH, 20H, 41H, 54H, 4DH, 45H, 4CH, 20H
DC8 55H, 53H, 41H, 52H, 54H, 20H, 42H, 45H
DC8 4EH, 43H, 48H, 4DH, 41H, 52H, 4BH, 20H
DC8 2AH, 2AH, 2AH, 0AH, 0DH, 43H, 6FH, 70H
DC8 79H, 72H, 69H, 67H, 68H, 74H, 20H, 28H
DC8 43H, 29H, 20H, 32H, 30H, 30H, 31H, 20H
DC8 41H, 54H, 4DH, 45H, 4CH, 20H, 56H, 65H
DC8 72H, 73H, 69H, 6FH, 6EH, 20H, 31H, 2EH
DC8 30H, 0AH, 0DH, 0
RSEG HUGE_C:HUGECONST:SORT:NOROOT(0)
`?<Constant "** Mearsure **\\n\\r">`:
DC8 "** Mearsure **\012\015"
RSEG HUGE_C:HUGECONST:SORT:NOROOT(0)
`?<Constant "- Out test %d \\n\\r">`:
DC8 "- Out test %d \012\015"
RSEG HUGE_C:HUGECONST:SORT:NOROOT(0)
`?<Constant "- cmpt++ test total:%...">`:
DC8 "- cmpt++ test total:%d test:%d\012\015"
RSEG HUGE_C:HUGECONST:SORT:NOROOT(0)
`?<Constant "- testloop total %d ...">`:
DC8 "- testloop total %d testloop %d\012\015"
RSEG HUGE_Z:HUGEDATA:SORT:NOROOT(2)
result_out:
DS8 4
RSEG HUGE_Z:HUGEDATA:SORT:NOROOT(2)
result:
DS8 4
RSEG NEARFUNC_A:CODE:NOROOT(2)
CFI Names cfiNames0
CFI StackFrame CFA SP HUGEDATA
CFI Resource R0:32, R1:32, R2:32, R3:32, R4:32, R5:32, R6:32, R7:32
CFI Resource R8:32, R9:32, R10:32, R11:32, R12:32, SP:32, LR:32
CFI VirtualResource RET:32
CFI EndNames cfiNames0
CFI Common cfiCommon0 Using cfiNames0
CFI CodeAlign 4
CFI DataAlign 4
CFI ReturnAddress RET CODE
CFI CFA SP+0
CFI R0 Undefined
CFI R1 Undefined
CFI R2 Undefined
CFI R3 Undefined
CFI R4 SameValue
CFI R5 SameValue
CFI R6 SameValue
CFI R7 SameValue
CFI R8 SameValue
CFI R9 SameValue
CFI R10 SameValue
CFI R11 SameValue
CFI R12 Undefined
CFI LR Undefined
CFI RET LR
CFI EndCommon cfiCommon0
CFI Block cfiBlock0 Using cfiCommon0
CFI Function main
CODE32
main:
STMDB SP!,{R4,LR} ;; Push
CFI RET Frame(CFA, -4)
CFI R4 Frame(CFA, -8)
CFI CFA SP+8
MOV R2,#+0x1
MOV R1,#+0x16
LDR R0,??main_0+36 ;; #PIO_DESC
BL at91_pio_open
MOV R2,#+0x1
MOV R1,#+0x16
LDR R0,??main_0+36 ;; #PIO_DESC
BL at91_pio_write
MOV R2,#+0x0
MOV R1,#+0x220
ADD R1,R1,#+0x1000
LDR R0,??main_0+36 ;; #PIO_DESC
BL at91_pio_open
LDR R0,??main_0 ;; #USART0_DESC
LDR R1,??main_0+32 ;; #COM
STR R0,[R1, #+0]
MOV R1,#+0x9600
MOV R0,#+0x1F40000
BL at91_baud_com
MOV R2,R0
MOV R1,#+0x8C0
LDR R0,??main_0+32 ;; #COM
BL at91_open_com
LDR R1,??main_0+28 ;; #message
LDR R0,??main_0+32 ;; #COM
BL at91_print
MOV R2,#+0x4C
LDR R1,??main_0+4 ;; #atmel_header
LDR R0,??main_0+32 ;; #COM
BL at91_print_frame
??main_1:
LDR R0,??main_0+36 ;; #PIO_DESC
BL at91_pio_read
MOV R0,R0, LSL #+16
MOV R0,R0, LSR #+16
AND R0,R0,#+0x200
CMP R0,#+0x200
BNE ??main_1
LDR R1,??main_0+8 ;; #`?<Constant "** Mearsure **\\n\\r">`
LDR R0,??main_0+32 ;; #COM
BL at91_print
MOV R2,#+0x0
MOV R1,#+0x2
LDR R0,??main_0+36 ;; #PIO_DESC
BL at91_pio_write
LDR R0,??main_0+20 ;; #TCB_DESC
BL at91_tc_open_count
LDR R0,??main_0+20 ;; #TCB_DESC
BL at91_tc_start
LDR R0,??main_0+20 ;; #TCB_DESC
BL at91_tc_stop
MOV R4,R0
STMDB SP!,{R4} ;; Push
CFI CFA SP+12
LDR R1,??main_0+12 ;; #`?<Constant "- Out test %d \\n\\r">`
LDR R0,??main_0+28 ;; #message
BL sprintf
LDR R1,??main_0+28 ;; #message
LDR R0,??main_0+32 ;; #COM
BL at91_print
LDR R0,??main_0+20 ;; #TCB_DESC
BL at91_tc_open_count
LDR R0,??main_0+20 ;; #TCB_DESC
BL at91_tc_start
LDR R0,??main_0+20 ;; #TCB_DESC
BL at91_tc_stop
SUB R1,R0,R4
STMDB SP!,{R0,R1} ;; Push
CFI CFA SP+20
LDR R1,??main_0+16 ;; #`?<Constant "- cmpt++ test total:%...">`
LDR R0,??main_0+28 ;; #message
BL sprintf
LDR R1,??main_0+28 ;; #message
LDR R0,??main_0+32 ;; #COM
BL at91_print
LDR R0,??main_0+20 ;; #TCB_DESC
BL at91_tc_open_count
LDR R0,??main_0+20 ;; #TCB_DESC
BL at91_tc_start
MOV R0,#+0x710
ADD R0,R0,#+0x2000
BL testloop
LDR R0,??main_0+20 ;; #TCB_DESC
BL at91_tc_stop
SUB R1,R0,R4
STMDB SP!,{R0,R1} ;; Push
CFI CFA SP+28
LDR R1,??main_0+24 ;; #`?<Constant "- testloop total %d ...">`
LDR R0,??main_0+28 ;; #message
BL sprintf
LDR R1,??main_0+28 ;; #message
LDR R0,??main_0+32 ;; #COM
BL at91_print
MOV R2,#+0x1
MOV R1,#+0x2
LDR R0,??main_0+36 ;; #PIO_DESC
BL at91_pio_write
ADD SP,SP,#+0x14 ;; stack cleaning
CFI CFA SP+8
B ??main_1
DATA
??main_0:
DC32 USART0_DESC
DC32 atmel_header
DC32 `?<Constant "** Mearsure **\\n\\r">`
DC32 `?<Constant "- Out test %d \\n\\r">`
DC32 `?<Constant "- cmpt++ test total:%...">`
DC32 TCB_DESC
DC32 `?<Constant "- testloop total %d ...">`
DC32 message
DC32 COM
DC32 PIO_DESC
CFI EndBlock cfiBlock0
RSEG INITTAB:CODE:ROOT(2)
?init?tab?HUGE_Z:
DCD sfe(HUGE_Z) - sfb(HUGE_Z), sfb(HUGE_Z), sfb(HUGE_Z)
END
;
; 178 bytes in segment HUGE_C
; 528 bytes in segment HUGE_Z
; 12 bytes in segment INITTAB
; 424 bytes in segment NEARFUNC_A
;
; 424 bytes of CODE memory (+ 12 bytes shared)
; 178 bytes of HUGECONST memory
; 528 bytes of HUGEDATA memory
;
;Errors: none
;Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -