📄 mylcd.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 + -