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

📄 lcd.asm

📁 这个是我DSP板的LCD显示程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        STL       A,*SP(3)
        LD        *SP(7),A
        STL       A,*SP(6)
        LD        *SP(3),A
        STL       A,*SP(7)
L36:    
        STM       #320,AR0
        MVDK      *SP(2),*(AR1)
	.dwpsn	"Lcd.c",218,7
        CMPR      2,AR1                 ; |218| 
        BC        L37,NTC               ; |218| 
        ; branchcc occurs ; |218| 
	.dwpsn	"Lcd.c",218,18
        ST        #320,*SP(2)           ; |218| 
	.dwpsn	"Lcd.c",218,7
L37:    
        STM       #240,AR0
        MVDK      *SP(7),*(AR1)
	.dwpsn	"Lcd.c",219,7
        CMPR      2,AR1                 ; |219| 
        BC        L38,NTC               ; |219| 
        ; branchcc occurs ; |219| 
	.dwpsn	"Lcd.c",219,19
        ST        #240,*SP(7)           ; |219| 
	.dwpsn	"Lcd.c",219,7
L38:    
        LD        *SP(6),A
        STLM      A,AR1
        STL       A,*SP(3)
        MVDK      *SP(7),*(AR0)
	.dwpsn	"Lcd.c",220,16
        CMPR      2,AR1                 ; |220| 
        BC        L40,TC                ; |220| 
        ; branchcc occurs ; |220| 
