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

📄 kbc.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;******************************************************************************
;* TMS470 C/C++ Codegen                                             PC v4.1.4 *
;* Date/Time created: Wed Jun 25 14:11:35 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("KBC.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)
;*****************************************************************************
;* CINIT RECORDS                                                             *
;*****************************************************************************
	.sect	".cinit"
	.align	4
	.field  	4,32
	.field  	_kbcInterruptFlag+0,32
	.field  	0,32			; _kbcInterruptFlag @ 0

	.sect	".cinit"
	.align	4
	.field  	4,32
	.field  	_KBCFLAG+0,32
	.field  	0,32			; _KBCFLAG @ 0

	.sect	".cinit"
	.align	4
	.field  	4,32
	.field  	_keyPadFlag+0,32
	.field  	0,32			; _keyPadFlag @ 0


DW$1	.dwtag  DW_TAG_subprogram, DW_AT_name("UART_Printf"), DW_AT_symbol_name("_UART_Printf")
	.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$10)
DW$3	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$20)
DW$4	.dwtag  DW_TAG_unspecified_parameters
	.dwendtag DW$1


DW$5	.dwtag  DW_TAG_subprogram, DW_AT_name("Setgroupbit"), DW_AT_symbol_name("_Setgroupbit")
	.dwattr DW$5, DW_AT_declaration(0x01)
	.dwattr DW$5, DW_AT_external(0x01)
DW$6	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
DW$7	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
DW$8	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
DW$9	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
	.dwendtag DW$5


DW$10	.dwtag  DW_TAG_subprogram, DW_AT_name("Setgroup16bit"), DW_AT_symbol_name("_Setgroup16bit")
	.dwattr DW$10, DW_AT_declaration(0x01)
	.dwattr DW$10, DW_AT_external(0x01)
DW$11	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
DW$12	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
DW$13	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
DW$14	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
	.dwendtag DW$10


DW$15	.dwtag  DW_TAG_subprogram, DW_AT_name("IsrRegister"), DW_AT_symbol_name("_IsrRegister")
	.dwattr DW$15, DW_AT_type(*DW$T$10)
	.dwattr DW$15, DW_AT_declaration(0x01)
	.dwattr DW$15, DW_AT_external(0x01)
	.global	_kbcInterruptFlag
	.bss	_kbcInterruptFlag,4,4
DW$16	.dwtag  DW_TAG_variable, DW_AT_name("kbcInterruptFlag"), DW_AT_symbol_name("_kbcInterruptFlag")
	.dwattr DW$16, DW_AT_location[DW_OP_addr _kbcInterruptFlag]
	.dwattr DW$16, DW_AT_type(*DW$T$11)
	.dwattr DW$16, DW_AT_external(0x01)
	.global	_KBCFLAG
	.bss	_KBCFLAG,4,4
DW$17	.dwtag  DW_TAG_variable, DW_AT_name("KBCFLAG"), DW_AT_symbol_name("_KBCFLAG")
	.dwattr DW$17, DW_AT_location[DW_OP_addr _KBCFLAG]
	.dwattr DW$17, DW_AT_type(*DW$T$11)
	.dwattr DW$17, DW_AT_external(0x01)
	.global	_keyid
	.bss	_keyid,36,4
DW$18	.dwtag  DW_TAG_variable, DW_AT_name("keyid"), DW_AT_symbol_name("_keyid")
	.dwattr DW$18, DW_AT_location[DW_OP_addr _keyid]
	.dwattr DW$18, DW_AT_type(*DW$T$31)
	.dwattr DW$18, DW_AT_external(0x01)
	.global	_keyPadFlag
	.bss	_keyPadFlag,4,4
DW$19	.dwtag  DW_TAG_variable, DW_AT_name("keyPadFlag"), DW_AT_symbol_name("_keyPadFlag")
	.dwattr DW$19, DW_AT_location[DW_OP_addr _keyPadFlag]
	.dwattr DW$19, DW_AT_type(*DW$T$10)
	.dwattr DW$19, DW_AT_external(0x01)
;	C:\CCStudio_v3.3\tms470\cgtools\bin\acp470.exe -@C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI85212 
	.sect	".text"
	.align	4
	.clink
	.armfunc _configureclockofkbc
	.state32
	.global	_configureclockofkbc

