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

📄 gpio.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;******************************************************************************
;* TMS470 C/C++ Codegen                                             PC v4.1.4 *
;* Date/Time created: Wed Jun 25 14:11:29 2008                                *
;******************************************************************************
	.compiler_opts --abi=ti_arm9_abi --endian=little --float_support=fpalib --quiet --silicon_version=5e 
	.state32

DW$CU	.dwtag  DW_TAG_compile_unit
	.dwattr DW$CU, DW_AT_name("GPIO.c")
	.dwattr DW$CU, DW_AT_producer("TMS470 C/C++ Codegen PC v4.1.4 Copyright (c) 1996-2006 Texas Instruments Incorporated")
	.dwattr DW$CU, DW_AT_stmt_list(0x00)
	.dwattr DW$CU, DW_AT_TI_VERSION(0x01)

DW$1	.dwtag  DW_TAG_subprogram, DW_AT_name("ConfInterrupt"), DW_AT_symbol_name("_ConfInterrupt")
	.dwattr DW$1, DW_AT_declaration(0x01)
	.dwattr DW$1, DW_AT_external(0x01)
DW$2	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$11)
DW$3	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$11)
DW$4	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$11)
DW$5	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$11)
	.dwendtag DW$1


DW$6	.dwtag  DW_TAG_subprogram, DW_AT_name("EnableNewInterrupt"), DW_AT_symbol_name("_EnableNewInterrupt")
	.dwattr DW$6, DW_AT_declaration(0x01)
	.dwattr DW$6, DW_AT_external(0x01)
DW$7	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$11)
	.dwendtag DW$6


DW$8	.dwtag  DW_TAG_subprogram, DW_AT_name("IsrRegister"), DW_AT_symbol_name("_IsrRegister")
	.dwattr DW$8, DW_AT_type(*DW$T$11)
	.dwattr DW$8, DW_AT_declaration(0x01)
	.dwattr DW$8, DW_AT_external(0x01)
DW$9	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$11)
DW$10	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$25)
	.dwendtag DW$8


DW$11	.dwtag  DW_TAG_subprogram, DW_AT_name("CONFIG_PullEnable"), DW_AT_symbol_name("_CONFIG_PullEnable")
	.dwattr DW$11, DW_AT_declaration(0x01)
	.dwattr DW$11, DW_AT_external(0x01)
DW$12	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$28)
	.dwendtag DW$11


DW$13	.dwtag  DW_TAG_subprogram, DW_AT_name("CONFIG_SetPullUp"), DW_AT_symbol_name("_CONFIG_SetPullUp")
	.dwattr DW$13, DW_AT_declaration(0x01)
	.dwattr DW$13, DW_AT_external(0x01)
DW$14	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$28)
	.dwendtag DW$13


DW$15	.dwtag  DW_TAG_subprogram, DW_AT_name("CONFIG_SetPullDown"), DW_AT_symbol_name("_CONFIG_SetPullDown")
	.dwattr DW$15, DW_AT_declaration(0x01)
	.dwattr DW$15, DW_AT_external(0x01)
DW$16	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$28)
	.dwendtag DW$15


DW$17	.dwtag  DW_TAG_subprogram, DW_AT_name("UART_Printf"), DW_AT_symbol_name("_UART_Printf")
	.dwattr DW$17, DW_AT_declaration(0x01)
	.dwattr DW$17, DW_AT_external(0x01)
DW$18	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
DW$19	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$32)
DW$20	.dwtag  DW_TAG_unspecified_parameters
	.dwendtag DW$17


DW$21	.dwtag  DW_TAG_subprogram, DW_AT_name("UART_GetNum"), DW_AT_symbol_name("_UART_GetNum")
	.dwattr DW$21, DW_AT_type(*DW$T$10)
	.dwattr DW$21, DW_AT_declaration(0x01)
	.dwattr DW$21, DW_AT_external(0x01)
DW$22	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
	.dwendtag DW$21


DW$23	.dwtag  DW_TAG_subprogram, DW_AT_name("vikingII_isr_hander"), DW_AT_symbol_name("_vikingII_isr_hander")
	.dwattr DW$23, DW_AT_type(*DW$T$10)
	.dwattr DW$23, DW_AT_declaration(0x01)
	.dwattr DW$23, DW_AT_external(0x01)
	.global	_gpioirq
	.bss	_gpioirq,256,4
