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

📄 mylcd.asm

📁 USB for TMS320C5402
💻 ASM
字号:
;***************************************************************
;* TMS320C54x C/C++ Codegen                  PC Version 3.831  *
;* Date/Time created: Tue Feb 26 00:02:15 2008                 *
;***************************************************************
	.mmregs
FP	.set	AR7
	.c_mode
	.file	"MYLCD.c"
	.global	_Lcd_i
	.bss	_Lcd_i,1,0,0
	.sym	_Lcd_i,_Lcd_i, 4, 2, 16
;	c:\ti\c5400\cgtools\bin\acp500.exe -@C:\DOCUME~1\amateur\LOCALS~1\Temp\TI4072_4 

	.sect	".text"
	.global	_LCD_INIT
	.sym	_LCD_INIT,_LCD_INIT, 32, 2, 0
	.func	6

;***************************************************************
;* FUNCTION DEF: _LCD_INIT                                     *
;***************************************************************
_LCD_INIT:
	.line	2
        FRAME     #-1
	.line	4
        CALLD     #_Lcd_Instruct_Write  ; |9| 
        NOP
        LD        #52,A
        ; call occurs [#_Lcd_Instruct_Write] ; |9| 
	.line	5
        CALLD     #_Lcd_Instruct_Write  ; |10| 
        NOP
        LD        #48,A
        ; call occurs [#_Lcd_Instruct_Write] ; |10| 
	.line	6
        CALLD     #_Lcd_Instruct_Write  ; |11| 
        NOP
        LD        #1,A
        ; call occurs [#_Lcd_Instruct_Write] ; |11| 
	.line	7
        CALLD     #_Lcd_Instruct_Write  ; |12| 
        NOP
        LD        #6,A
        ; call occurs [#_Lcd_Instruct_Write] ; |12| 
	.line	8
        CALLD     #_Lcd_Instruct_Write  ; |13| 
        NOP
        LD        #12,A
        ; call occurs [#_Lcd_Instruct_Write] ; |13| 
	.line	10
        FRAME     #1
        RET
        ; return occurs
	.endfunc	15,000000000h,1



	.sect	".text"
	.global	_Lcd_Instruct_Write
	.sym	_Lcd_Instruct_Write,_Lcd_Instruct_Write, 32, 2, 0
	.func	18

;***************************************************************
;* FUNCTION DEF: _Lcd_Instruct_Write                           *
;***************************************************************
_Lcd_Instruct_Write:
	.line	2
;* A     assigned to _Ins
	.sym	_Ins,0, 12, 17, 16
	.sym	_Ins,0, 12, 1, 16
        FRAME     #-1
        NOP
        STL       A,*SP(0)
	.line	3
        LD        #0,A
        PORTW     *(AL),06fffH          ; |20| 
	.line	4
        CALLD     #_Delay               ; |21| 
        LD        #300,A
        ; call occurs [#_Delay] ; |21| 
	.line	5
        LD        #255,A
        AND       *SP(0),A              ; |22| 
        PORTW     *(AL),03fffH          ; |22| 
	.line	7
        FRAME     #1
        RET
        ; return occurs
	.endfunc	24,000000000h,1



	.sect	".text"
	.global	_Lcd_Data_Write
	.sym	_Lcd_Data_Write,_Lcd_Data_Write, 32, 2, 0
	.func	26

;***************************************************************
;* FUNCTION DEF: _Lcd_Data_Write                               *
;***************************************************************
_Lcd_Data_Write:
	.line	2
;* A     assigned to _Data
	.sym	_Data,0, 12, 17, 16
	.sym	_Data,0, 12, 1, 16
        FRAME     #-1
        NOP
        STL       A,*SP(0)
	.line	3
        LD        #256,A
        PORTW     *(AL),06fffH          ; |28| 
	.line	4
        CALLD     #_Delay               ; |29| 
        LD        #300,A
        ; call occurs [#_Delay] ; |29| 
	.line	5
        LD        #255,A
        AND       *SP(0),A              ; |30| 
        PORTW     *(AL),03fffH          ; |30| 
	.line	7
        FRAME     #1
        RET
        ; return occurs
	.endfunc	32,000000000h,1



	.sect	".text"
	.global	_LCD_SetXY
	.sym	_LCD_SetXY,_LCD_SetXY, 32, 2, 0
	.func	38

;***************************************************************
;* FUNCTION DEF: _LCD_SetXY                                    *
;***************************************************************
_LCD_SetXY:
	.line	2
;* A     assigned to _x
	.sym	_x,0, 12, 17, 16
	.sym	_y,4, 12, 9, 16
	.sym	_x,0, 12, 1, 16
        PSHM      AR1
        FRAME     #-2
        NOP
        STL       A,*SP(0)
	.line	3
        B         L5                    ; |40| 
        ; branch occurs ; |40| 
L1:    
	.line	6
        CALLD     #_Lcd_Instruct_Write  ; |43| 
        ADD       #127,A,A              ; |43| 
        ; call occurs [#_Lcd_Instruct_Write] ; |43| 
        B         L6                    ; |43| 
        ; branch occurs ; |43| 
L2:    
	.line	8
        CALLD     #_Lcd_Instruct_Write  ; |45| 
        ADD       #143,A,A              ; |45| 
        ; call occurs [#_Lcd_Instruct_Write] ; |45| 
        B         L6                    ; |45| 
        ; branch occurs ; |45| 
L3:    
	.line	10
        CALLD     #_Lcd_Instruct_Write  ; |47| 
        ADD       #135,A,A              ; |47| 
        ; call occurs [#_Lcd_Instruct_Write] ; |47| 
        B         L6                    ; |47| 
        ; branch occurs ; |47| 
L4:    
	.line	12
        CALLD     #_Lcd_Instruct_Write  ; |49| 
        ADD       #151,A,A              ; |49| 
        ; call occurs [#_Lcd_Instruct_Write] ; |49| 
        B         L6                    ; |49| 
        ; branch occurs ; |49| 
L5:    
	.line	3
        STM       #1,AR0
        MVDK      *SP(4),*(AR1)
        CMPR      0,AR1                 ; |40| 
        BC        L1,TC                 ; |40| 
        ; branch occurs ; |40| 
        STM       #2,AR0
        CMPR      0,AR1                 ; |40| 
        BC        L2,TC                 ; |40| 
        ; branch occurs ; |40| 
        STM       #3,AR0
        CMPR      0,AR1                 ; |40| 
        BC        L3,TC                 ; |40| 
        ; branch occurs ; |40| 
        STM       #4,AR0
        CMPR      0,AR1                 ; |40| 
        BC        L4,TC                 ; |40| 
        ; branch occurs ; |40| 
L6:    
	.line	15
        FRAME     #2
        POPM      AR1
        RET
        ; return occurs
	.endfunc	52,000000400h,3



	.sect	".text"
	.global	_LCD_WriteASCII
	.sym	_LCD_WriteASCII,_LCD_WriteASCII, 32, 2, 0
	.func	57

;***************************************************************
;* FUNCTION DEF: _LCD_WriteASCII                               *
;***************************************************************
_LCD_WriteASCII:
	.line	2
;* A     assigned to _dis_addr_x
	.sym	_dis_addr_x,0, 12, 17, 16
	.sym	_dis_addr_y,4, 12, 9, 16
	.sym	_dis_dat,5, 4, 9, 16
	.sym	_dis_addr_x,2, 12, 1, 16
        FRAME     #-3
        NOP
        STL       A,*SP(2)
	.line	3
        LD        *SP(4),A
        STL       A,*SP(0)
        LD        *SP(2),A
        CALL      #_LCD_SetXY           ; |59| 
        ; call occurs [#_LCD_SetXY] ; |59| 
	.line	4
        LD        *SP(5),A
        CALL      #_Lcd_Data_Write      ; |60| 
        ; call occurs [#_Lcd_Data_Write] ; |60| 
	.line	6
        FRAME     #3
        RET
        ; return occurs
	.endfunc	62,000000000h,3



	.sect	".text"
	.global	_LCD_DispHexData
	.sym	_LCD_DispHexData,_LCD_DispHexData, 32, 2, 0
	.func	67

;***************************************************************
;* FUNCTION DEF: _LCD_DispHexData                              *
;***************************************************************
_LCD_DispHexData:
	.line	2
;* A     assigned to _dis_addr_x
	.sym	_dis_addr_x,0, 12, 17, 16
	.sym	_dis_addr_y,6, 12, 9, 16
	.sym	_dis_dat,7, 4, 9, 16
	.sym	_dis_addr_x,2, 12, 1, 16
	.sym	_temp1,3, 4, 1, 16
        PSHM      AR1
        FRAME     #-4
        NOP
        STL       A,*SP(2)
	.line	5
        SSBX      SXM
        NOP
        LD        *SP(7),A
        SFTA      A,#-3,B               ; |71| 
        SFTL      B,#-12,B              ; |71| 
        SFTL      B,#-16,B              ; |71| 
        ADD       B,A                   ; |71| 
        STL       A,#-4,*SP(3)
	.line	6
        LD        #9,A
        SUB       *SP(3),A              ; |72| 
        BC        L7,AGEQ               ; |72| 
        ; branch occurs ; |72| 
	.line	7
        BD        L8                    ; |73| 
        ADDM      #55,*SP(3)            ; |73| 
        ; branch occurs ; |73| 
L7:    
	.line	9
        ADDM      #48,*SP(3)            ; |75| 
L8:    
	.line	10
        LD        *SP(6),A
        STL       A,*SP(0)
        LD        *SP(2),A
        CALL      #_LCD_SetXY           ; |76| 
        ; call occurs [#_LCD_SetXY] ; |76| 
	.line	11
        LD        *SP(3),A
        CALL      #_Lcd_Data_Write      ; |77| 
        ; call occurs [#_Lcd_Data_Write] ; |77| 
	.line	12
        LD        *SP(7),A
        STL       A,*SP(3)
	.line	13
        MVDK      *SP(7),*(AR1)
        LDM       AR1,A
        SSBX      SXM
        LDM       AR1,B
        LD        *(BL),B               ; |79| 
        SFTA      B,#-3,B               ; |79| 
        SFTA      B,#-12,B              ; |79| 
        ADD       A,B                   ; |79| 
        LD        #15,A
        STLM      B,AR2
        CMPL      A,B                   ; |79| 
        LDM       AR2,A
        AND       A,B                   ; |79| 
        LDM       AR1,A
        SUB       B,A                   ; |79| 
        STL       A,*SP(3)
	.line	14
        LD        #9,A
        SUB       *SP(3),A              ; |80| 
        BC        L9,AGEQ               ; |80| 
        ; branch occurs ; |80| 
	.line	15
        BD        L10                   ; |81| 
        ADDM      #55,*SP(3)            ; |81| 
        ; branch occurs ; |81| 
L9:    
	.line	17
        ADDM      #48,*SP(3)            ; |83| 
L10:    
	.line	18
        LD        *SP(3),A
        CALL      #_Lcd_Data_Write      ; |84| 
        ; call occurs [#_Lcd_Data_Write] ; |84| 
	.line	20
        FRAME     #4
        POPM      AR1
        RET
        ; return occurs
	.endfunc	86,000000400h,5



	.sect	".text"
	.global	_LCD_DispDecData
	.sym	_LCD_DispDecData,_LCD_DispDecData, 32, 2, 0
	.func	91

;***************************************************************
;* FUNCTION DEF: _LCD_DispDecData                              *
;***************************************************************
_LCD_DispDecData:
	.line	2
;* A     assigned to _dis_addr_x
	.sym	_dis_addr_x,0, 12, 17, 16
	.sym	_dis_addr_y,6, 12, 9, 16
	.sym	_dis_dat,7, 4, 9, 16
	.sym	_dis_addr_x,2, 12, 1, 16
	.sym	_temp1,3, 4, 1, 16
        FRAME     #-5
        NOP
        STL       A,*SP(2)
	.line	5
        LD        *SP(6),A
        STL       A,*SP(0)
        LD        *SP(2),A
        CALL      #_LCD_SetXY           ; |95| 
        ; call occurs [#_LCD_SetXY] ; |95| 
	.line	6
        ST        #100,*SP(0)           ; |96| 
        LD        *SP(7),A
        CALL      #I$$DIV               ; |96| 
        ; call occurs [#I$$DIV] ; |96| 
        STL       A,*SP(3)
	.line	7
        LD        *SP(3),A              ; |97| 
        BC        L11,AEQ               ; |97| 
        ; branch occurs ; |97| 
	.line	8
        LD        *SP(3),A
        CALLD     #_Lcd_Data_Write      ; |98| 
        ADD       #48,A,A               ; |98| 
        ; call occurs [#_Lcd_Data_Write] ; |98| 
L11:    
	.line	9
        ST        #100,*SP(0)           ; |99| 
        LD        *SP(7),A
        CALL      #I$$MOD               ; |99| 
        ; call occurs [#I$$MOD] ; |99| 
        ST        #10,*SP(0)            ; |99| 
        CALL      #I$$DIV               ; |99| 
        ; call occurs [#I$$DIV] ; |99| 
        STL       A,*SP(3)
	.line	10
        CALLD     #_Lcd_Data_Write      ; |100| 
        ADD       #48,A,A               ; |100| 
        ; call occurs [#_Lcd_Data_Write] ; |100| 
	.line	11
        ST        #10,*SP(0)            ; |101| 
        LD        *SP(7),A
        CALL      #I$$MOD               ; |101| 
        ; call occurs [#I$$MOD] ; |101| 
        STL       A,*SP(3)
	.line	12
        CALLD     #_Lcd_Data_Write      ; |102| 
        ADD       #48,A,A               ; |102| 
        ; call occurs [#_Lcd_Data_Write] ; |102| 
	.line	14
        FRAME     #5
        RET
        ; return occurs
	.endfunc	104,000000000h,5



	.sect	".text"
	.global	_LCD_WriteStr
	.sym	_LCD_WriteStr,_LCD_WriteStr, 32, 2, 0
	.func	109

;***************************************************************
;* FUNCTION DEF: _LCD_WriteStr                                 *
;***************************************************************
_LCD_WriteStr:
	.line	2
;* A     assigned to _dis_addr_x
	.sym	_dis_addr_x,0, 12, 17, 16
	.sym	_dis_addr_y,6, 12, 9, 16
	.sym	_str,7, 18, 9, 16
	.sym	_dis_addr_x,2, 12, 1, 16
	.sym	_LCD_temp,3, 12, 1, 16
        PSHM      AR1
        FRAME     #-4
        NOP
        STL       A,*SP(2)
	.line	4
        LD        *SP(6),A
        STL       A,*SP(0)
        LD        *SP(2),A
        CALL      #_LCD_SetXY           ; |112| 
        ; call occurs [#_LCD_SetXY] ; |112| 
	.line	5
        MVDK      *SP(7),*(AR1)
        LD        *AR1,A
        STL       A,*SP(3)
	.line	6
        LD        *SP(3),A              ; |114| 
        BC        L13,AEQ               ; |114| 
        ; branch occurs ; |114| 
L12:    
	.line	8
        LD        *SP(3),A
        CALL      #_Lcd_Data_Write      ; |116| 
        ; call occurs [#_Lcd_Data_Write] ; |116| 
	.line	9
        MVDK      *SP(7),*(AR1)
        LD        *+AR1(1),A
        MVKD      *(AR1),*SP(7)
        STL       A,*SP(3)
	.line	10
        LD        *SP(3),A              ; |118| 
        BC        L12,ANEQ              ; |118| 
        ; branch occurs ; |118| 
L13:    
	.line	11
        FRAME     #4
        POPM      AR1
        RET
        ; return occurs
	.endfunc	119,000000400h,5


;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES                               *
;***************************************************************
	.global	_Delay
	.global	I$$DIV
	.global	I$$MOD

;***************************************************************
;* TYPE INFORMATION                                            *
;***************************************************************

⌨️ 快捷键说明

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