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

📄 gpio.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	.dwpsn	"GPIO.c",85,12
        MOV       A2, #1                ; |85| 
        LDR       A1, [SP, #12]         ; |85| 
        LDR       V9, [SP, #4]          ; |85| 
        ORR       V9, A1, A2, LSL V9    ; |85| 
        LDR       A1, [SP, #0]          ; |85| 
        LDR       A2, CON3              ; |85| 
        MOV       A1, A1, ASR #1        ; |85| 
        STR       V9, [A2, +A1, LSL #11] ; |85| 
	.dwpsn	"GPIO.c",87,9
        B         L4                    ; |87| 
        ; |87| 
;* --------------------------------------------------------------------------*
L3:    
	.dwpsn	"GPIO.c",90,12
        LDR       V9, [SP, #0]          ; |90| 
        LDR       A1, CON1              ; |90| 
        MOV       V9, V9, ASR #1        ; |90| 
        LDR       V9, [A1, +V9, LSL #11] ; |90| 
        STR       V9, [SP, #8]          ; |90| 
	.dwpsn	"GPIO.c",91,12
        LDR       V9, [SP, #4]          ; |91| 
        MOV       A2, #1                ; |91| 
        LDR       A1, [SP, #8]          ; |91| 
        SUB       V9, V9, #32           ; |91| 
        BIC       V9, A1, A2, LSL V9    ; |91| 
        LDR       A1, [SP, #0]          ; |91| 
        LDR       A2, CON1              ; |91| 
        MOV       A1, A1, ASR #1        ; |91| 
        STR       V9, [A2, +A1, LSL #11] ; |91| 
	.dwpsn	"GPIO.c",93,12
        LDR       V9, [SP, #0]          ; |93| 
        LDR       A1, CON3              ; |93| 
        MOV       V9, V9, ASR #1        ; |93| 
        LDR       V9, [A1, +V9, LSL #11] ; |93| 
        STR       V9, [SP, #12]         ; |93| 
	.dwpsn	"GPIO.c",94,12
        LDR       V9, [SP, #4]          ; |94| 
        MOV       A2, #1                ; |94| 
        LDR       A1, [SP, #12]         ; |94| 
        SUB       V9, V9, #32           ; |94| 
        ORR       V9, A1, A2, LSL V9    ; |94| 
        LDR       A1, [SP, #0]          ; |94| 
        LDR       A2, CON3              ; |94| 
        MOV       A1, A1, ASR #1        ; |94| 
        STR       V9, [A2, +A1, LSL #11] ; |94| 
	.dwpsn	"GPIO.c",95,9
;* --------------------------------------------------------------------------*
L4:    
	.dwpsn	"GPIO.c",96,5
        ADD       SP, SP, #16
	.dwcfa	0x0e, 0
        BX        LR
	.dwattr DW$32, DW_AT_end_file("GPIO.c")
	.dwattr DW$32, DW_AT_end_line(0x60)
	.dwattr DW$32, DW_AT_end_column(0x05)
	.dwendentry
	.dwendtag DW$32

	.sect	".text"
	.align	4
	.clink
	.armfunc _gpio_setirq
	.state32
	.global	_gpio_setirq

DW$39	.dwtag  DW_TAG_subprogram, DW_AT_name("gpio_setirq"), DW_AT_symbol_name("_gpio_setirq")
	.dwattr DW$39, DW_AT_low_pc(_gpio_setirq)
	.dwattr DW$39, DW_AT_high_pc(0x00)
	.dwattr DW$39, DW_AT_begin_file("GPIO.c")
	.dwattr DW$39, DW_AT_begin_line(0x69)
	.dwattr DW$39, DW_AT_begin_column(0x06)
	.dwpsn	"GPIO.c",106,3

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: gpio_setirq                                                *
;*                                                                           *
;*   Regs Modified     : A1,A2,V9,SP,SR                                      *
;*   Regs Used         : A1,A2,A3,V9,SP,SR                                   *
;*   Local Frame Size  : 0 Args + 16 Auto + 0 Save = 16 byte                 *
;*****************************************************************************
_gpio_setirq:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        SUB       SP, SP, #16
	.dwcfa	0x0e, 16
;* A1    assigned to _module_num
DW$40	.dwtag  DW_TAG_formal_parameter, DW_AT_name("module_num"), DW_AT_symbol_name("_module_num")
	.dwattr DW$40, DW_AT_type(*DW$T$10)
	.dwattr DW$40, DW_AT_location[DW_OP_reg0]
;* A2    assigned to _gpio_num
DW$41	.dwtag  DW_TAG_formal_parameter, DW_AT_name("gpio_num"), DW_AT_symbol_name("_gpio_num")
	.dwattr DW$41, DW_AT_type(*DW$T$10)
	.dwattr DW$41, DW_AT_location[DW_OP_reg1]
;* A3    assigned to _trigger_vec
DW$42	.dwtag  DW_TAG_formal_parameter, DW_AT_name("trigger_vec"), DW_AT_symbol_name("_trigger_vec")
	.dwattr DW$42, DW_AT_type(*DW$T$38)
	.dwattr DW$42, DW_AT_location[DW_OP_reg2]
DW$43	.dwtag  DW_TAG_variable, DW_AT_name("module_num"), DW_AT_symbol_name("_module_num")
	.dwattr DW$43, DW_AT_type(*DW$T$10)
	.dwattr DW$43, DW_AT_location[DW_OP_breg13 0]
DW$44	.dwtag  DW_TAG_variable, DW_AT_name("gpio_num"), DW_AT_symbol_name("_gpio_num")
	.dwattr DW$44, DW_AT_type(*DW$T$10)
	.dwattr DW$44, DW_AT_location[DW_OP_breg13 4]
DW$45	.dwtag  DW_TAG_variable, DW_AT_name("trigger_vec"), DW_AT_symbol_name("_trigger_vec")
	.dwattr DW$45, DW_AT_type(*DW$T$38)
	.dwattr DW$45, DW_AT_location[DW_OP_breg13 8]
DW$46	.dwtag  DW_TAG_variable, DW_AT_name("temp"), DW_AT_symbol_name("_temp")
	.dwattr DW$46, DW_AT_type(*DW$T$11)
	.dwattr DW$46, DW_AT_location[DW_OP_breg13 12]
        STR       A3, [SP, #8]          ; |106| 
        STR       A2, [SP, #4]          ; |106| 
        STR       A1, [SP, #0]          ; |106| 
	.dwpsn	"GPIO.c",111,6
        LDR       V9, [SP, #4]          ; |111| 
        CMP       V9, #32               ; |111| 
        BGE       L10                   ; |111| 
        ; |111| 
;* --------------------------------------------------------------------------*
	.dwpsn	"GPIO.c",113,11
        LDR       V9, [SP, #0]          ; |113| 
        LDR       A1, CON1              ; |113| 
        MOV       V9, V9, ASR #1        ; |113| 
        LDR       V9, [A1, +V9, LSL #11] ; |113| 
        STR       V9, [SP, #12]         ; |113| 
	.dwpsn	"GPIO.c",114,11
        MOV       A2, #1                ; |114| 
        LDR       A1, [SP, #12]         ; |114| 
        LDR       V9, [SP, #4]          ; |114| 
        ORR       V9, A1, A2, LSL V9    ; |114| 
        LDR       A1, [SP, #0]          ; |114| 
        LDR       A2, CON1              ; |114| 
        MOV       A1, A1, ASR #1        ; |114| 
        STR       V9, [A2, +A1, LSL #11] ; |114| 
	.dwpsn	"GPIO.c",116,11
        LDR       V9, [SP, #0]          ; |116| 
        LDR       A1, CON4              ; |116| 
        MOV       V9, V9, ASR #1        ; |116| 
        LDR       V9, [A1, +V9, LSL #11] ; |116| 
        STR       V9, [SP, #12]         ; |116| 
	.dwpsn	"GPIO.c",117,11
        MOV       A2, #1                ; |117| 
        LDR       A1, [SP, #12]         ; |117| 
        LDR       V9, [SP, #4]          ; |117| 
        ORR       V9, A1, A2, LSL V9    ; |117| 
        LDR       A1, [SP, #0]          ; |117| 
        LDR       A2, CON4              ; |117| 
        MOV       A1, A1, ASR #1        ; |117| 
        STR       V9, [A2, +A1, LSL #11] ; |117| 
	.dwpsn	"GPIO.c",119,11
        LDR       V9, [SP, #0]          ; |119| 
        LDR       A1, CON5              ; |119| 
        MOV       V9, V9, ASR #1        ; |119| 
        LDR       V9, [A1, +V9, LSL #11] ; |119| 
        STR       V9, [SP, #12]         ; |119| 
	.dwpsn	"GPIO.c",120,11
        MOV       A2, #1                ; |120| 
        LDR       A1, [SP, #12]         ; |120| 
        LDR       V9, [SP, #4]          ; |120| 
        ORR       V9, A1, A2, LSL V9    ; |120| 
        LDR       A1, [SP, #0]          ; |120| 
        LDR       A2, CON5              ; |120| 
        MOV       A1, A1, ASR #1        ; |120| 
        STR       V9, [A2, +A1, LSL #11] ; |120| 
	.dwpsn	"GPIO.c",122,11
        B         L9                    ; |122| 
        ; |122| 
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L5:    
	.dwpsn	"GPIO.c",125,19
        LDR       V9, [SP, #0]          ; |125| 
        LDR       A1, CON6              ; |125| 
        MOV       V9, V9, ASR #1        ; |125| 
        LDR       V9, [A1, +V9, LSL #11] ; |125| 
        STR       V9, [SP, #12]         ; |125| 
	.dwpsn	"GPIO.c",126,19
        MOV       A2, #1                ; |126| 
        LDR       A1, [SP, #12]         ; |126| 
        LDR       V9, [SP, #4]          ; |126| 
        ORR       V9, A1, A2, LSL V9    ; |126| 
        LDR       A1, [SP, #0]          ; |126| 
        LDR       A2, CON6              ; |126| 
        MOV       A1, A1, ASR #1        ; |126| 
        STR       V9, [A2, +A1, LSL #11] ; |126| 
	.dwpsn	"GPIO.c",127,20
        B         L16                   ; |127| 
        ; |127| 
;* --------------------------------------------------------------------------*
L6:    
	.dwpsn	"GPIO.c",130,19
        LDR       V9, [SP, #0]          ; |130| 
        LDR       A1, CON7              ; |130| 
        MOV       V9, V9, ASR #1        ; |130| 
        LDR       V9, [A1, +V9, LSL #11] ; |130| 
        STR       V9, [SP, #12]         ; |130| 
	.dwpsn	"GPIO.c",131,19
        MOV       A2, #1                ; |131| 
        LDR       A1, [SP, #12]         ; |131| 
        LDR       V9, [SP, #4]          ; |131| 
        ORR       V9, A1, A2, LSL V9    ; |131| 
        LDR       A1, [SP, #0]          ; |131| 
        LDR       A2, CON7              ; |131| 
        MOV       A1, A1, ASR #1        ; |131| 
        STR       V9, [A2, +A1, LSL #11] ; |131| 
	.dwpsn	"GPIO.c",132,20
        B         L16                   ; |132| 
        ; |132| 
;* --------------------------------------------------------------------------*
L7:    
	.dwpsn	"GPIO.c",135,19
        LDR       V9, [SP, #0]          ; |135| 
        LDR       A1, CON8              ; |135| 
        MOV       V9, V9, ASR #1        ; |135| 
        LDR       V9, [A1, +V9, LSL #11] ; |135| 
        STR       V9, [SP, #12]         ; |135| 
	.dwpsn	"GPIO.c",136,19
        MOV       A2, #1                ; |136| 
        LDR       A1, [SP, #12]         ; |136| 
        LDR       V9, [SP, #4]          ; |136| 
        ORR       V9, A1, A2, LSL V9    ; |136| 
        LDR       A1, [SP, #0]          ; |136| 
        LDR       A2, CON8              ; |136| 
        MOV       A1, A1, ASR #1        ; |136| 
        STR       V9, [A2, +A1, LSL #11] ; |136| 
	.dwpsn	"GPIO.c",137,20
        B         L16                   ; |137| 
        ; |137| 
;* --------------------------------------------------------------------------*
L8:    
	.dwpsn	"GPIO.c",140,19
        LDR       V9, [SP, #0]          ; |140| 
        LDR       A1, CON9              ; |140| 
        MOV       V9, V9, ASR #1        ; |140| 
        LDR       V9, [A1, +V9, LSL #11] ; |140| 
        STR       V9, [SP, #12]         ; |140| 
	.dwpsn	"GPIO.c",141,19
        MOV       A2, #1                ; |141| 
        LDR       A1, [SP, #12]         ; |141| 
        LDR       V9, [SP, #4]          ; |141| 
        ORR       V9, A1, A2, LSL V9    ; |141| 
        LDR       A1, [SP, #0]          ; |141| 
        LDR       A2, CON9              ; |141| 
        MOV       A1, A1, ASR #1        ; |141| 
        STR       V9, [A2, +A1, LSL #11] ; |141| 
	.dwpsn	"GPIO.c",142,20
        B         L16                   ; |142| 
        ; |142| 
;* --------------------------------------------------------------------------*
L9:    
	.dwpsn	"GPIO.c",122,11
        LDR       V9, [SP, #8]          ; |122| 
        CMP       V9, #0                ; |122| 
        BEQ       L5                    ; |122| 
        ; |122| 
;* --------------------------------------------------------------------------*
        SUBS      V9, V9, #1            ; |122| 
        BEQ       L6                    ; |122| 
        ; |122| 
;* --------------------------------------------------------------------------*
        SUBS      V9, V9, #1            ; |122| 
        BEQ       L7                    ; |122| 
        ; |122| 
;* --------------------------------------------------------------------------*
        SUBS      V9, V9, #1            ; |122| 
        BEQ       L8                    ; |122| 
        ; |122| 
;* --------------------------------------------------------------------------*
        B         L16                   ; |122| 
        ; |122| 
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L10:    
	.dwpsn	"GPIO.c",148,12
        LDR       V9, [SP, #0]          ; |148| 
        LDR       A1, CON1              ; |148| 
        MOV       V9, V9, ASR #1        ; |148| 
        LDR       V9, [A1, +V9, LSL #11] ; |148| 
        STR       V9, [SP, #12]         ; |148| 
	.dwpsn	"GPIO.c",149,12
        LDR       V9, [SP, #4]          ; |149| 
        MOV       A2, #1                ; |149| 
        LDR       A1, [SP, #12]         ; |149| 
        SUB       V9, V9, #32           ; |149| 
        ORR       V9, A1, A2, LSL V9    ; |149| 
        LDR       A1, [SP, #0]          ; |149| 
        LDR       A2, CON1              ; |149| 
        MOV       A1, A1, ASR #1        ; |149| 
        STR       V9, [A2, +A1, LSL #11] ; |149| 
	.dwpsn	"GPIO.c",151,12
        LDR       V9, [SP, #0]          ; |151| 
        LDR       A1, CON4              ; |151| 
        MOV       V9, V9, ASR #1        ; |151| 
        LDR       V9, [A1, +V9, LSL #11] ; |151| 
        STR       V9, [SP, #12]         ; |151| 
	.dwpsn	"GPIO.c",152,12
        LDR       V9, [SP, #4]          ; |152| 
        MOV       A2, #1                ; |152| 
        LDR       A1, [SP, #12]         ; |152| 
        SUB       V9, V9, #32           ; |152| 
        ORR       V9, A1, A2, LSL V9    ; |152| 
        LDR       A1, [SP, #0]          ; |152| 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -