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

📄 elcd.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 5 页
字号:

	.dwattr DW$38, DW_AT_end_file("ELCD.c")
	.dwattr DW$38, DW_AT_end_line(0x15e)
	.dwattr DW$38, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$38

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

DW$45	.dwtag  DW_TAG_subprogram, DW_AT_name("Writecommand"), DW_AT_symbol_name("_Writecommand")
	.dwattr DW$45, DW_AT_low_pc(_Writecommand)
	.dwattr DW$45, DW_AT_high_pc(0x00)
	.dwattr DW$45, DW_AT_begin_file("ELCD.c")
	.dwattr DW$45, DW_AT_begin_line(0x165)
	.dwattr DW$45, DW_AT_begin_column(0x07)
	.dwpsn	"ELCD.c",358,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: Writecommand                                               *
;*                                                                           *
;*   Regs Modified     : A1,V9,SP,SR                                         *
;*   Regs Used         : A1,A2,V9,SP,SR                                      *
;*   Local Frame Size  : 0 Args + 8 Auto + 0 Save = 8 byte                   *
;*****************************************************************************
_Writecommand:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        SUB       SP, SP, #8
	.dwcfa	0x0e, 8
;* A1    assigned to _elcdCommandData
DW$46	.dwtag  DW_TAG_formal_parameter, DW_AT_name("elcdCommandData"), DW_AT_symbol_name("_elcdCommandData")
	.dwattr DW$46, DW_AT_type(*DW$T$10)
	.dwattr DW$46, DW_AT_location[DW_OP_reg0]
;* A2    assigned to _nCs
DW$47	.dwtag  DW_TAG_formal_parameter, DW_AT_name("nCs"), DW_AT_symbol_name("_nCs")
	.dwattr DW$47, DW_AT_type(*DW$T$10)
	.dwattr DW$47, DW_AT_location[DW_OP_reg1]
DW$48	.dwtag  DW_TAG_variable, DW_AT_name("elcdCommandData"), DW_AT_symbol_name("_elcdCommandData")
	.dwattr DW$48, DW_AT_type(*DW$T$10)
	.dwattr DW$48, DW_AT_location[DW_OP_breg13 0]
DW$49	.dwtag  DW_TAG_variable, DW_AT_name("nCs"), DW_AT_symbol_name("_nCs")
	.dwattr DW$49, DW_AT_type(*DW$T$10)
	.dwattr DW$49, DW_AT_location[DW_OP_breg13 4]
        STR       A2, [SP, #4]          ; |358| 
        STR       A1, [SP, #0]          ; |358| 
	.dwpsn	"ELCD.c",360,2
        LDR       V9, [SP, #4]          ; |360| 
        CMP       V9, #0                ; |360| 
        BNE       L8                    ; |360| 
        ; |360| 
;* --------------------------------------------------------------------------*
	.dwpsn	"ELCD.c",362,4
        LDR       V9, [SP, #0]          ; |362| 
        LDR       A1, CON41             ; |362| 
        STR       V9, [A1, #0]          ; |362| 
	.dwpsn	"ELCD.c",363,4
        B         L9                    ; |363| 
        ; |363| 
;* --------------------------------------------------------------------------*
L8:    
	.dwpsn	"ELCD.c",367,4
        LDR       V9, [SP, #0]          ; |367| 
        LDR       A1, CON41             ; |367| 
        STR       V9, [A1, #0]          ; |367| 
	.dwpsn	"ELCD.c",371,2
;* --------------------------------------------------------------------------*
;*   BEGIN LOOP L9
;*
;*   Loop source line                : 371
;*   Known Minimum Trip Count        : 1
;*   Known Maximum Trip Count        : 4294967295
;*   Known Max Trip Count Factor     : 1
;* --------------------------------------------------------------------------*
L9:    
DW$L$_Writecommand$4$B:
	.dwpsn	"ELCD.c",371,9
        LDR       V9, CON39             ; |371| 
        LDR       V9, [V9, #0]          ; |371| 
        TST       V9, #512              ; |371| 
        BEQ       L9                    ; |371| 
        ; |371| 
DW$L$_Writecommand$4$E:
;* --------------------------------------------------------------------------*
	.dwpsn	"ELCD.c",372,1
        ADD       SP, SP, #8
	.dwcfa	0x0e, 0
        BX        LR

DW$50	.dwtag  DW_TAG_loop
	.dwattr DW$50, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\ELCD.asm:L9:1:1214374281")
	.dwattr DW$50, DW_AT_begin_file("ELCD.c")
	.dwattr DW$50, DW_AT_begin_line(0x173)
	.dwattr DW$50, DW_AT_end_line(0x173)
DW$51	.dwtag  DW_TAG_loop_range
	.dwattr DW$51, DW_AT_low_pc(DW$L$_Writecommand$4$B)
	.dwattr DW$51, DW_AT_high_pc(DW$L$_Writecommand$4$E)
	.dwendtag DW$50

	.dwattr DW$45, DW_AT_end_file("ELCD.c")
	.dwattr DW$45, DW_AT_end_line(0x174)
	.dwattr DW$45, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$45

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

DW$52	.dwtag  DW_TAG_subprogram, DW_AT_name("ResetExtModule"), DW_AT_symbol_name("_ResetExtModule")
	.dwattr DW$52, DW_AT_low_pc(_ResetExtModule)
	.dwattr DW$52, DW_AT_high_pc(0x00)
	.dwattr DW$52, DW_AT_begin_file("ELCD.c")
	.dwattr DW$52, DW_AT_begin_line(0x17c)
	.dwattr DW$52, DW_AT_begin_column(0x06)
	.dwpsn	"ELCD.c",381,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: ResetExtModule                                             *
;*                                                                           *
;*   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                   *
;*****************************************************************************
_ResetExtModule:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
	.dwcfa	0x0e, 4
	.dwpsn	"ELCD.c",383,4
        LDR       A1, CON4              ; |383| 
        MOV       A4, #1                ; |383| 
        MOV       A3, #1                ; |383| 
        MOV       A2, #3                ; |383| 
        BL        _Setgroup32bit        ; |383| 
        ; |383| 
	.dwpsn	"ELCD.c",385,4
        MOV       A4, #0                ; |385| 
        MOV       A3, #1                ; |385| 
        MOV       A2, #3                ; |385| 
        LDR       A1, CON4              ; |385| 
        BL        _Setgroup32bit        ; |385| 
        ; |385| 
	.dwpsn	"ELCD.c",387,1
	.dwcfa	0x0e, 4
        LDMFD     SP!, {PC}
	.dwattr DW$52, DW_AT_end_file("ELCD.c")
	.dwattr DW$52, DW_AT_end_line(0x183)
	.dwattr DW$52, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$52

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

DW$53	.dwtag  DW_TAG_subprogram, DW_AT_name("ReleaseReset"), DW_AT_symbol_name("_ReleaseReset")
	.dwattr DW$53, DW_AT_low_pc(_ReleaseReset)
	.dwattr DW$53, DW_AT_high_pc(0x00)
	.dwattr DW$53, DW_AT_begin_file("ELCD.c")
	.dwattr DW$53, DW_AT_begin_line(0x18a)
	.dwattr DW$53, DW_AT_begin_column(0x06)
	.dwpsn	"ELCD.c",395,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: ReleaseReset                                               *
;*                                                                           *
;*   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                   *
;*****************************************************************************
_ReleaseReset:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
	.dwcfa	0x0e, 4
	.dwpsn	"ELCD.c",396,5
        LDR       A1, CON4              ; |396| 
        MOV       A4, #1                ; |396| 
        MOV       A3, #1                ; |396| 
        MOV       A2, #3                ; |396| 
        BL        _Setgroup32bit        ; |396| 
        ; |396| 
	.dwpsn	"ELCD.c",397,1
	.dwcfa	0x0e, 4
        LDMFD     SP!, {PC}
	.dwattr DW$53, DW_AT_end_file("ELCD.c")
	.dwattr DW$53, DW_AT_end_line(0x18d)
	.dwattr DW$53, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$53

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

DW$54	.dwtag  DW_TAG_subprogram, DW_AT_name("updatescreen"), DW_AT_symbol_name("_updatescreen")
	.dwattr DW$54, DW_AT_low_pc(_updatescreen)
	.dwattr DW$54, DW_AT_high_pc(0x00)
	.dwattr DW$54, DW_AT_begin_file("ELCD.c")
	.dwattr DW$54, DW_AT_begin_line(0x197)
	.dwattr DW$54, DW_AT_begin_column(0x06)
	.dwpsn	"ELCD.c",408,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: updatescreen                                               *
;*                                                                           *
;*   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 + 52 Auto + 4 Save = 56 byte                 *
;*****************************************************************************
_updatescreen:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
        SUB       SP, SP, #52
	.dwcfa	0x0e, 56
;* A1    assigned to _nCs
DW$55	.dwtag  DW_TAG_formal_parameter, DW_AT_name("nCs"), DW_AT_symbol_name("_nCs")
	.dwattr DW$55, DW_AT_type(*DW$T$10)
	.dwattr DW$55, DW_AT_location[DW_OP_reg0]
;* A2    assigned to _elcdExtModulelength
DW$56	.dwtag  DW_TAG_formal_parameter, DW_AT_name("elcdExtModulelength"), DW_AT_symbol_name("_elcdExtModulelength")
	.dwattr DW$56, DW_AT_type(*DW$T$10)
	.dwattr DW$56, DW_AT_location[DW_OP_reg1]
;* A3    assigned to _elcdExtModulewidth
DW$57	.dwtag  DW_TAG_formal_parameter, DW_AT_name("elcdExtModulewidth"), DW_AT_symbol_name("_elcdExtModulewidth")
	.dwattr DW$57, DW_AT_type(*DW$T$10)
	.dwattr DW$57, DW_AT_location[DW_OP_reg2]
DW$58	.dwtag  DW_TAG_variable, DW_AT_name("nCs"), DW_AT_symbol_name("_nCs")
	.dwattr DW$58, DW_AT_type(*DW$T$10)
	.dwattr DW$58, DW_AT_location[DW_OP_breg13 0]
DW$59	.dwtag  DW_TAG_variable, DW_AT_name("elcdExtModulelength"), DW_AT_symbol_name("_elcdExtModulelength")
	.dwattr DW$59, DW_AT_type(*DW$T$10)
	.dwattr DW$59, DW_AT_location[DW_OP_breg13 4]
DW$60	.dwtag  DW_TAG_variable, DW_AT_name("elcdExtModulewidth"), DW_AT_symbol_name("_elcdExtModulewidth")
	.dwattr DW$60, DW_AT_type(*DW$T$10)
	.dwattr DW$60, DW_AT_location[DW_OP_breg13 8]
DW$61	.dwtag  DW_TAG_variable, DW_AT_name("elcdRowcount"), DW_AT_symbol_name("_elcdRowcount")
	.dwattr DW$61, DW_AT_type(*DW$T$10)
	.dwattr DW$61, DW_AT_location[DW_OP_breg13 12]
DW$62	.dwtag  DW_TAG_variable, DW_AT_name("elcdColumcount"), DW_AT_symbol_name("_elcdColumcount")
	.dwattr DW$62, DW_AT_type(*DW$T$10)
	.dwattr DW$62, DW_AT_location[DW_OP_breg13 16]
DW$63	.dwtag  DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
	.dwattr DW$63, DW_AT_type(*DW$T$10)
	.dwattr DW$63, DW_AT_location[DW_OP_breg13 20]
DW$64	.dwtag  DW_TAG_variable, DW_AT_name("data"), DW_AT_symbol_name("_data")
	.dwattr DW$64, DW_AT_type(*DW$T$10)
	.dwattr DW$64, DW_AT_location[DW_OP_breg13 24]
DW$65	.dwtag  DW_TAG_variable, DW_AT_name("rdata"), DW_AT_symbol_name("_rdata")
	.dwattr DW$65, DW_AT_type(*DW$T$10)
	.dwattr DW$65, DW_AT_location[DW_OP_breg13 28]
DW$66	.dwtag  DW_TAG_variable, DW_AT_name("gdata"), DW_AT_symbol_name("_gdata")
	.dwattr DW$66, DW_AT_type(*DW$T$10)
	.dwattr DW$66, DW_AT_location[DW_OP_breg13 32]
DW$67	.dwtag  DW_TAG_variable, DW_AT_name("bdata"), DW_AT_symbol_name("_bdata")
	.dwattr DW$67, DW_AT_type(*DW$T$10)
	.dwattr DW$67, DW_AT_location[DW_OP_breg13 36]
DW$68	.dwtag  DW_TAG_variable, DW_AT_name("temp1"), DW_AT_symbol_name("_temp1")
	.dwattr DW$68, DW_AT_type(*DW$T$10)
	.dwattr DW$68, DW_AT_location[DW_OP_breg13 40]
DW$69	.dwtag  DW_TAG_variable, DW_AT_name("temp2"), DW_AT_symbol_name("_temp2")
	.dwattr DW$69, DW_AT_type(*DW$T$10)
	.dwattr DW$69, DW_AT_location[DW_OP_breg13 44]
DW$70	.dwtag  DW_TAG_variable, DW_AT_name("p"), DW_AT_symbol_name("_p")
	.dwattr DW$70, DW_AT_type(*DW$T$35)
	.dwattr DW$70, DW_AT_location[DW_OP_breg13 48]
        STR       A3, [SP, #8]          ; |408| 
        STR       A2, [SP, #4]          ; |408| 
        STR       A1, [SP, #0]          ; |408| 
	.dwpsn	"ELCD.c",411,6
        MOV       V9, #0                ; |411| 
        STR       V9, [SP, #12]         ; |411| 
	.dwpsn	"ELCD.c",412,6
        MOV       V9, #0                ; |412| 
        STR       V9, [SP, #16]         ; |412| 
	.dwpsn	"ELCD.c",413,6
        MOV       V9, #0                ; |413| 
        STR       V9, [SP, #20]         ; |413| 
	.dwpsn	"ELCD.c",419,2
        MOV       A4, #0                ; |419| 
        LDR       A1, CON4              ; |419| 
        MOV       A3, #1                ; |419| 
        MOV       A2, #0                ; |419| 
        BL        _Setgroup32bit        ; |419| 
        ; |419| 
	.dwpsn	"ELCD.c",427,3
        MOV       A1, #0                ; |427| 
        BL        _setdncstatus         ; |427| 
        ; |427| 
	.dwpsn	"ELCD.c",428,3
        MOV       A1, #7                ; |428| 
        BL        _packcommand          ; |428| 
        ; |428| 
        MOV       A2, #0                ; |428| 
        BL        _Writecommand         ; |428| 
        ; |428| 
	.dwpsn	"ELC

⌨️ 快捷键说明

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