DW$24	.dwtag  DW_TAG_variable, DW_AT_name("gpioirq"), DW_AT_symbol_name("_gpioirq")
	.dwattr DW$24, DW_AT_location[DW_OP_addr _gpioirq]
	.dwattr DW$24, DW_AT_type(*DW$T$26)
	.dwattr DW$24, DW_AT_external(0x01)
;	C:\CCStudio_v3.3\tms470\cgtools\bin\acp470.exe -@C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI50012 
	.sect	".text"
	.align	4
	.clink
	.armfunc _gpio_dataout_high
	.state32
	.global	_gpio_dataout_high

DW$25	.dwtag  DW_TAG_subprogram, DW_AT_name("gpio_dataout_high"), DW_AT_symbol_name("_gpio_dataout_high")
	.dwattr DW$25, DW_AT_low_pc(_gpio_dataout_high)
	.dwattr DW$25, DW_AT_high_pc(0x00)
	.dwattr DW$25, DW_AT_begin_file("GPIO.c")
	.dwattr DW$25, DW_AT_begin_line(0x31)
	.dwattr DW$25, DW_AT_begin_column(0x06)
	.dwpsn	"GPIO.c",50,5

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: gpio_dataout_high                                          *
;*                                                                           *
;*   Regs Modified     : A1,A2,V9,SP,SR                                      *
;*   Regs Used         : A1,A2,V9,SP,SR                                      *
;*   Local Frame Size  : 0 Args + 16 Auto + 0 Save = 16 byte                 *
;*****************************************************************************
_gpio_dataout_high:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        SUB       SP, SP, #16
	.dwcfa	0x0e, 16
;* A1    assigned to _module_num
DW$26	.dwtag  DW_TAG_formal_parameter, DW_AT_name("module_num"), DW_AT_symbol_name("_module_num")
	.dwattr DW$26, DW_AT_type(*DW$T$10)
	.dwattr DW$26, DW_AT_location[DW_OP_reg0]
;* A2    assigned to _gpio_num
DW$27	.dwtag  DW_TAG_formal_parameter, DW_AT_name("gpio_num"), DW_AT_symbol_name("_gpio_num")
	.dwattr DW$27, DW_AT_type(*DW$T$10)
	.dwattr DW$27, DW_AT_location[DW_OP_reg1]
DW$28	.dwtag  DW_TAG_variable, DW_AT_name("module_num"), DW_AT_symbol_name("_module_num")
	.dwattr DW$28, DW_AT_type(*DW$T$10)
	.dwattr DW$28, DW_AT_location[DW_OP_breg13 0]
DW$29	.dwtag  DW_TAG_variable, DW_AT_name("gpio_num"), DW_AT_symbol_name("_gpio_num")
	.dwattr DW$29, DW_AT_type(*DW$T$10)
	.dwattr DW$29, DW_AT_location[DW_OP_breg13 4]
DW$30	.dwtag  DW_TAG_variable, DW_AT_name("temp"), DW_AT_symbol_name("_temp")
	.dwattr DW$30, DW_AT_type(*DW$T$11)
	.dwattr DW$30, DW_AT_location[DW_OP_breg13 8]
DW$31	.dwtag  DW_TAG_variable, DW_AT_name("temp2"), DW_AT_symbol_name("_temp2")
	.dwattr DW$31, DW_AT_type(*DW$T$11)
	.dwattr DW$31, DW_AT_location[DW_OP_breg13 12]
        STR       A2, [SP, #4]          ; |50| 
        STR       A1, [SP, #0]          ; |50| 
	.dwpsn	"GPIO.c",54,7
        LDR       V9, [SP, #4]          ; |54| 
        CMP       V9, #32               ; |54| 
        BGE       L1                    ; |54| 
        ; |54| 
;* --------------------------------------------------------------------------*
	.dwpsn	"GPIO.c",56,12
        LDR       V9, [SP, #0]          ; |56| 
        LDR       A1, CON1              ; |56| 
        MOV       V9, V9, ASR #1        ; |56| 
        LDR       V9, [A1, +V9, LSL #11] ; |56| 
        STR       V9, [SP, #8]          ; |56| 
	.dwpsn	"GPIO.c",57,12
        MOV       A2, #1                ; |57| 
        LDR       A1, [SP, #8]          ; |57| 
        LDR       V9, [SP, #4]          ; |57| 
        BIC       V9, A1, A2, LSL V9    ; |57| 
        LDR       A1, [SP, #0]          ; |57| 
        LDR       A2, CON1              ; |57| 
        MOV       A1, A1, ASR #1        ; |57| 
        STR       V9, [A2, +A1, LSL #11] ; |57| 
	.dwpsn	"GPIO.c",59,12
        LDR       V9, [SP, #0]          ; |59| 
        LDR       A1, CON2              ; |59| 
        MOV       V9, V9, ASR #1        ; |59| 
        LDR       V9, [A1, +V9, LSL #11] ; |59| 
        STR       V9, [SP, #12]         ; |59| 
	.dwpsn	"GPIO.c",60,12
        MOV       A2, #1                ; |60| 
        LDR       A1, [SP, #12]         ; |60| 
        LDR       V9, [SP, #4]          ; |60| 
        ORR       V9, A1, A2, LSL V9    ; |60| 
        LDR       A1, [SP, #0]          ; |60| 
        LDR       A2, CON2              ; |60| 
        MOV       A1, A1, ASR #1        ; |60| 
        STR       V9, [A2, +A1, LSL #11] ; |60| 
	.dwpsn	"GPIO.c",62,9
        B         L2                    ; |62| 
        ; |62| 
;* --------------------------------------------------------------------------*
L1:    
	.dwpsn	"GPIO.c",65,12
        LDR       V9, [SP, #0]          ; |65| 
        LDR       A1, CON1              ; |65| 
        MOV       V9, V9, ASR #1        ; |65| 
        LDR       V9, [A1, +V9, LSL #11] ; |65| 
        STR       V9, [SP, #8]          ; |65| 
	.dwpsn	"GPIO.c",66,12
        LDR       V9, [SP, #4]          ; |66| 
        MOV       A2, #1                ; |66| 
        LDR       A1, [SP, #8]          ; |66| 
        SUB       V9, V9, #32           ; |66| 
        BIC       V9, A1, A2, LSL V9    ; |66| 
        LDR       A1, [SP, #0]          ; |66| 
        LDR       A2, CON1              ; |66| 
        MOV       A1, A1, ASR #1        ; |66| 
        STR       V9, [A2, +A1, LSL #11] ; |66| 
	.dwpsn	"GPIO.c",68,12
        LDR       V9, [SP, #0]          ; |68| 
        LDR       A1, CON2              ; |68| 
        MOV       V9, V9, ASR #1        ; |68| 
        LDR       V9, [A1, +V9, LSL #11] ; |68| 
        STR       V9, [SP, #12]         ; |68| 
	.dwpsn	"GPIO.c",69,12
        LDR       V9, [SP, #4]          ; |69| 
        MOV       A2, #1                ; |69| 
        LDR       A1, [SP, #12]         ; |69| 
        SUB       V9, V9, #32           ; |69| 
        ORR       V9, A1, A2, LSL V9    ; |69| 
        LDR       A1, [SP, #0]          ; |69| 
        LDR       A2, CON2              ; |69| 
        MOV       A1, A1, ASR #1        ; |69| 
        STR       V9, [A2, +A1, LSL #11] ; |69| 
	.dwpsn	"GPIO.c",70,9
;* --------------------------------------------------------------------------*
L2:    
	.dwpsn	"GPIO.c",71,5
        ADD       SP, SP, #16
	.dwcfa	0x0e, 0
        BX        LR
	.dwattr DW$25, DW_AT_end_file("GPIO.c")
	.dwattr DW$25, DW_AT_end_line(0x47)
	.dwattr DW$25, DW_AT_end_column(0x05)
	.dwendentry
	.dwendtag DW$25

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

DW$32	.dwtag  DW_TAG_subprogram, DW_AT_name("gpio_dataout_low"), DW_AT_symbol_name("_gpio_dataout_low")
	.dwattr DW$32, DW_AT_low_pc(_gpio_dataout_low)
	.dwattr DW$32, DW_AT_high_pc(0x00)
	.dwattr DW$32, DW_AT_begin_file("GPIO.c")
	.dwattr DW$32, DW_AT_begin_line(0x4a)
	.dwattr DW$32, DW_AT_begin_column(0x06)
	.dwpsn	"GPIO.c",75,5

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: gpio_dataout_low                                           *
;*                                                                           *
;*   Regs Modified     : A1,A2,V9,SP,SR                                      *
;*   Regs Used         : A1,A2,V9,SP,SR                                      *
;*   Local Frame Size  : 0 Args + 16 Auto + 0 Save = 16 byte                 *
;*****************************************************************************
_gpio_dataout_low:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        SUB       SP, SP, #16
	.dwcfa	0x0e, 16
;* A1    assigned to _module_num
DW$33	.dwtag  DW_TAG_formal_parameter, DW_AT_name("module_num"), DW_AT_symbol_name("_module_num")
	.dwattr DW$33, DW_AT_type(*DW$T$10)
	.dwattr DW$33, DW_AT_location[DW_OP_reg0]
;* A2    assigned to _gpio_num
DW$34	.dwtag  DW_TAG_formal_parameter, DW_AT_name("gpio_num"), DW_AT_symbol_name("_gpio_num")
	.dwattr DW$34, DW_AT_type(*DW$T$10)
	.dwattr DW$34, DW_AT_location[DW_OP_reg1]
DW$35	.dwtag  DW_TAG_variable, DW_AT_name("module_num"), DW_AT_symbol_name("_module_num")
	.dwattr DW$35, DW_AT_type(*DW$T$10)
	.dwattr DW$35, DW_AT_location[DW_OP_breg13 0]
DW$36	.dwtag  DW_TAG_variable, DW_AT_name("gpio_num"), DW_AT_symbol_name("_gpio_num")
	.dwattr DW$36, DW_AT_type(*DW$T$10)
	.dwattr DW$36, DW_AT_location[DW_OP_breg13 4]
DW$37	.dwtag  DW_TAG_variable, DW_AT_name("temp"), DW_AT_symbol_name("_temp")
	.dwattr DW$37, DW_AT_type(*DW$T$11)
	.dwattr DW$37, DW_AT_location[DW_OP_breg13 8]
DW$38	.dwtag  DW_TAG_variable, DW_AT_name("temp2"), DW_AT_symbol_name("_temp2")
	.dwattr DW$38, DW_AT_type(*DW$T$11)
	.dwattr DW$38, DW_AT_location[DW_OP_breg13 12]
        STR       A2, [SP, #4]          ; |75| 
        STR       A1, [SP, #0]          ; |75| 
	.dwpsn	"GPIO.c",79,7
        LDR       V9, [SP, #4]          ; |79| 
        CMP       V9, #32               ; |79| 
        BGE       L3                    ; |79| 
        ; |79| 
;* --------------------------------------------------------------------------*
	.dwpsn	"GPIO.c",81,12
        LDR       V9, [SP, #0]          ; |81| 
        LDR       A1, CON1              ; |81| 
        MOV       V9, V9, ASR #1        ; |81| 
        LDR       V9, [A1, +V9, LSL #11] ; |81| 
        STR       V9, [SP, #8]          ; |81| 
	.dwpsn	"GPIO.c",82,12
        MOV       A2, #1                ; |82| 
        LDR       A1, [SP, #8]          ; |82| 
        LDR       V9, [SP, #4]          ; |82| 
        BIC       V9, A1, A2, LSL V9    ; |82| 
        LDR       A1, [SP, #0]          ; |82| 
        LDR       A2, CON1              ; |82| 
        MOV       A1, A1, ASR #1        ; |82| 
        STR       V9, [A2, +A1, LSL #11] ; |82| 
	.dwpsn	"GPIO.c",84,12
        LDR       V9, [SP, #0]          ; |84| 
        LDR       A1, CON3              ; |84| 
        MOV       V9, V9, ASR #1        ; |84| 
        LDR       V9, [A1, +V9, LSL #11] ; |84| 
        STR       V9, [SP, #12]         ; |84| 

⌨️ 快捷键说明

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