📄 elcd.asm
字号:
;******************************************************************************
;* TMS470 C/C++ Codegen PC v4.1.4 *
;* Date/Time created: Wed Jun 25 14:11:21 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("ELCD.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("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("UART_GetNum"), DW_AT_symbol_name("_UART_GetNum")
.dwattr DW$5, DW_AT_type(*DW$T$10)
.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)
.dwendtag DW$5
DW$7 .dwtag DW_TAG_subprogram, DW_AT_name("Setgroup32bit"), DW_AT_symbol_name("_Setgroup32bit")
.dwattr DW$7, DW_AT_declaration(0x01)
.dwattr DW$7, DW_AT_external(0x01)
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)
DW$10 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
DW$11 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
.dwendtag DW$7
DW$12 .dwtag DW_TAG_subprogram, DW_AT_name("triton_WLED_test"), DW_AT_symbol_name("_triton_WLED_test")
.dwattr DW$12, DW_AT_type(*DW$T$10)
.dwattr DW$12, DW_AT_declaration(0x01)
.dwattr DW$12, DW_AT_external(0x01)
DW$13 .dwtag DW_TAG_variable, DW_AT_name("snoopy"), DW_AT_symbol_name("_snoopy")
.dwattr DW$13, DW_AT_type(*DW$T$34)
.dwattr DW$13, DW_AT_declaration(0x01)
.dwattr DW$13, DW_AT_external(0x01)
; C:\CCStudio_v3.3\tms470\cgtools\bin\acp470.exe -@C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI94412
.sect ".text"
.align 4
.clink
.armfunc _packcommand
.state32
.global _packcommand
DW$14 .dwtag DW_TAG_subprogram, DW_AT_name("packcommand"), DW_AT_symbol_name("_packcommand")
.dwattr DW$14, DW_AT_low_pc(_packcommand)
.dwattr DW$14, DW_AT_high_pc(0x00)
.dwattr DW$14, DW_AT_begin_file("ELCD.c")
.dwattr DW$14, DW_AT_begin_line(0x16)
.dwattr DW$14, DW_AT_begin_column(0x0e)
.dwpsn "ELCD.c",23,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: packcommand *
;* *
;* Regs Modified : A1,V9,SP *
;* Regs Used : A1,V9,SP *
;* Local Frame Size : 0 Args + 24 Auto + 0 Save = 24 byte *
;*****************************************************************************
_packcommand:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
SUB SP, SP, #24
.dwcfa 0x0e, 24
;* A1 assigned to _commandData
DW$15 .dwtag DW_TAG_formal_parameter, DW_AT_name("commandData"), DW_AT_symbol_name("_commandData")
.dwattr DW$15, DW_AT_type(*DW$T$11)
.dwattr DW$15, DW_AT_location[DW_OP_reg0]
DW$16 .dwtag DW_TAG_variable, DW_AT_name("commandData"), DW_AT_symbol_name("_commandData")
.dwattr DW$16, DW_AT_type(*DW$T$11)
.dwattr DW$16, DW_AT_location[DW_OP_breg13 0]
DW$17 .dwtag DW_TAG_variable, DW_AT_name("realCommand"), DW_AT_symbol_name("_realCommand")
.dwattr DW$17, DW_AT_type(*DW$T$10)
.dwattr DW$17, DW_AT_location[DW_OP_breg13 4]
DW$18 .dwtag DW_TAG_variable, DW_AT_name("elcdCommandTemp0"), DW_AT_symbol_name("_elcdCommandTemp0")
.dwattr DW$18, DW_AT_type(*DW$T$10)
.dwattr DW$18, DW_AT_location[DW_OP_breg13 8]
DW$19 .dwtag DW_TAG_variable, DW_AT_name("elcdCommandTemp1"), DW_AT_symbol_name("_elcdCommandTemp1")
.dwattr DW$19, DW_AT_type(*DW$T$10)
.dwattr DW$19, DW_AT_location[DW_OP_breg13 12]
DW$20 .dwtag DW_TAG_variable, DW_AT_name("elcdCommandTemp2"), DW_AT_symbol_name("_elcdCommandTemp2")
.dwattr DW$20, DW_AT_type(*DW$T$10)
.dwattr DW$20, DW_AT_location[DW_OP_breg13 16]
DW$21 .dwtag DW_TAG_variable, DW_AT_name("elcdCommandTemp3"), DW_AT_symbol_name("_elcdCommandTemp3")
.dwattr DW$21, DW_AT_type(*DW$T$10)
.dwattr DW$21, DW_AT_location[DW_OP_breg13 20]
STR A1, [SP, #0] ; |23|
.dwpsn "ELCD.c",24,7
MOV V9, #0 ; |24|
STR V9, [SP, #4] ; |24|
.dwpsn "ELCD.c",25,7
MOV V9, #0 ; |25|
STR V9, [SP, #8] ; |25|
.dwpsn "ELCD.c",26,7
MOV V9, #0 ; |26|
STR V9, [SP, #12] ; |26|
.dwpsn "ELCD.c",27,7
MOV V9, #0 ; |27|
STR V9, [SP, #16] ; |27|
.dwpsn "ELCD.c",28,7
MOV V9, #0 ; |28|
STR V9, [SP, #20] ; |28|
.dwpsn "ELCD.c",30,3
LDR V9, [SP, #0] ; |30|
MOV V9, V9, LSL #24 ; |36|
MOV V9, V9, LSR #23 ; |36|
STR V9, [SP, #12] ; |30|
.dwpsn "ELCD.c",32,3
LDR V9, [SP, #0] ; |32|
MOV V9, V9, LSL #2 ; |32|
AND V9, V9, #261120 ; |32|
STR V9, [SP, #16] ; |32|
.dwpsn "ELCD.c",34,3
LDR A1, [SP, #16] ; |34|
LDR V9, [SP, #12] ; |34|
ADD V9, A1, V9 ; |34|
STR V9, [SP, #4] ; |34|
.dwpsn "ELCD.c",36,3
LDR A1, [SP, #4] ; |36|
.dwpsn "ELCD.c",40,2
ADD SP, SP, #24 ; |36|
.dwcfa 0x0e, 0
BX LR
.dwattr DW$14, DW_AT_end_file("ELCD.c")
.dwattr DW$14, DW_AT_end_line(0x28)
.dwattr DW$14, DW_AT_end_column(0x02)
.dwendentry
.dwendtag DW$14
.sect ".text"
.align 4
.clink
.armfunc _setdncstatus
.state32
.global _setdncstatus
DW$22 .dwtag DW_TAG_subprogram, DW_AT_name("setdncstatus"), DW_AT_symbol_name("_setdncstatus")
.dwattr DW$22, DW_AT_low_pc(_setdncstatus)
.dwattr DW$22, DW_AT_high_pc(0x00)
.dwattr DW$22, DW_AT_begin_file("ELCD.c")
.dwattr DW$22, DW_AT_begin_line(0x2f)
.dwattr DW$22, DW_AT_begin_column(0x07)
.dwpsn "ELCD.c",48,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: setdncstatus *
;* *
;* 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 + 4 Auto + 4 Save = 8 byte *
;*****************************************************************************
_setdncstatus:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {A4, LR}
.dwcfa 0x0e, 4
.dwcfa 0x80, 14, 1
.dwcfa 0x0e, 8
.dwcfa 0x80, 3, 2
.dwcfa 0x0e, 8
;* A1 assigned to _dataComand
DW$23 .dwtag DW_TAG_formal_parameter, DW_AT_name("dataComand"), DW_AT_symbol_name("_dataComand")
.dwattr DW$23, DW_AT_type(*DW$T$10)
.dwattr DW$23, DW_AT_location[DW_OP_reg0]
DW$24 .dwtag DW_TAG_variable, DW_AT_name("dataComand"), DW_AT_symbol_name("_dataComand")
.dwattr DW$24, DW_AT_type(*DW$T$10)
.dwattr DW$24, DW_AT_location[DW_OP_breg13 0]
STR A1, [SP, #0] ; |48|
.dwpsn "ELCD.c",49,4
MOV A3, #1 ; |49|
MOV A2, #2 ; |49|
LDR A1, CON4 ; |49|
LDR A4, [SP, #0] ; |49|
BL _Setgroup32bit ; |49|
; |49|
.dwpsn "ELCD.c",51,3
.dwcfa 0x0e, 8
LDMFD SP!, {A4, PC}
.dwattr DW$22, DW_AT_end_file("ELCD.c")
.dwattr DW$22, DW_AT_end_line(0x33)
.dwattr DW$22, DW_AT_end_column(0x03)
.dwendentry
.dwendtag DW$22
.sect ".text"
.align 4
.clink
.armfunc _elcddelay
.state32
.global _elcddelay
DW$25 .dwtag DW_TAG_subprogram, DW_AT_name("elcddelay"), DW_AT_symbol_name("_elcddelay")
.dwattr DW$25, DW_AT_low_pc(_elcddelay)
.dwattr DW$25, DW_AT_high_pc(0x00)
.dwattr DW$25, DW_AT_begin_file("ELCD.c")
.dwattr DW$25, DW_AT_begin_line(0x3a)
.dwattr DW$25, DW_AT_begin_column(0x07)
.dwpsn "ELCD.c",59,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: elcddelay *
;* *
;* Regs Modified : A1,V9,SP,SR *
;* Regs Used : A1,V9,SP,SR *
;* Local Frame Size : 0 Args + 4 Auto + 0 Save = 4 byte *
;*****************************************************************************
_elcddelay:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
SUB SP, SP, #4
.dwcfa 0x0e, 4
;* A1 assigned to _elcdDelayTime
DW$26 .dwtag DW_TAG_formal_parameter, DW_AT_name("elcdDelayTime"), DW_AT_symbol_name("_elcdDelayTime")
.dwattr DW$26, DW_AT_type(*DW$T$10)
.dwattr DW$26, DW_AT_location[DW_OP_reg0]
DW$27 .dwtag DW_TAG_variable, DW_AT_name("elcdDelayTime"), DW_AT_symbol_name("_elcdDelayTime")
.dwattr DW$27, DW_AT_type(*DW$T$10)
.dwattr DW$27, DW_AT_location[DW_OP_breg13 0]
STR A1, [SP, #0] ; |59|
.dwpsn "ELCD.c",60,2
LDR V9, [SP, #0] ; |60|
SUB A1, V9, #1 ; |60|
CMP V9, #0 ; |60|
STR A1, [SP, #0] ; |60|
BEQ L2 ; |60|
; |60|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L1
;*
;* Loop source line : 60
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L1:
DW$L$_elcddelay$2$B:
LDR V9, [SP, #0] ; |60|
SUB A1, V9, #1 ; |60|
CMP V9, #0 ; |60|
STR A1, [SP, #0] ; |60|
BNE L1 ; |60|
; |60|
DW$L$_elcddelay$2$E:
;* --------------------------------------------------------------------------*
L2:
.dwpsn "ELCD.c",62,1
ADD SP, SP, #4
.dwcfa 0x0e, 0
BX LR
DW$28 .dwtag DW_TAG_loop
.dwattr DW$28, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\ELCD.asm:L1:1:1214374281")
.dwattr DW$28, DW_AT_begin_file("ELCD.c")
.dwattr DW$28, DW_AT_begin_line(0x3c)
.dwattr DW$28, DW_AT_end_line(0x3c)
DW$29 .dwtag DW_TAG_loop_range
.dwattr DW$29, DW_AT_low_pc(DW$L$_elcddelay$2$B)
.dwattr DW$29, DW_AT_high_pc(DW$L$_elcddelay$2$E)
.dwendtag DW$28
.dwattr DW$25, DW_AT_end_file("ELCD.c")
.dwattr DW$25, DW_AT_end_line(0x3e)
.dwattr DW$25, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$25
.sect ".text"
.align 4
.clink
.armfunc _SetupELCD
.state32
.global _SetupELCD
DW$30 .dwtag DW_TAG_subprogram, DW_AT_name("SetupELCD"), DW_AT_symbol_name("_SetupELCD")
.dwattr DW$30, DW_AT_low_pc(_SetupELCD)
.dwattr DW$30, DW_AT_high_pc(0x00)
.dwattr DW$30, DW_AT_begin_file("ELCD.c")
.dwattr DW$30, DW_AT_begin_line(0x45)
.dwattr DW$30, DW_AT_begin_column(0x07)
.dwpsn "ELCD.c",70,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: SetupELCD *
;* *
;* 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 + 4 Auto + 4 Save = 8 byte *
;*****************************************************************************
_SetupELCD:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {A4, LR}
.dwcfa 0x0e, 4
.dwcfa 0x80, 14, 1
.dwcfa 0x0e, 8
.dwcfa 0x80, 3, 2
.dwcfa 0x0e, 8
;* A1 assigned to _nCs
DW$31 .dwtag DW_TAG_formal_parameter, DW_AT_name("nCs"), DW_AT_symbol_name("_nCs")
.dwattr DW$31, DW_AT_type(*DW$T$10)
.dwattr DW$31, DW_AT_location[DW_OP_reg0]
DW$32 .dwtag DW_TAG_variable, DW_AT_name("nCs"), DW_AT_symbol_name("_nCs")
.dwattr DW$32, DW_AT_type(*DW$T$10)
.dwattr DW$32, DW_AT_location[DW_OP_breg13 0]
STR A1, [SP, #0] ; |70|
.dwpsn "ELCD.c",72,3
MOV A3, #1 ; |72|
MOV A2, #0 ; |72|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -