📄 kbc.asm
字号:
;******************************************************************************
;* 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 + -