📄 gpio.asm
字号:
;*****************************************************************************
_GPIO_Test:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {LR}
.dwcfa 0x0e, 4
.dwcfa 0x80, 14, 1
SUB SP, SP, #20
.dwcfa 0x0e, 24
DW$76 .dwtag DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
.dwattr DW$76, DW_AT_type(*DW$T$10)
.dwattr DW$76, DW_AT_location[DW_OP_breg13 0]
DW$77 .dwtag DW_TAG_variable, DW_AT_name("gpio_id"), DW_AT_symbol_name("_gpio_id")
.dwattr DW$77, DW_AT_type(*DW$T$10)
.dwattr DW$77, DW_AT_location[DW_OP_breg13 4]
DW$78 .dwtag DW_TAG_variable, DW_AT_name("gpio_group"), DW_AT_symbol_name("_gpio_group")
.dwattr DW$78, DW_AT_type(*DW$T$10)
.dwattr DW$78, DW_AT_location[DW_OP_breg13 8]
DW$79 .dwtag DW_TAG_variable, DW_AT_name("triger_mode"), DW_AT_symbol_name("_triger_mode")
.dwattr DW$79, DW_AT_type(*DW$T$10)
.dwattr DW$79, DW_AT_location[DW_OP_breg13 12]
DW$80 .dwtag DW_TAG_variable, DW_AT_name("val"), DW_AT_symbol_name("_val")
.dwattr DW$80, DW_AT_type(*DW$T$9)
.dwattr DW$80, DW_AT_location[DW_OP_breg13 16]
.dwpsn "GPIO.c",273,2
MOV V9, #1 ; |273|
STRH V9, [SP, #16] ; |273|
.dwpsn "GPIO.c",274,2
LDRH V9, [SP, #16] ; |274|
CMP V9, #0 ; |274|
BEQ L37 ; |274|
; |274|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L29
;*
;* Loop source line : 274
;* Loop closing brace source line : 325
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L29:
DW$L$_GPIO_Test$2$B:
.dwpsn "GPIO.c",276,3
ADR A2, SL1 ; |276|
MOV A1, #1 ; |276|
BL _UART_Printf ; |276|
; |276|
.dwpsn "GPIO.c",277,5
ADR A2, SL2 ; |277|
MOV A1, #1 ; |277|
BL _UART_Printf ; |277|
; |277|
.dwpsn "GPIO.c",278,5
ADR A2, SL1 ; |278|
MOV A1, #1 ; |278|
BL _UART_Printf ; |278|
; |278|
.dwpsn "GPIO.c",279,6
ADR A2, SL3 ; |279|
MOV A1, #1 ; |279|
BL _UART_Printf ; |279|
; |279|
.dwpsn "GPIO.c",280,3
ADR A2, SL4 ; |280|
MOV A1, #1 ; |280|
BL _UART_Printf ; |280|
; |280|
.dwpsn "GPIO.c",281,3
ADR A2, SL5 ; |281|
MOV A1, #1 ; |281|
BL _UART_Printf ; |281|
; |281|
.dwpsn "GPIO.c",282,3
ADR A2, SL6 ; |282|
MOV A1, #1 ; |282|
BL _UART_Printf ; |282|
; |282|
.dwpsn "GPIO.c",283,3
ADR A2, SL7 ; |283|
MOV A1, #1 ; |283|
BL _UART_Printf ; |283|
; |283|
.dwpsn "GPIO.c",284,3
MOV A1, #1 ; |284|
BL _UART_GetNum ; |284|
; |284|
STRH A1, [SP, #16] ; |284|
.dwpsn "GPIO.c",285,6
MOV A1, #1 ; |285|
ADR A2, SL8 ; |285|
BL _UART_Printf ; |285|
; |285|
.dwpsn "GPIO.c",288,9
B L35 ; |288|
; |288|
DW$L$_GPIO_Test$2$E:
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L30:
DW$L$_GPIO_Test$4$B:
.dwpsn "GPIO.c",296,5
ADR A2, SL9 ; |296|
MOV A1, #1 ; |296|
BL _UART_Printf ; |296|
; |296|
.dwpsn "GPIO.c",297,5
MOV A1, #1 ; |297|
BL _UART_GetNum ; |297|
; |297|
STR A1, [SP, #4] ; |297|
.dwpsn "GPIO.c",298,5
LDR V9, [SP, #4] ; |298|
MOV A1, V9, ASR #4 ; |298|
ADD V9, V9, A1, LSR #27 ; |298|
MOV V9, V9, ASR #5 ; |298|
ADD V9, V9, #1 ; |298|
STR V9, [SP, #8] ; |298|
.dwpsn "GPIO.c",299,6
LDR A1, [SP, #8] ; |299|
LDR A2, [SP, #4] ; |299|
BL _gpio_dataout_high ; |299|
; |299|
.dwpsn "GPIO.c",300,7
B L36 ; |300|
; |300|
DW$L$_GPIO_Test$4$E:
;* --------------------------------------------------------------------------*
L31:
DW$L$_GPIO_Test$5$B:
.dwpsn "GPIO.c",304,5
ADR A2, SL9 ; |304|
MOV A1, #1 ; |304|
BL _UART_Printf ; |304|
; |304|
.dwpsn "GPIO.c",305,5
MOV A1, #1 ; |305|
BL _UART_GetNum ; |305|
; |305|
STR A1, [SP, #4] ; |305|
.dwpsn "GPIO.c",306,5
LDR V9, [SP, #4] ; |306|
MOV A1, V9, ASR #4 ; |306|
ADD V9, V9, A1, LSR #27 ; |306|
MOV V9, V9, ASR #5 ; |306|
ADD V9, V9, #1 ; |306|
STR V9, [SP, #8] ; |306|
.dwpsn "GPIO.c",307,5
LDR A1, [SP, #8] ; |307|
LDR A2, [SP, #4] ; |307|
BL _gpio_dataout_low ; |307|
; |307|
.dwpsn "GPIO.c",308,5
B L36 ; |308|
; |308|
DW$L$_GPIO_Test$5$E:
;* --------------------------------------------------------------------------*
L32:
DW$L$_GPIO_Test$6$B:
.dwpsn "GPIO.c",313,9
MOV V9, #0 ; |313|
STR V9, [SP, #0] ; |313|
.dwpsn "GPIO.c",313,14
LDR V9, [SP, #0] ; |313|
CMP V9, #100 ; |313|
BGE L34 ; |313|
; |313|
DW$L$_GPIO_Test$6$E:
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L33
;*
;* Loop source line : 313
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L33:
DW$L$_GPIO_Test$7$B:
.dwpsn "GPIO.c",313,21
LDR V9, [SP, #0] ; |313|
ADD V9, V9, #1 ; |313|
STR V9, [SP, #0] ; |313|
.dwpsn "GPIO.c",313,14
LDR V9, [SP, #0] ; |313|
CMP V9, #100 ; |313|
BLT L33 ; |313|
; |313|
DW$L$_GPIO_Test$7$E:
;* --------------------------------------------------------------------------*
L34:
DW$L$_GPIO_Test$8$B:
.dwpsn "GPIO.c",314,5
ADR A2, SL9 ; |314|
MOV A1, #1 ; |314|
BL _UART_Printf ; |314|
; |314|
.dwpsn "GPIO.c",315,5
MOV A1, #1 ; |315|
BL _UART_GetNum ; |315|
; |315|
STR A1, [SP, #4] ; |315|
.dwpsn "GPIO.c",316,5
LDR V9, [SP, #4] ; |316|
MOV A1, V9, ASR #4 ; |316|
ADD V9, V9, A1, LSR #27 ; |316|
MOV V9, V9, ASR #5 ; |316|
ADD V9, V9, #1 ; |316|
STR V9, [SP, #8] ; |316|
.dwpsn "GPIO.c",317,5
MOV A1, #1 ; |317|
ADR A2, SL10 ; |317|
BL _UART_Printf ; |317|
; |317|
.dwpsn "GPIO.c",318,5
MOV A1, #1 ; |318|
BL _UART_GetNum ; |318|
; |318|
STR A1, [SP, #12] ; |318|
.dwpsn "GPIO.c",319,5
LDRB A1, [SP, #4] ; |319|
LDR A2, [SP, #12] ; |319|
LDR A3, CON16 ; |319|
BL _GPIO_ConfigureInterruptEnable ; |319|
; |319|
.dwpsn "GPIO.c",320,5
B L36 ; |320|
; |320|
DW$L$_GPIO_Test$8$E:
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L35:
DW$L$_GPIO_Test$10$B:
.dwpsn "GPIO.c",288,9
LDRH V9, [SP, #16] ; |288|
CMP V9, #0 ; |288|
BEQ L36 ; |288|
; |288|
DW$L$_GPIO_Test$10$E:
;* --------------------------------------------------------------------------*
DW$L$_GPIO_Test$11$B:
SUBS V9, V9, #1 ; |288|
BEQ L30 ; |288|
; |288|
DW$L$_GPIO_Test$11$E:
;* --------------------------------------------------------------------------*
DW$L$_GPIO_Test$12$B:
SUBS V9, V9, #1 ; |288|
BEQ L31 ; |288|
; |288|
DW$L$_GPIO_Test$12$E:
;* --------------------------------------------------------------------------*
DW$L$_GPIO_Test$13$B:
SUBS V9, V9, #1 ; |288|
BEQ L32 ; |288|
; |288|
DW$L$_GPIO_Test$13$E:
;* --------------------------------------------------------------------------*
L36:
DW$L$_GPIO_Test$14$B:
.dwpsn "GPIO.c",325,2
LDRH V9, [SP, #16] ; |325|
CMP V9, #0 ; |325|
BNE L29 ; |325|
; |325|
DW$L$_GPIO_Test$14$E:
;* --------------------------------------------------------------------------*
L37:
.dwpsn "GPIO.c",326,1
ADD SP, SP, #20
.dwcfa 0x0e, 4
LDMFD SP!, {PC}
DW$81 .dwtag DW_TAG_loop
.dwattr DW$81, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\GPIO.asm:L29:1:1214374289")
.dwattr DW$81, DW_AT_begin_file("GPIO.c")
.dwattr DW$81, DW_AT_begin_line(0x112)
.dwattr DW$81, DW_AT_end_line(0x145)
DW$82 .dwtag DW_TAG_loop_range
.dwattr DW$82, DW_AT_low_pc(DW$L$_GPIO_Test$2$B)
.dwattr DW$82, DW_AT_high_pc(DW$L$_GPIO_Test$2$E)
DW$83 .dwtag DW_TAG_loop_range
.dwattr DW$83, DW_AT_low_pc(DW$L$_GPIO_Test$6$B)
.dwattr DW$83, DW_AT_high_pc(DW$L$_GPIO_Test$6$E)
DW$84 .dwtag DW_TAG_loop_range
.dwattr DW$84, DW_AT_low_pc(DW$L$_GPIO_Test$12$B)
.dwattr DW$84, DW_AT_high_pc(DW$L$_GPIO_Test$12$E)
DW$85 .dwtag DW_TAG_loop_range
.dwattr DW$85, DW_AT_low_pc(DW$L$_GPIO_Test$11$B)
.dwattr DW$85, DW_AT_high_pc(DW$L$_GPIO_Test$11$E)
DW$86 .dwtag DW_TAG_loop_range
.dwattr DW$86, DW_AT_low_pc(DW$L$_GPIO_Test$4$B)
.dwattr DW$86, DW_AT_high_pc(DW$L$_GPIO_Test$4$E)
DW$87 .dwtag DW_TAG_loop_range
.dwattr DW$87, DW_AT_low_pc(DW$L$_GPIO_Test$5$B)
.dwattr DW$87, DW_AT_high_pc(DW$L$_GPIO_Test$5$E)
DW$88 .dwtag DW_TAG_loop_range
.dwattr DW$88, DW_AT_low_pc(DW$L$_GPIO_Test$8$B)
.dwattr DW$88, DW_AT_high_pc(DW$L$_GPIO_Test$8$E)
DW$89 .dwtag DW_TAG_loop_range
.dwattr DW$89, DW_AT_low_pc(DW$L$_GPIO_Test$10$B)
.dwattr DW$89, DW_AT_high_pc(DW$L$_GPIO_Test$10$E)
DW$90 .dwtag DW_TAG_loop_range
.dwattr DW$90, DW_AT_low_pc(D
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -