📄 elcd.asm
字号:
.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 + -