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

📄 gpio.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        LDR       A2, CON4              ; |152| 
        MOV       A1, A1, ASR #1        ; |152| 
        STR       V9, [A2, +A1, LSL #11] ; |152| 
	.dwpsn	"GPIO.c",154,12
        LDR       V9, [SP, #0]          ; |154| 
        LDR       A1, CON5              ; |154| 
        MOV       V9, V9, ASR #1        ; |154| 
        LDR       V9, [A1, +V9, LSL #11] ; |154| 
        STR       V9, [SP, #12]         ; |154| 
	.dwpsn	"GPIO.c",155,12
        LDR       V9, [SP, #4]          ; |155| 
        MOV       A2, #1                ; |155| 
        LDR       A1, [SP, #12]         ; |155| 
        SUB       V9, V9, #32           ; |155| 
        ORR       V9, A1, A2, LSL V9    ; |155| 
        LDR       A1, [SP, #0]          ; |155| 
        LDR       A2, CON5              ; |155| 
        MOV       A1, A1, ASR #1        ; |155| 
        STR       V9, [A2, +A1, LSL #11] ; |155| 
	.dwpsn	"GPIO.c",157,12
        B         L15                   ; |157| 
        ; |157| 
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L11:    
	.dwpsn	"GPIO.c",160,18
        LDR       V9, [SP, #0]          ; |160| 
        LDR       A1, CON6              ; |160| 
        MOV       V9, V9, ASR #1        ; |160| 
        LDR       V9, [A1, +V9, LSL #11] ; |160| 
        STR       V9, [SP, #12]         ; |160| 
	.dwpsn	"GPIO.c",161,18
        LDR       V9, [SP, #4]          ; |161| 
        MOV       A2, #1                ; |161| 
        LDR       A1, [SP, #12]         ; |161| 
        SUB       V9, V9, #32           ; |161| 
        ORR       V9, A1, A2, LSL V9    ; |161| 
        LDR       A1, [SP, #0]          ; |161| 
        LDR       A2, CON6              ; |161| 
        MOV       A1, A1, ASR #1        ; |161| 
        STR       V9, [A2, +A1, LSL #11] ; |161| 
	.dwpsn	"GPIO.c",162,20
        B         L16                   ; |162| 
        ; |162| 
;* --------------------------------------------------------------------------*
L12:    
	.dwpsn	"GPIO.c",165,19
        LDR       V9, [SP, #0]          ; |165| 
        LDR       A1, CON7              ; |165| 
        MOV       V9, V9, ASR #1        ; |165| 
        LDR       V9, [A1, +V9, LSL #11] ; |165| 
        STR       V9, [SP, #12]         ; |165| 
	.dwpsn	"GPIO.c",166,19
        LDR       V9, [SP, #4]          ; |166| 
        MOV       A2, #1                ; |166| 
        LDR       A1, [SP, #12]         ; |166| 
        SUB       V9, V9, #32           ; |166| 
        ORR       V9, A1, A2, LSL V9    ; |166| 
        LDR       A1, [SP, #0]          ; |166| 
        LDR       A2, CON7              ; |166| 
        MOV       A1, A1, ASR #1        ; |166| 
        STR       V9, [A2, +A1, LSL #11] ; |166| 
	.dwpsn	"GPIO.c",167,22
        B         L16                   ; |167| 
        ; |167| 
;* --------------------------------------------------------------------------*
L13:    
	.dwpsn	"GPIO.c",170,19
        LDR       V9, [SP, #0]          ; |170| 
        LDR       A1, CON8              ; |170| 
        MOV       V9, V9, ASR #1        ; |170| 
        LDR       V9, [A1, +V9, LSL #11] ; |170| 
        STR       V9, [SP, #12]         ; |170| 
	.dwpsn	"GPIO.c",171,19
        LDR       V9, [SP, #4]          ; |171| 
        MOV       A2, #1                ; |171| 
        LDR       A1, [SP, #12]         ; |171| 
        SUB       V9, V9, #32           ; |171| 
        ORR       V9, A1, A2, LSL V9    ; |171| 
        LDR       A1, [SP, #0]          ; |171| 
        LDR       A2, CON8              ; |171| 
        MOV       A1, A1, ASR #1        ; |171| 
        STR       V9, [A2, +A1, LSL #11] ; |171| 
	.dwpsn	"GPIO.c",172,22
        B         L16                   ; |172| 
        ; |172| 
;* --------------------------------------------------------------------------*
L14:    
	.dwpsn	"GPIO.c",175,19
        LDR       V9, [SP, #0]          ; |175| 
        LDR       A1, CON9              ; |175| 
        MOV       V9, V9, ASR #1        ; |175| 
        LDR       V9, [A1, +V9, LSL #11] ; |175| 
        STR       V9, [SP, #12]         ; |175| 
	.dwpsn	"GPIO.c",176,19
        LDR       V9, [SP, #4]          ; |176| 
        MOV       A2, #1                ; |176| 
        LDR       A1, [SP, #12]         ; |176| 
        SUB       V9, V9, #32           ; |176| 
        ORR       V9, A1, A2, LSL V9    ; |176| 
        LDR       A1, [SP, #0]          ; |176| 
        LDR       A2, CON9              ; |176| 
        MOV       A1, A1, ASR #1        ; |176| 
        STR       V9, [A2, +A1, LSL #11] ; |176| 
	.dwpsn	"GPIO.c",177,22
        B         L16                   ; |177| 
        ; |177| 
;* --------------------------------------------------------------------------*
L15:    
	.dwpsn	"GPIO.c",157,12
        LDR       V9, [SP, #8]          ; |157| 
        CMP       V9, #0                ; |157| 
        BEQ       L11                   ; |157| 
        ; |157| 
;* --------------------------------------------------------------------------*
        SUBS      V9, V9, #1            ; |157| 
        BEQ       L12                   ; |157| 
        ; |157| 
;* --------------------------------------------------------------------------*
        SUBS      V9, V9, #1            ; |157| 
        BEQ       L13                   ; |157| 
        ; |157| 
;* --------------------------------------------------------------------------*
        SUBS      V9, V9, #1            ; |157| 
        BEQ       L14                   ; |157| 
        ; |157| 
;* --------------------------------------------------------------------------*
L16:    
	.dwpsn	"GPIO.c",181,6
        MOV       V9, #1                ; |181| 
        LDR       A1, CON10             ; |181| 
        STR       V9, [A1, #0]          ; |181| 
	.dwpsn	"GPIO.c",182,6
        LDR       A1, CON11             ; |182| 
        LDR       V9, [A1, #0]          ; |182| 
        BIC       V9, V9, #16384        ; |182| 
        STR       V9, [A1, #0]          ; |182| 
	.dwpsn	"GPIO.c",183,9
        LDR       A1, CON11             ; |183| 
        LDR       V9, [A1, #0]          ; |183| 
        BIC       V9, V9, #1            ; |183| 
        STR       V9, [A1, #0]          ; |183| 
	.dwpsn	"GPIO.c",184,6
        LDR       A1, CON12             ; |184| 
        LDR       V9, [A1, #0]          ; |184| 
        BIC       V9, V9, #256          ; |184| 
        STR       V9, [A1, #0]          ; |184| 
	.dwpsn	"GPIO.c",185,3
        ADD       SP, SP, #16
	.dwcfa	0x0e, 0
        BX        LR
	.dwattr DW$39, DW_AT_end_file("GPIO.c")
	.dwattr DW$39, DW_AT_end_line(0xb9)
	.dwattr DW$39, DW_AT_end_column(0x03)
	.dwendentry
	.dwendtag DW$39

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

DW$47	.dwtag  DW_TAG_subprogram, DW_AT_name("gpio_readirq"), DW_AT_symbol_name("_gpio_readirq")
	.dwattr DW$47, DW_AT_low_pc(_gpio_readirq)
	.dwattr DW$47, DW_AT_high_pc(0x00)
	.dwattr DW$47, DW_AT_begin_file("GPIO.c")
	.dwattr DW$47, DW_AT_begin_line(0xc0)
	.dwattr DW$47, DW_AT_begin_column(0x05)
	.dwpsn	"GPIO.c",193,3

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: gpio_readirq                                               *
;*                                                                           *
;*   Regs Modified     : A1,V9,SP,SR                                         *
;*   Regs Used         : A1,V9,SP,SR                                         *
;*   Local Frame Size  : 0 Args + 24 Auto + 0 Save = 24 byte                 *
;*****************************************************************************
_gpio_readirq:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        SUB       SP, SP, #24
	.dwcfa	0x0e, 24
;* A1    assigned to _module_num
DW$48	.dwtag  DW_TAG_formal_parameter, DW_AT_name("module_num"), DW_AT_symbol_name("_module_num")
	.dwattr DW$48, DW_AT_type(*DW$T$10)
	.dwattr DW$48, DW_AT_location[DW_OP_reg0]
DW$49	.dwtag  DW_TAG_variable, DW_AT_name("module_num"), DW_AT_symbol_name("_module_num")
	.dwattr DW$49, DW_AT_type(*DW$T$10)
	.dwattr DW$49, DW_AT_location[DW_OP_breg13 0]
DW$50	.dwtag  DW_TAG_variable, DW_AT_name("temp"), DW_AT_symbol_name("_temp")
	.dwattr DW$50, DW_AT_type(*DW$T$11)
	.dwattr DW$50, DW_AT_location[DW_OP_breg13 4]
DW$51	.dwtag  DW_TAG_variable, DW_AT_name("num"), DW_AT_symbol_name("_num")
	.dwattr DW$51, DW_AT_type(*DW$T$11)
	.dwattr DW$51, DW_AT_location[DW_OP_breg13 8]
DW$52	.dwtag  DW_TAG_variable, DW_AT_name("gpio_irq_num"), DW_AT_symbol_name("_gpio_irq_num")
	.dwattr DW$52, DW_AT_type(*DW$T$11)
	.dwattr DW$52, DW_AT_location[DW_OP_breg13 12]
DW$53	.dwtag  DW_TAG_variable, DW_AT_name("shift_num"), DW_AT_symbol_name("_shift_num")
	.dwattr DW$53, DW_AT_type(*DW$T$10)
	.dwattr DW$53, DW_AT_location[DW_OP_breg13 16]
DW$54	.dwtag  DW_TAG_variable, DW_AT_name("shift_data"), DW_AT_symbol_name("_shift_data")
	.dwattr DW$54, DW_AT_type(*DW$T$10)
	.dwattr DW$54, DW_AT_location[DW_OP_breg13 20]
        STR       A1, [SP, #0]          ; |193| 
	.dwpsn	"GPIO.c",198,9
        MOV       V9, #1                ; |198| 
        STR       V9, [SP, #20]         ; |198| 
	.dwpsn	"GPIO.c",200,5
        LDR       V9, [SP, #0]          ; |200| 
        LDR       A1, CON13             ; |200| 
        MOV       V9, V9, ASR #1        ; |200| 
        LDR       V9, [A1, +V9, LSL #11] ; |200| 
        STR       V9, [SP, #4]          ; |200| 
	.dwpsn	"GPIO.c",202,9
        MOV       V9, #0                ; |202| 
        STR       V9, [SP, #16]         ; |202| 
	.dwpsn	"GPIO.c",202,21
        LDR       V9, [SP, #16]         ; |202| 
        CMP       V9, #31               ; |202| 
        BGE       L20                   ; |202| 
        ; |202| 
;* --------------------------------------------------------------------------*
;*   BEGIN LOOP L17
;*
;*   Loop source line                : 202
;*   Loop closing brace source line  : 215
;*   Known Minimum Trip Count        : 1
;*   Known Maximum Trip Count        : 4294967295
;*   Known Max Trip Count Factor     : 1
;* --------------------------------------------------------------------------*
L17:    
DW$L$_gpio_readirq$2$B:
	.dwpsn	"GPIO.c",204,11
        LDR       V9, [SP, #20]         ; |204| 
        LDR       A1, [SP, #4]          ; |204| 
        AND       V9, A1, V9            ; |204| 
        STR       V9, [SP, #8]          ; |204| 
	.dwpsn	"GPIO.c",205,11
        LDR       V9, [SP, #20]         ; |205| 
        MOV       V9, V9, LSL #1        ; |205| 
        STR       V9, [SP, #20]         ; |205| 
	.dwpsn	"GPIO.c",206,11
        LDR       V9, [SP, #8]          ; |206| 
        CMP       V9, #0                ; |206| 
        BEQ       L19                   ; |206| 
        ; |206| 
DW$L$_gpio_readirq$2$E:
;* --------------------------------------------------------------------------*
	.dwpsn	"GPIO.c",208,15
        LDR       V9, [SP, #16]         ; |208| 
        STR       V9, [SP, #12]         ; |208| 
	.dwpsn	"GPIO.c",209,15
        LDR       V9, [SP, #0]          ; |209| 
        CMP       V9, #1                ; |209| 
        BNE       L18                   ; |209| 
        ; |209| 
;* --------------------------------------------------------------------------*
	.dwpsn	"GPIO.c",209,33
        LDR       A1, [SP, #12]         ; |209| 
        B         L21                   ; |209| 
        ; |209| 
;* --------------------------------------------------------------------------*
L18:    
	.dwpsn	"GPIO.c",210,20
        LDR       V9, [SP, #12]         ; |210| 
        ADD       A1, V9, #32           ; |210| 
        B         L21                   ; |210| 
        ; |210| 
;* --------------------------------------------------------------------------*
L19:    
DW$L$_gpio_readirq$6$B:
	.dwpsn	"GPIO.c",202,34
        LDR       V9, [SP, #16]         ; |202| 
        ADD       V9, V9, #1            ; |202| 
        STR       V9, [SP, #16]         ; |202| 
	.dwpsn	"GPIO.c",202,21
        LDR       V9, [SP, #16]         ; |202| 
        CMP       V9, #31               ; |202| 
        BLT       L17                   ; |202| 
        ; |202| 
DW$L$_gpio_readirq$6$E:
;* --------------------------------------------------------------------------*
L20:    
	.dwpsn	"GPIO.c",216,5
        LDR       V9, [SP, #8]          ; |216| 
        CMP       V9, #0                ; |216| 
        BNE       L21                   ; |216| 
        ; |216| 
;* --------------------------------------------------------------------------*
	.dwpsn	"GPIO.c",216,15
        MOV       A1, #65               ; |216| 
;* --------------------------------------------------------------------------*
L21:    
	.dwpsn	"GPIO.c",219,4
        ADD       SP, SP, #24           ; |216| 
	.dwcfa	0x0e, 0
        BX        LR

DW$55	.dwtag  DW_TAG_loop

⌨️ 快捷键说明

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