📄 i2c_gpio.asm
字号:
DW$51 .dwtag DW_TAG_variable, DW_AT_name("previous_content"), DW_AT_symbol_name("_previous_content")
.dwattr DW$51, DW_AT_type(*DW$T$10)
.dwattr DW$51, DW_AT_location[DW_OP_breg13 4]
DW$52 .dwtag DW_TAG_variable, DW_AT_name("num"), DW_AT_symbol_name("_num")
.dwattr DW$52, DW_AT_type(*DW$T$10)
.dwattr DW$52, DW_AT_location[DW_OP_breg13 8]
DW$53 .dwtag DW_TAG_variable, DW_AT_name("outputadd"), DW_AT_symbol_name("_outputadd")
.dwattr DW$53, DW_AT_type(*DW$T$10)
.dwattr DW$53, DW_AT_location[DW_OP_breg13 12]
DW$54 .dwtag DW_TAG_variable, DW_AT_name("reverseadd"), DW_AT_symbol_name("_reverseadd")
.dwattr DW$54, DW_AT_type(*DW$T$10)
.dwattr DW$54, DW_AT_location[DW_OP_breg13 16]
DW$55 .dwtag DW_TAG_variable, DW_AT_name("directionadd"), DW_AT_symbol_name("_directionadd")
.dwattr DW$55, DW_AT_type(*DW$T$10)
.dwattr DW$55, DW_AT_location[DW_OP_breg13 20]
STR A1, [SP, #0] ; |125|
.dwpsn "i2c_gpio.c",128,2
LDR V9, [SP, #0] ; |128|
STR V9, [SP, #8] ; |128|
.dwpsn "i2c_gpio.c",129,2
LDR V9, [SP, #8] ; |129|
CMP V9, #9 ; |129|
BLE L9 ; |129|
; |129|
;* --------------------------------------------------------------------------*
.dwpsn "i2c_gpio.c",131,3
LDR V9, [SP, #0] ; |131|
SUB V9, V9, #10 ; |131|
STR V9, [SP, #8] ; |131|
.dwpsn "i2c_gpio.c",132,3
MOV V9, #3 ; |132|
STR V9, [SP, #12] ; |132|
.dwpsn "i2c_gpio.c",133,3
MOV V9, #5 ; |133|
STR V9, [SP, #16] ; |133|
.dwpsn "i2c_gpio.c",134,3
MOV V9, #7 ; |134|
STR V9, [SP, #20] ; |134|
.dwpsn "i2c_gpio.c",135,2
B L10 ; |135|
; |135|
;* --------------------------------------------------------------------------*
L9:
.dwpsn "i2c_gpio.c",138,3
LDR V9, [SP, #0] ; |138|
STR V9, [SP, #8] ; |138|
.dwpsn "i2c_gpio.c",139,3
MOV V9, #2 ; |139|
STR V9, [SP, #12] ; |139|
.dwpsn "i2c_gpio.c",140,3
MOV V9, #4 ; |140|
STR V9, [SP, #16] ; |140|
.dwpsn "i2c_gpio.c",141,3
MOV V9, #6 ; |141|
STR V9, [SP, #20] ; |141|
;* --------------------------------------------------------------------------*
L10:
.dwpsn "i2c_gpio.c",145,4
LDRB A1, [SP, #12] ; |145|
BL _MSI2C_MasterPollingReceiveAbb ; |145|
; |145|
STR A1, [SP, #4] ; |145|
.dwpsn "i2c_gpio.c",146,4
MOV A3, #1 ; |146|
LDR V9, [SP, #8] ; |146|
LDR A2, [SP, #4] ; |146|
ORR V9, A2, A3, LSL V9 ; |146|
LDRB A1, [SP, #12] ; |146|
AND A2, V9, #255
BL _MSI2C_MasterPollingSendAbb ; |146|
; |146|
.dwpsn "i2c_gpio.c",149,4
LDRB A1, [SP, #16] ; |149|
BL _MSI2C_MasterPollingReceiveAbb ; |149|
; |149|
STR A1, [SP, #4] ; |149|
.dwpsn "i2c_gpio.c",150,3
MOV A3, #1 ; |150|
LDR A2, [SP, #4] ; |150|
LDR V9, [SP, #8] ; |150|
BIC V9, A2, A3, LSL V9 ; |150|
LDRB A1, [SP, #16] ; |150|
AND A2, V9, #255
BL _MSI2C_MasterPollingSendAbb ; |150|
; |150|
.dwpsn "i2c_gpio.c",152,5
LDRB A1, [SP, #20] ; |152|
BL _MSI2C_MasterPollingReceiveAbb ; |152|
; |152|
STR A1, [SP, #4] ; |152|
.dwpsn "i2c_gpio.c",153,3
MOV A3, #1 ; |153|
LDR A2, [SP, #4] ; |153|
LDR V9, [SP, #8] ; |153|
BIC V9, A2, A3, LSL V9 ; |153|
LDRB A1, [SP, #20] ; |153|
AND A2, V9, #255
BL _MSI2C_MasterPollingSendAbb ; |153|
; |153|
.dwpsn "i2c_gpio.c",155,1
ADD SP, SP, #24
.dwcfa 0x0e, 4
LDMFD SP!, {PC}
.dwattr DW$48, DW_AT_end_file("i2c_gpio.c")
.dwattr DW$48, DW_AT_end_line(0x9b)
.dwattr DW$48, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$48
.sect ".text"
.align 4
.clink
.armfunc _GPIO_E_low
.state32
.global _GPIO_E_low
DW$56 .dwtag DW_TAG_subprogram, DW_AT_name("GPIO_E_low"), DW_AT_symbol_name("_GPIO_E_low")
.dwattr DW$56, DW_AT_low_pc(_GPIO_E_low)
.dwattr DW$56, DW_AT_high_pc(0x00)
.dwattr DW$56, DW_AT_begin_file("i2c_gpio.c")
.dwattr DW$56, DW_AT_begin_line(0x9d)
.dwattr DW$56, DW_AT_begin_column(0x06)
.dwpsn "i2c_gpio.c",158,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: GPIO_E_low *
;* *
;* Regs Modified : A1,A2,A3,A4,V9,SP,LR,SR *
;* Regs Used : A1,A2,A3,A4,V9,SP,LR,SR *
;* Local Frame Size : 0 Args + 24 Auto + 4 Save = 28 byte *
;*****************************************************************************
_GPIO_E_low:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {LR}
.dwcfa 0x0e, 4
.dwcfa 0x80, 14, 1
SUB SP, SP, #24
.dwcfa 0x0e, 28
;* A1 assigned to _gpio_e_num
DW$57 .dwtag DW_TAG_formal_parameter, DW_AT_name("gpio_e_num"), DW_AT_symbol_name("_gpio_e_num")
.dwattr DW$57, DW_AT_type(*DW$T$10)
.dwattr DW$57, DW_AT_location[DW_OP_reg0]
DW$58 .dwtag DW_TAG_variable, DW_AT_name("gpio_e_num"), DW_AT_symbol_name("_gpio_e_num")
.dwattr DW$58, DW_AT_type(*DW$T$10)
.dwattr DW$58, DW_AT_location[DW_OP_breg13 0]
DW$59 .dwtag DW_TAG_variable, DW_AT_name("previous_content"), DW_AT_symbol_name("_previous_content")
.dwattr DW$59, DW_AT_type(*DW$T$10)
.dwattr DW$59, DW_AT_location[DW_OP_breg13 4]
DW$60 .dwtag DW_TAG_variable, DW_AT_name("num"), DW_AT_symbol_name("_num")
.dwattr DW$60, DW_AT_type(*DW$T$10)
.dwattr DW$60, DW_AT_location[DW_OP_breg13 8]
DW$61 .dwtag DW_TAG_variable, DW_AT_name("outputadd"), DW_AT_symbol_name("_outputadd")
.dwattr DW$61, DW_AT_type(*DW$T$10)
.dwattr DW$61, DW_AT_location[DW_OP_breg13 12]
DW$62 .dwtag DW_TAG_variable, DW_AT_name("reverseadd"), DW_AT_symbol_name("_reverseadd")
.dwattr DW$62, DW_AT_type(*DW$T$10)
.dwattr DW$62, DW_AT_location[DW_OP_breg13 16]
DW$63 .dwtag DW_TAG_variable, DW_AT_name("directionadd"), DW_AT_symbol_name("_directionadd")
.dwattr DW$63, DW_AT_type(*DW$T$10)
.dwattr DW$63, DW_AT_location[DW_OP_breg13 20]
STR A1, [SP, #0] ; |158|
.dwpsn "i2c_gpio.c",161,2
LDR V9, [SP, #0] ; |161|
STR V9, [SP, #8] ; |161|
.dwpsn "i2c_gpio.c",162,2
LDR V9, [SP, #8] ; |162|
CMP V9, #9 ; |162|
BLE L11 ; |162|
; |162|
;* --------------------------------------------------------------------------*
.dwpsn "i2c_gpio.c",164,3
LDR V9, [SP, #0] ; |164|
SUB V9, V9, #10 ; |164|
STR V9, [SP, #8] ; |164|
.dwpsn "i2c_gpio.c",165,3
MOV V9, #3 ; |165|
STR V9, [SP, #12] ; |165|
.dwpsn "i2c_gpio.c",166,3
MOV V9, #5 ; |166|
STR V9, [SP, #16] ; |166|
.dwpsn "i2c_gpio.c",167,3
MOV V9, #7 ; |167|
STR V9, [SP, #20] ; |167|
.dwpsn "i2c_gpio.c",168,2
B L12 ; |168|
; |168|
;* --------------------------------------------------------------------------*
L11:
.dwpsn "i2c_gpio.c",171,3
LDR V9, [SP, #0] ; |171|
STR V9, [SP, #8] ; |171|
.dwpsn "i2c_gpio.c",172,3
MOV V9, #2 ; |172|
STR V9, [SP, #12] ; |172|
.dwpsn "i2c_gpio.c",173,3
MOV V9, #4 ; |173|
STR V9, [SP, #16] ; |173|
.dwpsn "i2c_gpio.c",174,3
MOV V9, #6 ; |174|
STR V9, [SP, #20] ; |174|
;* --------------------------------------------------------------------------*
L12:
.dwpsn "i2c_gpio.c",176,4
LDRB A1, [SP, #12] ; |176|
BL _MSI2C_MasterPollingReceiveAbb ; |176|
; |176|
STR A1, [SP, #4] ; |176|
.dwpsn "i2c_gpio.c",177,4
MOV A3, #1 ; |177|
LDR V9, [SP, #8] ; |177|
LDR A2, [SP, #4] ; |177|
BIC V9, A2, A3, LSL V9 ; |177|
LDRB A1, [SP, #12] ; |177|
AND A2, V9, #255
BL _MSI2C_MasterPollingSendAbb ; |177|
; |177|
.dwpsn "i2c_gpio.c",180,5
LDRB A1, [SP, #16] ; |180|
BL _MSI2C_MasterPollingReceiveAbb ; |180|
; |180|
STR A1, [SP, #4] ; |180|
.dwpsn "i2c_gpio.c",181,5
MOV A3, #1 ; |181|
LDR A2, [SP, #4] ; |181|
LDR V9, [SP, #8] ; |181|
BIC V9, A2, A3, LSL V9 ; |181|
LDRB A1, [SP, #16] ; |181|
AND A2, V9, #255
BL _MSI2C_MasterPollingSendAbb ; |181|
; |181|
.dwpsn "i2c_gpio.c",183,5
LDRB A1, [SP, #20] ; |183|
BL _MSI2C_MasterPollingReceiveAbb ; |183|
; |183|
STR A1, [SP, #4] ; |183|
.dwpsn "i2c_gpio.c",184,5
MOV A3, #1 ; |184|
LDR A2, [SP, #4] ; |184|
LDR V9, [SP, #8] ; |184|
BIC V9, A2, A3, LSL V9 ; |184|
LDRB A1, [SP, #20] ; |184|
AND A2, V9, #255
BL _MSI2C_MasterPollingSendAbb ; |184|
; |184|
.dwpsn "i2c_gpio.c",186,1
ADD SP, SP, #24
.dwcfa 0x0e, 4
LDMFD SP!, {PC}
.dwattr DW$56, DW_AT_end_file("i2c_gpio.c")
.dwattr DW$56, DW_AT_end_line(0xba)
.dwattr DW$56, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$56
.sect ".text"
.align 4
.clink
.armfunc _GPIO_Eh_high
.state32
.global _GPIO_Eh_high
DW$64 .dwtag DW_TAG_subprogram, DW_AT_name("GPIO_Eh_high"), DW_AT_symbol_name("_GPIO_Eh_high")
.dwattr DW$64, DW_AT_low_pc(_GPIO_Eh_high)
.dwattr DW$64, DW_AT_high_pc(0x00)
.dwattr DW$64, DW_AT_begin_file("i2c_gpio.c")
.dwattr DW$64, DW_AT_begin_line(0xbd)
.dwattr DW$64, DW_AT_begin_column(0x06)
.dwpsn "i2c_gpio.c",190,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: GPIO_Eh_high *
;* *
;* Regs Modified : A1,A2,A3,A4,V9,SP,LR,SR *
;* Regs Used : A1,A2,A3,A4,V9,SP,LR,SR *
;* Local Frame Size : 0 Args + 4 Auto + 4 Save = 8 byte *
;*****************************************************************************
_GPIO_Eh_high:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {A4, LR}
.dwcfa 0x0e, 4
.dwcfa 0x80, 14, 1
.dwcfa 0x0e, 8
.dwcfa 0x80, 3, 2
.dwcfa 0x0e, 8
DW$65 .dwtag DW_TAG_variable, DW_AT_name("previous_content"), DW_AT_symbol_name("_previous_content")
.dwattr DW$65, DW_AT_type(*DW$T$10)
.dwattr DW$65, DW_AT_location[DW_OP_breg13 0]
.dwpsn "i2c_gpio.c",192,3
MOV A1, #3 ; |192|
BL _MSI2C_MasterPollingReceiveAbb ; |192|
; |192|
STR A1, [SP, #0] ; |192|
.dwpsn "i2c_gpio.c",193,3
MOV A2, #255 ; |193|
MOV A1, #3 ; |193|
BL _MSI2C_MasterPollingSendAbb ; |193|
; |193|
.dwpsn "i2c_gpio.c",196,4
MOV A1, #5 ; |196|
BL _MSI2C_MasterPollingReceiveAbb ; |196|
; |196|
STR A1, [SP, #0] ; |196|
.dwpsn "i2c_gpio.c",197,3
MOV A1, #5 ; |197|
MOV A2, #0 ; |197|
BL _MSI2C_MasterPollingSendAbb ; |197|
; |197|
.dwpsn "i2c_gpio.c",199,5
MOV A1, #7 ; |199|
BL _MSI2C_MasterPollingReceiveAbb ; |199|
; |199|
STR A1, [SP, #0] ; |199|
.dwpsn "i2c_gpio.c",200,3
MOV A1, #7 ; |200|
MOV A2, #0 ; |200|
BL _MSI2C_MasterPollingSendAbb ; |200|
; |200|
.dwpsn "i2c_gpio.c",202,1
.dwcfa 0x0e, 8
LDMFD SP!, {A4, PC}
.dwattr DW$64, DW_AT_end_file("i2c_gpio.c")
.dwattr DW$64, DW_AT_end_line(0xca)
.dwattr DW$64, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$64
.sect ".text"
.align 4
.clink
.armfunc _GPIO_Eh_low
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -