⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 i2c_gpio.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 4 页
字号:
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 + -