DW$20	.dwtag  DW_TAG_subprogram, DW_AT_name("configureclockofkbc"), DW_AT_symbol_name("_configureclockofkbc")
	.dwattr DW$20, DW_AT_low_pc(_configureclockofkbc)
	.dwattr DW$20, DW_AT_high_pc(0x00)
	.dwattr DW$20, DW_AT_begin_file("KBC.c")
	.dwattr DW$20, DW_AT_begin_line(0x1e)
	.dwattr DW$20, DW_AT_begin_column(0x06)
	.dwpsn	"KBC.c",31,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: configureclockofkbc                                        *
;*                                                                           *
;*   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 + 0 Auto + 4 Save = 4 byte                   *
;*****************************************************************************
_configureclockofkbc:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
	.dwcfa	0x0e, 4
	.dwpsn	"KBC.c",32,4
        LDR       V9, CON1              ; |32| 
        MOV       A4, #1                ; |32| 
        MOV       A3, #1                ; |32| 
        MOV       A2, #11               ; |32| 
        LDR       A1, [V9, #0]          ; |32| 
        BL        _Setgroupbit          ; |32| 
        ; |32| 
	.dwpsn	"KBC.c",34,4
        LDR       V9, CON1              ; |34| 
        MOV       A4, #1                ; |34| 
        MOV       A3, #1                ; |34| 
        MOV       A2, #7                ; |34| 
        LDR       A1, [V9, #0]          ; |34| 
        BL        _Setgroupbit          ; |34| 
        ; |34| 
	.dwpsn	"KBC.c",36,3
	.dwcfa	0x0e, 4
        LDMFD     SP!, {PC}
	.dwattr DW$20, DW_AT_end_file("KBC.c")
	.dwattr DW$20, DW_AT_end_line(0x24)
	.dwattr DW$20, DW_AT_end_column(0x03)
	.dwendentry
	.dwendtag DW$20

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

DW$21	.dwtag  DW_TAG_subprogram, DW_AT_name("initkbcinterface"), DW_AT_symbol_name("_initkbcinterface")
	.dwattr DW$21, DW_AT_low_pc(_initkbcinterface)
	.dwattr DW$21, DW_AT_high_pc(0x00)
	.dwattr DW$21, DW_AT_begin_file("KBC.c")
	.dwattr DW$21, DW_AT_begin_line(0x2d)
	.dwattr DW$21, DW_AT_begin_column(0x06)
	.dwpsn	"KBC.c",46,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: initkbcinterface                                           *
;*                                                                           *
;*   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 + 0 Auto + 4 Save = 4 byte                   *
;*****************************************************************************
_initkbcinterface:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
	.dwcfa	0x0e, 4
	.dwpsn	"KBC.c",50,3
        LDR       A1, CON6              ; |50| 
        MOV       A4, #1                ; |50| 
        MOV       A3, #1                ; |50| 
        MOV       A2, #1                ; |50| 
        BL        _Setgroup16bit        ; |50| 
        ; |50| 
	.dwpsn	"KBC.c",51,3
        MOV       A4, #1                ; |51| 
        MOV       A3, #3                ; |51| 
        MOV       A2, #0                ; |51| 
        LDR       A1, CON10             ; |51| 
        BL        _Setgroup16bit        ; |51| 
        ; |51| 
	.dwpsn	"KBC.c",52,3
        MOV       A4, #5                ; |52| 
        MOV       A3, #3                ; |52| 
        MOV       A2, #2                ; |52| 
        LDR       A1, CON6              ; |52| 
        BL        _Setgroup16bit        ; |52| 
        ; |52| 
	.dwpsn	"KBC.c",54,3
        MOV       A4, #63               ; |54| 
        MOV       A3, #6                ; |54| 
        MOV       A2, #0                ; |54| 
        LDR       A1, CON16             ; |54| 
        BL        _Setgroup16bit        ; |54| 
        ; |54| 
	.dwpsn	"KBC.c",55,3
	.dwcfa	0x0e, 4
        LDMFD     SP!, {PC}
	.dwattr DW$21, DW_AT_end_file("KBC.c")
	.dwattr DW$21, DW_AT_end_line(0x37)
	.dwattr DW$21, DW_AT_end_column(0x03)
	.dwendentry
	.dwendtag DW$21

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

DW$22	.dwtag  DW_TAG_subprogram, DW_AT_name("kbcinthprocess"), DW_AT_symbol_name("_kbcinthprocess")
	.dwattr DW$22, DW_AT_low_pc(_kbcinthprocess)
	.dwattr DW$22, DW_AT_high_pc(0x00)
	.dwattr DW$22, DW_AT_begin_file("KBC.c")
	.dwattr DW$22, DW_AT_begin_line(0x40)
	.dwattr DW$22, DW_AT_begin_column(0x06)
	.dwpsn	"KBC.c",65,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: kbcinthprocess                                             *
;*                                                                           *
;*   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 + 12 Auto + 4 Save = 16 byte                 *
;*****************************************************************************
_kbcinthprocess:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {A2, A3, A4, LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
	.dwcfa	0x0e, 8
	.dwcfa	0x80, 3, 2
	.dwcfa	0x0e, 12
	.dwcfa	0x80, 2, 3
	.dwcfa	0x0e, 16
	.dwcfa	0x80, 1, 4
	.dwcfa	0x0e, 16
DW$23	.dwtag  DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
	.dwattr DW$23, DW_AT_type(*DW$T$10)
	.dwattr DW$23, DW_AT_location[DW_OP_breg13 0]
DW$24	.dwtag  DW_TAG_variable, DW_AT_name("kbcIntNum"), DW_AT_symbol_name("_kbcIntNum")
	.dwattr DW$24, DW_AT_type(*DW$T$9)
	.dwattr DW$24, DW_AT_location[DW_OP_breg13 4]
DW$25	.dwtag  DW_TAG_variable, DW_AT_name("kbcIntNum2"), DW_AT_symbol_name("_kbcIntNum2")
	.dwattr DW$25, DW_AT_type(*DW$T$9)
	.dwattr DW$25, DW_AT_location[DW_OP_breg13 6]
DW$26	.dwtag  DW_TAG_variable, DW_AT_name("kbcStatus"), DW_AT_symbol_name("_kbcStatus")
	.dwattr DW$26, DW_AT_type(*DW$T$9)
	.dwattr DW$26, DW_AT_location[DW_OP_breg13 8]
	.dwpsn	"KBC.c",67,20
        MOV       V9, #65536            ; |67| 
        SUB       V9, V9, #1            ; |67| 
        STRH      V9, [SP, #4]          ; |67| 
	.dwpsn	"KBC.c",68,17
        MOV       V9, #65536            ; |68| 
        SUB       V9, V9, #1            ; |68| 
        STRH      V9, [SP, #6]          ; |68| 
	.dwpsn	"KBC.c",69,17
        MOV       V9, #65536            ; |69| 
        SUB       V9, V9, #1            ; |69| 
        STRH      V9, [SP, #8]          ; |69| 
	.dwpsn	"KBC.c",70,5
        LDR       A1, CON17             ; |70| 
        MOV       V9, #1                ; |70| 
        STR       V9, [A1, #0]          ; |70| 
	.dwpsn	"KBC.c",71,2
        LDR       V9, CON18             ; |71| 
        LDR       V9, [V9, #0]          ; |71| 
        LDR       A1, CON18             ; |71| 
        MVN       V9, V9                ; |71| 
        STR       V9, [A1, #0]          ; |71| 
	.dwpsn	"KBC.c",75,5
        LDR       V9, CON19             ; |75| 
        LDRH      V9, [V9, #0]          ; |75| 
        STRH      V9, [SP, #8]          ; |75| 
	.dwpsn	"KBC.c",90,6
        MOV       V9, #0                ; |90| 
        STR       V9, [SP, #0]          ; |90| 
	.dwpsn	"KBC.c",90,10
        LDR       V9, [SP, #0]          ; |90| 
        CMP       V9, #500              ; |90| 
        BGE       L2                    ; |90| 
        ; |90| 
;* --------------------------------------------------------------------------*
;*   BEGIN LOOP L1
;*
;*   Loop source line                : 90
;*   Known Minimum Trip Count        : 1
;*   Known Maximum Trip Count        : 4294967295
;*   Known Max Trip Count Factor     : 1
;* --------------------------------------------------------------------------*
L1:    
DW$L$_kbcinthprocess$2$B:
	.dwpsn	"KBC.c",90,16
        LDR       V9, [SP, #0]          ; |90| 
        ADD       V9, V9, #1            ; |90| 
        STR       V9, [SP, #0]          ; |90| 
	.dwpsn	"KBC.c",90,10
        LDR       V9, [SP, #0]          ; |90| 
        CMP       V9, #500              ; |90| 

⌨️ 快捷键说明

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