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

📄 elcd.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;******************************************************************************
;* 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 + -