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

📄 lcd.asm

📁 这个是我DSP板的LCD显示程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        FRAME     #-2
	.dwcfa	0x0e, 4
DW$26	.dwtag  DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
	.dwattr DW$26, DW_AT_type(*DW$T$19)
	.dwattr DW$26, DW_AT_location[DW_OP_breg17 0]
        LD        #70,A
	.dwpsn	"Lcd.c",72,4
        PORTW     *(AL),0bfffH          ; |72| 
        LD        #0,A
	.dwpsn	"Lcd.c",73,4
        PORTW     *(AL),0bffeH          ; |73| 
        LD        #42,A
	.dwpsn	"Lcd.c",74,4
        PORTW     *(AL),0bffeH          ; |74| 
        LD        #76,A
	.dwpsn	"Lcd.c",75,4
        PORTW     *(AL),0bfffH          ; |75| 
	.dwpsn	"Lcd.c",76,4
        CALLD     #_delay               ; |76| 
        NOP
        LD        #10,A
        ; call occurs [#_delay] ; |76| 
        LD        #66,A
	.dwpsn	"Lcd.c",77,4
        PORTW     *(AL),0bfffH          ; |77| 
	.dwpsn	"Lcd.c",78,4
        CALLD     #_delay               ; |78| 
        NOP
        LD        #10,A
        ; call occurs [#_delay] ; |78| 
	.dwpsn	"Lcd.c",79,9
        ST        #10752,*SP(0)         ; |79| 
        STM       #21504,AR0
        MVDK      *SP(0),*(AR1)
	.dwpsn	"Lcd.c",79,18
        CMPR      1,AR1                 ; |79| 
        BC        L6,NTC                ; |79| 
        ; branchcc occurs ; |79| 
L5:    
DW$L$_clearscr2$2$B:
	.dwpsn	"Lcd.c",79,27
        ADDM      #1,*SP(0)             ; |79| 
        LD        #0,A
        MVDK      *SP(0),*(AR1)
	.dwpsn	"Lcd.c",79,18
        CMPR      1,AR1                 ; |79| 
	.dwpsn	"Lcd.c",79,32
        PORTW     *(AL),0bffeH          ; |79| 
	.dwpsn	"Lcd.c",79,18
        BC        L5,TC                 ; |79| 
        ; branchcc occurs ; |79| 
DW$L$_clearscr2$2$E:
	.dwpsn	"Lcd.c",70,3
L6:    
        FRAME     #2
	.dwcfa	0x0e, 2
        POPM      AR1
	.dwcfa	0xc0, 10
	.dwcfa	0x0e, 1
        RET
        ; return occurs

DW$27	.dwtag  DW_TAG_loop
	.dwattr DW$27, DW_AT_name("E:\CCStudio_v3.3\MyProjects\lcd\Lcd.asm:L5:1:1241268508")
	.dwattr DW$27, DW_AT_begin_file("Lcd.c")
	.dwattr DW$27, DW_AT_begin_line(0x4f)
	.dwattr DW$27, DW_AT_end_line(0x4f)
DW$28	.dwtag  DW_TAG_loop_range
	.dwattr DW$28, DW_AT_low_pc(DW$L$_clearscr2$2$B)
	.dwattr DW$28, DW_AT_high_pc(DW$L$_clearscr2$2$E)
	.dwendtag DW$27

	.dwattr DW$25, DW_AT_end_file("Lcd.c")
	.dwattr DW$25, DW_AT_end_line(0x50)
	.dwattr DW$25, DW_AT_end_column(0x03)
	.dwendentry
	.dwendtag DW$25

	.sect	".text"
	.global	_clearscr3

DW$29	.dwtag  DW_TAG_subprogram, DW_AT_name("clearscr3"), DW_AT_symbol_name("_clearscr3")
	.dwattr DW$29, DW_AT_low_pc(_clearscr3)
	.dwattr DW$29, DW_AT_high_pc(0x00)
	.dwattr DW$29, DW_AT_begin_file("Lcd.c")
	.dwattr DW$29, DW_AT_begin_line(0x52)
	.dwattr DW$29, DW_AT_begin_column(0x06)
	.dwpsn	"Lcd.c",83,3

	.dwfde DW$CIE

;***************************************************************
;* FUNCTION DEF: _clearscr3                                    *
;***************************************************************
_clearscr3:
	.dwcfa	0x0e, 1
	.dwcfa	0x80, 34, 1
        PSHM      AR1
	.dwcfa	0x0e, 2
	.dwcfa	0x80, 10, 2
        FRAME     #-2
	.dwcfa	0x0e, 4
DW$30	.dwtag  DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
	.dwattr DW$30, DW_AT_type(*DW$T$19)
	.dwattr DW$30, DW_AT_location[DW_OP_breg17 0]
        LD        #70,A
	.dwpsn	"Lcd.c",85,4
        PORTW     *(AL),0bfffH          ; |85| 
        LD        #0,A
	.dwpsn	"Lcd.c",86,4
        PORTW     *(AL),0bffeH          ; |86| 
        LD        #84,A
	.dwpsn	"Lcd.c",87,4
        PORTW     *(AL),0bffeH          ; |87| 
        LD        #76,A
	.dwpsn	"Lcd.c",88,4
        PORTW     *(AL),0bfffH          ; |88| 
	.dwpsn	"Lcd.c",89,4
        CALLD     #_delay               ; |89| 
        NOP
        LD        #10,A
        ; call occurs [#_delay] ; |89| 
        LD        #66,A
	.dwpsn	"Lcd.c",90,4
        PORTW     *(AL),0bfffH          ; |90| 
	.dwpsn	"Lcd.c",91,4
        CALLD     #_delay               ; |91| 
        NOP
        LD        #10,A
        ; call occurs [#_delay] ; |91| 
	.dwpsn	"Lcd.c",92,9
        ST        #21504,*SP(0)         ; |92| 
        STM       #32768,AR0
        MVDK      *SP(0),*(AR1)
	.dwpsn	"Lcd.c",92,18
        CMPR      1,AR1                 ; |92| 
        BC        L8,NTC                ; |92| 
        ; branchcc occurs ; |92| 
L7:    
DW$L$_clearscr3$2$B:
	.dwpsn	"Lcd.c",92,27
        ADDM      #1,*SP(0)             ; |92| 
        LD        #0,A
        MVDK      *SP(0),*(AR1)
	.dwpsn	"Lcd.c",92,18
        CMPR      1,AR1                 ; |92| 
	.dwpsn	"Lcd.c",92,32
        PORTW     *(AL),0bffeH          ; |92| 
	.dwpsn	"Lcd.c",92,18
        BC        L7,TC                 ; |92| 
        ; branchcc occurs ; |92| 
DW$L$_clearscr3$2$E:
	.dwpsn	"Lcd.c",83,3
L8:    
        FRAME     #2
	.dwcfa	0x0e, 2
        POPM      AR1
	.dwcfa	0xc0, 10
	.dwcfa	0x0e, 1
        RET
        ; return occurs

DW$31	.dwtag  DW_TAG_loop
	.dwattr DW$31, DW_AT_name("E:\CCStudio_v3.3\MyProjects\lcd\Lcd.asm:L7:1:1241268508")
	.dwattr DW$31, DW_AT_begin_file("Lcd.c")
	.dwattr DW$31, DW_AT_begin_line(0x5c)
	.dwattr DW$31, DW_AT_end_line(0x5c)
DW$32	.dwtag  DW_TAG_loop_range
	.dwattr DW$32, DW_AT_low_pc(DW$L$_clearscr3$2$B)
	.dwattr DW$32, DW_AT_high_pc(DW$L$_clearscr3$2$E)
	.dwendtag DW$31

	.dwattr DW$29, DW_AT_end_file("Lcd.c")
	.dwattr DW$29, DW_AT_end_line(0x5d)
	.dwattr DW$29, DW_AT_end_column(0x03)
	.dwendentry
	.dwendtag DW$29

	.sect	".text"
	.global	_clearline

DW$33	.dwtag  DW_TAG_subprogram, DW_AT_name("clearline"), DW_AT_symbol_name("_clearline")
	.dwattr DW$33, DW_AT_low_pc(_clearline)
	.dwattr DW$33, DW_AT_high_pc(0x00)
	.dwattr DW$33, DW_AT_begin_file("Lcd.c")
	.dwattr DW$33, DW_AT_begin_line(0x5f)
	.dwattr DW$33, DW_AT_begin_column(0x06)
	.dwpsn	"Lcd.c",96,3

	.dwfde DW$CIE

;***************************************************************
;* FUNCTION DEF: _clearline                                    *
;***************************************************************
_clearline:
	.dwcfa	0x0e, 1
	.dwcfa	0x80, 34, 1
        PSHM      AR1
	.dwcfa	0x0e, 2
	.dwcfa	0x80, 10, 2
        FRAME     #-4
	.dwcfa	0x0e, 6
;* A     assigned to _x1
DW$34	.dwtag  DW_TAG_formal_parameter, DW_AT_name("x1"), DW_AT_symbol_name("_x1")
	.dwattr DW$34, DW_AT_type(*DW$T$19)
	.dwattr DW$34, DW_AT_location[DW_OP_reg0]
DW$35	.dwtag  DW_TAG_formal_parameter, DW_AT_name("y1"), DW_AT_symbol_name("_y1")
	.dwattr DW$35, DW_AT_type(*DW$T$19)
	.dwattr DW$35, DW_AT_location[DW_OP_breg17 6]
DW$36	.dwtag  DW_TAG_formal_parameter, DW_AT_name("x2"), DW_AT_symbol_name("_x2")
	.dwattr DW$36, DW_AT_type(*DW$T$19)
	.dwattr DW$36, DW_AT_location[DW_OP_breg17 7]
DW$37	.dwtag  DW_TAG_formal_parameter, DW_AT_name("y2"), DW_AT_symbol_name("_y2")
	.dwattr DW$37, DW_AT_type(*DW$T$19)
	.dwattr DW$37, DW_AT_location[DW_OP_breg17 8]
DW$38	.dwtag  DW_TAG_formal_parameter, DW_AT_name("partition"), DW_AT_symbol_name("_partition")
	.dwattr DW$38, DW_AT_type(*DW$T$19)
	.dwattr DW$38, DW_AT_location[DW_OP_breg17 9]
DW$39	.dwtag  DW_TAG_variable, DW_AT_name("x1"), DW_AT_symbol_name("_x1")
	.dwattr DW$39, DW_AT_type(*DW$T$19)
	.dwattr DW$39, DW_AT_location[DW_OP_breg17 0]
DW$40	.dwtag  DW_TAG_variable, DW_AT_name("d"), DW_AT_symbol_name("_d")
	.dwattr DW$40, DW_AT_type(*DW$T$21)
	.dwattr DW$40, DW_AT_location[DW_OP_breg17 1]
DW$41	.dwtag  DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
	.dwattr DW$41, DW_AT_type(*DW$T$19)
	.dwattr DW$41, DW_AT_location[DW_OP_breg17 2]
DW$42	.dwtag  DW_TAG_variable, DW_AT_name("k"), DW_AT_symbol_name("_k")
	.dwattr DW$42, DW_AT_type(*DW$T$19)
	.dwattr DW$42, DW_AT_location[DW_OP_breg17 3]
        STLM      A,AR1
        STL       A,*SP(0)
        MVDK      *SP(7),*(AR0)
	.dwpsn	"Lcd.c",107,4
        CMPR      2,AR1                 ; |107| 
        BC        L9,NTC                ; |107| 
        ; branchcc occurs ; |107| 
        STL       A,*SP(2)
        LD        *SP(7),A
        STL       A,*SP(0)
        LD        *SP(2),A
        STL       A,*SP(7)
L9:    
        MVDK      *SP(8),*(AR0)
        MVDK      *SP(6),*(AR1)
	.dwpsn	"Lcd.c",108,13
        CMPR      2,AR1                 ; |108| 
        BC        L10,NTC               ; |108| 
        ; branchcc occurs ; |108| 
        LDM       AR1,A
        STL       A,*SP(2)
        LD        *SP(8),A
        STL       A,*SP(6)
        LD        *SP(2),A
        STL       A,*SP(8)
L10:    
        LD        *SP(7),A
	.dwpsn	"Lcd.c",109,13
        SUB       *SP(0),A              ; |109| 
        STL       A,*SP(3)
        MVDK      *SP(8),*(AR0)
        MVDK      *SP(6),*(AR1)
	.dwpsn	"Lcd.c",110,13
        CMPR      1,AR1                 ; |110| 
        BC        L16,NTC               ; |110| 
        ; branchcc occurs ; |110| 
L11:    
DW$L$_clearline$6$B:
        STM       #41,T
        LD        *SP(0),A
	.dwpsn	"Lcd.c",112,9
        MAC       *SP(6), A             ; |112| 
        STL       A,*SP(1)
	.dwpsn	"Lcd.c",113,18
        CMPM      *SP(9),#2             ; |113| 
        BC        L12,NTC               ; |113| 
        ; branchcc occurs ; |113| 
DW$L$_clearline$6$E:
DW$L$_clearline$7$B:
	.dwpsn	"Lcd.c",113,36
        ADDM      #10752,*SP(1)         ; |113| 
DW$L$_clearline$7$E:
	.dwpsn	"Lcd.c",113,18
L12:    
DW$L$_clearline$8$B:
	.dwpsn	"Lcd.c",114,13
        CMPM      *SP(9),#3             ; |114| 
        BC        L13,NTC               ; |114| 
        ; branchcc occurs ; |114| 
DW$L$_clearline$8$E:
DW$L$_clearline$9$B:
	.dwpsn	"Lcd.c",114,31
        ADDM      #21504,*SP(1)         ; |114| 
DW$L$_clearline$9$E:
	.dwpsn	"Lcd.c",114,13
L13:    
DW$L$_clearline$10$B:
        LD        #70,A
	.dwpsn	"Lcd.c",115,6
        PORTW     *(AL),0bfffH          ; |115| 
        LD        #255,A
	.dwpsn	"Lcd.c",116,6
        AND       *SP(1),A              ; |116| 
        PORTW     *(AL),0bffeH          ; |116| 
        LDU       *SP(1),A
	.dwpsn	"Lcd.c",117,6
        SFTA      A,#-8,A               ; |117| 
        AND       #255,A,A              ; |117| 
        PORTW     *(AL),0bffeH          ; |117| 
	.dwpsn	"Lcd.c",120,17
        ST        #0,*SP(2)             ; |120| 
        LD        #76,A
        MVDK      *SP(3),*(AR0)
        MVDK      *SP(2),*(AR1)
	.dwpsn	"Lcd.c",118,6
        PORTW     *(AL),0bfffH          ; |118| 
        LD        #66,A
	.dwpsn	"Lcd.c",120,21
        CMPR      1,AR1                 ; |120| 
	.dwpsn	"Lcd.c",119,6
        PORTW     *(AL),0bfffH          ; |119| 
	.dwpsn	"Lcd.c",120,21
        BC        L15,NTC               ; |120| 
        ; branchcc occurs ; |120| 
DW$L$_clearline$10$E:
L14:    
DW$L$_clearline$11$B:
	.dwpsn	"Lcd.c",120,25
        ADDM      #1,*SP(2)             ; |120| 
        LD        #0,A
        MVDK      *SP(3),*(AR0)
        MVDK      *SP(2),*(AR1)
	.dwpsn	"Lcd.c",120,21
        CMPR      1,AR1                 ; |120| 
	.dwpsn	"Lcd.c",120,30
        PORTW     *(AL),0bffeH          ; |120| 
	.dwpsn	"Lcd.c",120,21
        BC        L14,TC                ; |120| 
        ; branchcc occurs ; |120| 
DW$L$_clearline$11$E:
L15:    
DW$L$_clearline$12$B:
	.dwpsn	"Lcd.c",121,18
        ADDM      #1,*SP(6)             ; |121| 
        MVDK      *SP(8),*(AR0)
        MVDK      *SP(6),*(AR1)
	.dwpsn	"Lcd.c",110,13
        CMPR      1,AR1                 ; |110| 
        BC        L11,TC                ; |110| 
        ; branchcc occurs ; |110| 
DW$L$_clearline$12$E:
	.dwpsn	"Lcd.c",96,3
L16:    
        FRAME     #4
	.dwcfa	0x0e, 2
        POPM      AR1
	.dwcfa	0xc0, 10
	.dwcfa	0x0e, 1
        RET
        ; return occurs

DW$43	.dwtag  DW_TAG_loop
	.dwattr DW$43, DW_AT_name("E:\CCStudio_v3.3\MyProjects\lcd\Lcd.asm:L11:1:1241268508")
	.dwattr DW$43, DW_AT_begin_file("Lcd.c")
	.dwattr DW$43, DW_AT_begin_line(0x6e)
	.dwattr DW$43, DW_AT_end_line(0x7a)
DW$44	.dwtag  DW_TAG_loop_range
	.dwattr DW$44, DW_AT_low_pc(DW$L$_clearline$6$B)
	.dwattr DW$44, DW_AT_high_pc(DW$L$_clearline$6$E)
DW$45	.dwtag  DW_TAG_loop_range
	.dwattr DW$45, DW_AT_low_pc(DW$L$_clearline$7$B)
	.dwattr DW$45, DW_AT_high_pc(DW$L$_clearline$7$E)
DW$46	.dwtag  DW_TAG_loop_range
	.dwattr DW$46, DW_AT_low_pc(DW$L$_clearline$8$B)
	.dwattr DW$46, DW_AT_high_pc(DW$L$_clearline$8$E)

⌨️ 快捷键说明

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