L39:    
DW$L$_drawordinate1$8$B:
        STL       A,*SP(0)
        LD        *SP(9),A
        STL       A,*SP(1)
        LD        *SP(2),A
	.dwpsn	"Lcd.c",220,32
        CALL      #_dot                 ; |220| 
        ; call occurs [#_dot] ; |220| 
        LD        *SP(8),A
	.dwpsn	"Lcd.c",220,22
        ADD       *SP(3),A              ; |220| 
        STLM      A,AR1
        STL       A,*SP(3)
        MVDK      *SP(7),*(AR0)
	.dwpsn	"Lcd.c",220,16
        CMPR      2,AR1                 ; |220| 
        BC        L39,NTC               ; |220| 
        ; branchcc occurs ; |220| 
DW$L$_drawordinate1$8$E:
	.dwpsn	"Lcd.c",215,3
L40:    
        FRAME     #4
	.dwcfa	0x0e, 2
        POPM      AR1
	.dwcfa	0xc0, 10
	.dwcfa	0x0e, 1
        RET
        ; return occurs

DW$106	.dwtag  DW_TAG_loop
	.dwattr DW$106, DW_AT_name("E:\CCStudio_v3.3\MyProjects\lcd\Lcd.asm:L39:1:1241268508")
	.dwattr DW$106, DW_AT_begin_file("Lcd.c")
	.dwattr DW$106, DW_AT_begin_line(0xdc)
	.dwattr DW$106, DW_AT_end_line(0xdc)
DW$107	.dwtag  DW_TAG_loop_range
	.dwattr DW$107, DW_AT_low_pc(DW$L$_drawordinate1$8$B)
	.dwattr DW$107, DW_AT_high_pc(DW$L$_drawordinate1$8$E)
	.dwendtag DW$106

	.dwattr DW$98, DW_AT_end_file("Lcd.c")
	.dwattr DW$98, DW_AT_end_line(0xdd)
	.dwattr DW$98, DW_AT_end_column(0x06)
	.dwendentry
	.dwendtag DW$98

	.sect	".text"
	.global	_drawarea

DW$108	.dwtag  DW_TAG_subprogram, DW_AT_name("drawarea"), DW_AT_symbol_name("_drawarea")
	.dwattr DW$108, DW_AT_low_pc(_drawarea)
	.dwattr DW$108, DW_AT_high_pc(0x00)
	.dwattr DW$108, DW_AT_begin_file("Lcd.c")
	.dwattr DW$108, DW_AT_begin_line(0xdf)
	.dwattr DW$108, DW_AT_begin_column(0x07)
	.dwpsn	"Lcd.c",224,4

	.dwfde DW$CIE

;***************************************************************
;* FUNCTION DEF: _drawarea                                     *
;***************************************************************
_drawarea:
	.dwcfa	0x0e, 1
	.dwcfa	0x80, 34, 1
        FRAME     #-5
        NOP
	.dwcfa	0x0e, 6
;* A     assigned to _x1
DW$109	.dwtag  DW_TAG_formal_parameter, DW_AT_name("x1"), DW_AT_symbol_name("_x1")
	.dwattr DW$109, DW_AT_type(*DW$T$19)
	.dwattr DW$109, DW_AT_location[DW_OP_reg0]
DW$110	.dwtag  DW_TAG_formal_parameter, DW_AT_name("y1"), DW_AT_symbol_name("_y1")
	.dwattr DW$110, DW_AT_type(*DW$T$19)
	.dwattr DW$110, DW_AT_location[DW_OP_breg17 6]
DW$111	.dwtag  DW_TAG_formal_parameter, DW_AT_name("x2"), DW_AT_symbol_name("_x2")
	.dwattr DW$111, DW_AT_type(*DW$T$19)
	.dwattr DW$111, DW_AT_location[DW_OP_breg17 7]
DW$112	.dwtag  DW_TAG_formal_parameter, DW_AT_name("y2"), DW_AT_symbol_name("_y2")
	.dwattr DW$112, DW_AT_type(*DW$T$19)
	.dwattr DW$112, DW_AT_location[DW_OP_breg17 8]
DW$113	.dwtag  DW_TAG_formal_parameter, DW_AT_name("partition"), DW_AT_symbol_name("_partition")
	.dwattr DW$113, DW_AT_type(*DW$T$19)
	.dwattr DW$113, DW_AT_location[DW_OP_breg17 9]
DW$114	.dwtag  DW_TAG_variable, DW_AT_name("x1"), DW_AT_symbol_name("_x1")
	.dwattr DW$114, DW_AT_type(*DW$T$19)
	.dwattr DW$114, DW_AT_location[DW_OP_breg17 4]
        STL       A,*SP(4)
        STL       A,*SP(0)
        LD        *SP(7),A
        STL       A,*SP(1)
        LD        *SP(9),A
        STL       A,*SP(2)
        LD        *SP(6),A
	.dwpsn	"Lcd.c",225,8
        CALL      #_drawabscissa        ; |225| 
        ; call occurs [#_drawabscissa] ; |225| 
        LD        *SP(6),A
        STL       A,*SP(0)
        LD        *SP(8),A
        STL       A,*SP(1)
        LD        *SP(9),A
        STL       A,*SP(2)
        LD        *SP(4),A
	.dwpsn	"Lcd.c",226,8
        CALL      #_drawordinate        ; |226| 
        ; call occurs [#_drawordinate] ; |226| 
        LD        *SP(6),A
        STL       A,*SP(0)
        LD        *SP(8),A
        STL       A,*SP(1)
        LD        *SP(9),A
        STL       A,*SP(2)
        LD        *SP(7),A
	.dwpsn	"Lcd.c",227,7
        CALL      #_drawordinate        ; |227| 
        ; call occurs [#_drawordinate] ; |227| 
        LD        *SP(4),A
        STL       A,*SP(0)
        LD        *SP(7),A
        STL       A,*SP(1)
        LD        *SP(9),A
        STL       A,*SP(2)
        LD        *SP(8),A
	.dwpsn	"Lcd.c",228,8
        CALL      #_drawabscissa        ; |228| 
        ; call occurs [#_drawabscissa] ; |228| 
        FRAME     #5
	.dwcfa	0x0e, 1
        RET
        ; return occurs
	.dwattr DW$108, DW_AT_end_file("Lcd.c")
	.dwattr DW$108, DW_AT_end_line(0xe5)
	.dwattr DW$108, DW_AT_end_column(0x04)
	.dwendentry
	.dwendtag DW$108

	.sect	".text"
	.global	_liner

DW$115	.dwtag  DW_TAG_subprogram, DW_AT_name("liner"), DW_AT_symbol_name("_liner")
	.dwattr DW$115, DW_AT_low_pc(_liner)
	.dwattr DW$115, DW_AT_high_pc(0x00)
	.dwattr DW$115, DW_AT_begin_file("Lcd.c")
	.dwattr DW$115, DW_AT_begin_line(0xe8)
	.dwattr DW$115, DW_AT_begin_column(0x06)
	.dwpsn	"Lcd.c",233,3

	.dwfde DW$CIE

;***************************************************************
;* FUNCTION DEF: _liner                                        *
;***************************************************************
_liner:
	.dwcfa	0x0e, 1
	.dwcfa	0x80, 34, 1
        PSHM      AR1
	.dwcfa	0x0e, 2
	.dwcfa	0x80, 10, 2
        FRAME     #-14
        NOP
	.dwcfa	0x0e, 16
;* A     assigned to _x1
DW$116	.dwtag  DW_TAG_formal_parameter, DW_AT_name("x1"), DW_AT_symbol_name("_x1")
	.dwattr DW$116, DW_AT_type(*DW$T$19)
	.dwattr DW$116, DW_AT_location[DW_OP_reg0]
DW$117	.dwtag  DW_TAG_formal_parameter, DW_AT_name("y1"), DW_AT_symbol_name("_y1")
	.dwattr DW$117, DW_AT_type(*DW$T$19)
	.dwattr DW$117, DW_AT_location[DW_OP_breg17 16]
DW$118	.dwtag  DW_TAG_formal_parameter, DW_AT_name("x2"), DW_AT_symbol_name("_x2")
	.dwattr DW$118, DW_AT_type(*DW$T$19)
	.dwattr DW$118, DW_AT_location[DW_OP_breg17 17]
DW$119	.dwtag  DW_TAG_formal_parameter, DW_AT_name("y2"), DW_AT_symbol_name("_y2")
	.dwattr DW$119, DW_AT_type(*DW$T$19)
	.dwattr DW$119, DW_AT_location[DW_OP_breg17 18]
DW$120	.dwtag  DW_TAG_formal_parameter, DW_AT_name("Dsp"), DW_AT_symbol_name("_Dsp")
	.dwattr DW$120, DW_AT_type(*DW$T$19)
	.dwattr DW$120, DW_AT_location[DW_OP_breg17 19]
DW$121	.dwtag  DW_TAG_formal_parameter, DW_AT_name("partition"), DW_AT_symbol_name("_partition")
	.dwattr DW$121, DW_AT_type(*DW$T$19)
	.dwattr DW$121, DW_AT_location[DW_OP_breg17 20]
DW$122	.dwtag  DW_TAG_variable, DW_AT_name("x1"), DW_AT_symbol_name("_x1")
	.dwattr DW$122, DW_AT_type(*DW$T$19)
	.dwattr DW$122, DW_AT_location[DW_OP_breg17 2]
DW$123	.dwtag  DW_TAG_variable, DW_AT_name("dx"), DW_AT_symbol_name("_dx")
	.dwattr DW$123, DW_AT_type(*DW$T$10)
	.dwattr DW$123, DW_AT_location[DW_OP_breg17 3]
DW$124	.dwtag  DW_TAG_variable, DW_AT_name("dy"), DW_AT_symbol_name("_dy")
	.dwattr DW$124, DW_AT_type(*DW$T$10)
	.dwattr DW$124, DW_AT_location[DW_OP_breg17 4]
DW$125	.dwtag  DW_TAG_variable, DW_AT_name("t1"), DW_AT_symbol_name("_t1")
	.dwattr DW$125, DW_AT_type(*DW$T$10)
	.dwattr DW$125, DW_AT_location[DW_OP_breg17 5]
DW$126	.dwtag  DW_TAG_variable, DW_AT_name("t2"), DW_AT_symbol_name("_t2")
	.dwattr DW$126, DW_AT_type(*DW$T$10)
	.dwattr DW$126, DW_AT_location[DW_OP_breg17 6]
DW$127	.dwtag  DW_TAG_variable, DW_AT_name("e"), DW_AT_symbol_name("_e")
	.dwattr DW$127, DW_AT_type(*DW$T$10)
	.dwattr DW$127, DW_AT_location[DW_OP_breg17 7]
DW$128	.dwtag  DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
	.dwattr DW$128, DW_AT_type(*DW$T$10)
	.dwattr DW$128, DW_AT_location[DW_OP_breg17 8]
DW$129	.dwtag  DW_TAG_variable, DW_AT_name("x"), DW_AT_symbol_name("_x")
	.dwattr DW$129, DW_AT_type(*DW$T$10)
	.dwattr DW$129, DW_AT_location[DW_OP_breg17 9]
DW$130	.dwtag  DW_TAG_variable, DW_AT_name("y"), DW_AT_symbol_name("_y")
	.dwattr DW$130, DW_AT_type(*DW$T$10)
	.dwattr DW$130, DW_AT_location[DW_OP_breg17 10]
DW$131	.dwtag  DW_TAG_variable, DW_AT_name("sx"), DW_AT_symbol_name("_sx")
	.dwattr DW$131, DW_AT_type(*DW$T$10)
	.dwattr DW$131, DW_AT_location[DW_OP_breg17 11]
DW$132	.dwtag  DW_TAG_variable, DW_AT_name("sy"), DW_AT_symbol_name("_sy")
	.dwattr DW$132, DW_AT_type(*DW$T$10)
	.dwattr DW$132, DW_AT_location[DW_OP_breg17 12]
        STL       A,*SP(2)
        SSBX      SXM
        LD        *SP(17),A
	.dwpsn	"Lcd.c",239,4
        SUB       *SP(2),A              ; |239| 
        LD        *(AL),A               ; |239| 
        ABS       A,A                   ; |239| 
        STL       A,*SP(3)
        LD        *SP(18),A
	.dwpsn	"Lcd.c",240,4
        SUB       *SP(16),A             ; |240| 
        LD        *(AL),A               ; |240| 
        ABS       A,A                   ; |240| 
        STL       A,*SP(4)
        MVDK      *SP(2),*(AR0)
        MVDK      *SP(17),*(AR1)
	.dwpsn	"Lcd.c",241,4
        CMPR      2,AR1                 ; |241| 
        BC        L41,NTC               ; |241| 
        ; branchcc occurs ; |241| 
	.dwpsn	"Lcd.c",242,5
        BD        L42                   ; |242| 
        ST        #1,*SP(11)            ; |242| 
        ; branch occurs ; |242| 
	.dwpsn	"Lcd.c",241,4
L41:    
	.dwpsn	"Lcd.c",244,5
        ST        #-1,*SP(11)           ; |244| 
	.dwpsn	"Lcd.c",242,5
L42:    
        MVDK      *SP(16),*(AR0)
        MVDK      *SP(18),*(AR1)
	.dwpsn	"Lcd.c",245,4
        CMPR      2,AR1                 ; |245| 
        BC        L43,NTC               ; |245| 
        ; branchcc occurs ; |245| 
	.dwpsn	"Lcd.c",246,5
        BD        L44                   ; |246| 
        ST        #1,*SP(12)            ; |246| 
        ; branch occurs ; |246| 
	.dwpsn	"Lcd.c",245,4
L43:    
	.dwpsn	"Lcd.c",248,5
        ST        #-1,*SP(12)           ; |248| 
	.dwpsn	"Lcd.c",246,5
L44:    
        LD        *SP(2),A
        STL       A,*SP(9)
        LD        *SP(16),A
        STL       A,*SP(10)
	.dwpsn	"Lcd.c",252,4
        LD        *SP(4),A              ; |252| 
        SFTA      A,8                   ; |252| 
        SFTA      A,-8                  ; |252| 
        SUB       *SP(3),A              ; |252| 
        BC        L50,AGEQ              ; |252| 
        ; branchcc occurs ; |252| 
        LD        *SP(4),A
	.dwpsn	"Lcd.c",253,5
        STL       A,#1,*SP(5)           ; |253| 
        LD        *SP(4),A
	.dwpsn	"Lcd.c",254,5
        SUB       *SP(3),A              ; |254| 
        STL       A,#1,*SP(6)           ; |254| 
	.dwpsn	"Lcd.c",255,5
        LD        *SP(4),#1,A           ; |255| 
        SUB       *SP(3),A              ; |255| 
        STL       A,*SP(7)
	.dwpsn	"Lcd.c",256,11
        ST        #0,*SP(8)             ; |256| 
	.dwpsn	"Lcd.c",256,15
        LD        *SP(3),A              ; |256| 
        SFTA      A,8                   ; |256| 
        SFTA      A,-8                  ; |256| 
        SUB       *SP(8),A              ; |256| 
        BC        L56,ALEQ              ; |256| 
        ; branchcc occurs ; |256| 
L45:    
DW$L$_liner$9$B:
	.dwpsn	"Lcd.c",258,11
        LD        *SP(19),A             ; |258| 
        BC        L46,AEQ               ; |258| 
        ; branchcc occurs ; |258| 
DW$L$_liner$9$E:
DW$L$_liner$10$B:
        LD        *SP(10),A
        STL       A,*SP(0)
        LD        *SP(20),A
        STL       A,*SP(1)
        LD        *SP(9),A
	.dwpsn	"Lcd.c",258,20
        CALL      #_dot                 ; |258| 
        ; call occurs [#_dot] ; |258| 
        B         L47                   ; |258| 
        ; branch occurs ; |258| 
DW$L$_liner$10$E:
	.dwpsn	"Lcd.c",258,11
L46:    
DW$L$_liner$11$B:
        LD        *SP(10),A
        STL       A,*SP(0)
        LD        *SP(20),A
        STL       A,*SP(1)
        LD        *SP(9),A
	.dwpsn	"Lcd.c",259,17
        CALL      #_NoDot               ; |259| 
        ; call occurs [#_NoDot] ; |259| 
DW$L$_liner$11$E:
	.dwpsn	"Lcd.c",258,20
L47:    
DW$L$_liner$12$B:
        LD        *SP(11),A
        SSBX      SXM
	.dwpsn	"Lcd.c",260,11
        ADD       *SP(9),A              ; |260| 
        STL       A,*SP(9)
	.dwpsn	"Lcd.c",261,11
        LD        *SP(7),A              ; |261| 
        BC        L48,ALT               ; |261| 
        ; branchcc occurs ; |261| 
DW$L$_liner$12$E:
DW$L$_liner$13$B:
        LD        *SP(12),A
	.dwpsn

⌨️ 快捷键说明

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