📄 main_nonbios.asm
字号:
.field -5971,16 ; _COSTAB[31] @ 496
.field -6000,16 ; _COSTAB[32] @ 512
.field -5971,16 ; _COSTAB[33] @ 528
.field -5885,16 ; _COSTAB[34] @ 544
.field -5742,16 ; _COSTAB[35] @ 560
.field -5543,16 ; _COSTAB[36] @ 576
.field -5292,16 ; _COSTAB[37] @ 592
.field -4989,16 ; _COSTAB[38] @ 608
.field -4622,16 ; _COSTAB[39] @ 624
.field -4243,16 ; _COSTAB[40] @ 640
.field -3806,16 ; _COSTAB[41] @ 656
.field -3333,16 ; _COSTAB[42] @ 672
.field -2828,16 ; _COSTAB[43] @ 688
.field -2296,16 ; _COSTAB[44] @ 704
.field -1742,16 ; _COSTAB[45] @ 720
.field -1171,16 ; _COSTAB[46] @ 736
.field -588,16 ; _COSTAB[47] @ 752
.field 0,16 ; _COSTAB[48] @ 768
.field 588,16 ; _COSTAB[49] @ 784
.field 1171,16 ; _COSTAB[50] @ 800
.field 1742,16 ; _COSTAB[51] @ 816
.field 2296,16 ; _COSTAB[52] @ 832
.field 2828,16 ; _COSTAB[53] @ 848
.field 3333,16 ; _COSTAB[54] @ 864
.field 3806,16 ; _COSTAB[55] @ 880
.field 4243,16 ; _COSTAB[56] @ 896
.field 4638,16 ; _COSTAB[57] @ 912
.field 4989,16 ; _COSTAB[58] @ 928
.field 5292,16 ; _COSTAB[59] @ 944
.field 5543,16 ; _COSTAB[60] @ 960
.field 5742,16 ; _COSTAB[61] @ 976
.field 5885,16 ; _COSTAB[62] @ 992
.field 5971,16 ; _COSTAB[63] @ 1008
IR_2: .set 64
.sect ".text"
.global _COSTAB
_COSTAB: .usect ".ebss",64,1,0
.sym _COSTAB,_COSTAB, 52, 2, 1024,, 64
.global _HAR_RATE
_HAR_RATE: .usect ".ebss",114,1,0
.sym _HAR_RATE,_HAR_RATE, 254, 2, 1824,, 6, 19
.global _HAR_REAL
_HAR_REAL: .usect ".ebss",114,1,0
.sym _HAR_REAL,_HAR_REAL, 254, 2, 1824,, 6, 19
.global _samp_buff
_samp_buff: .usect ".ebss",384,1,0
.sym _samp_buff,_samp_buff, 244, 2, 6144,, 6, 64
.global _SAMPLE
_SAMPLE: .usect ".ebss",792,1,0
.sym _SAMPLE,_SAMPLE, 244, 2, 12672,, 6, 132
; C:\ti\c2000\cgtools\bin\ac2000.exe -@C:\DOCUME~1\春明\LOCALS~1\Temp\TI3204_4
.sect ".text"
.sym _BCD_HEX,_BCD_HEX, 36, 3, 0
.func 66
;----------------------------------------------------------------------
; 66 | int inline BCD_HEX(int bcd)
;----------------------------------------------------------------------
;***************************************************************
;* FNAME: _BCD_HEX FR SIZE: 1 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 1 Auto, 0 SOE *
;***************************************************************
_BCD_HEX:
.line 2
;* AL assigned to _bcd
.sym _bcd,0, 4, 17, 16
.sym _bcd,-1, 4, 1, 16
ADDB SP,#1
MOV *-SP[1],AL ; |67|
.line 3
;----------------------------------------------------------------------
; 68 | return (bcd - (bcd>>4)*6);
;----------------------------------------------------------------------
ASR AL,4 ; |68|
MOV T,AL ; |68|
MPYB P,T,#6 ; |68|
MOV AL,*-SP[1] ; |68|
SUB AL,PL ; |68|
.line 4
SUBB SP,#1 ; |68|
LRETR
; return occurs
.endfunc 69,000000000h,1
.sect ".text"
.sym _HEX_BCD,_HEX_BCD, 36, 3, 0
.func 70
;----------------------------------------------------------------------
; 70 | int inline HEX_BCD(int hex)
;----------------------------------------------------------------------
;***************************************************************
;* FNAME: _HEX_BCD FR SIZE: 2 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 1 Auto, 0 SOE *
;***************************************************************
_HEX_BCD:
.line 2
;* AL assigned to _hex
.sym _hex,0, 4, 17, 16
.sym _hex,-1, 4, 1, 16
ADDB SP,#2
MOV *-SP[1],AL ; |71|
.line 3
;----------------------------------------------------------------------
; 72 | return (hex + hex/10*6);
;----------------------------------------------------------------------
MOVB AH,#10 ; |72|
FFC XAR7,#I$$DIV ; |72|
; call occurs [#I$$DIV] ; |72|
MOV T,AL ; |72|
MPYB ACC,T,#6 ; |72|
ADD AL,*-SP[1] ; |72|
.line 4
SUBB SP,#2 ; |72|
LRETR
; return occurs
.endfunc 73,000000000h,2
.sect ".text"
.global _SET_TIME
.sym _SET_TIME,_SET_TIME, 32, 2, 0
.func 75
;----------------------------------------------------------------------
; 75 | void SET_TIME(unsigned year,unsigned month,unsigned date,
; 76 | unsigned hour,unsigned minute,unsigned second)
;----------------------------------------------------------------------
;***************************************************************
;* FNAME: _SET_TIME FR SIZE: 4 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 4 Auto, 0 SOE *
;***************************************************************
_SET_TIME:
.line 3
;* AL assigned to _year
.sym _year,0, 14, 17, 16
;* AH assigned to _month
.sym _month,1, 14, 17, 16
;* AR4 assigned to _date
.sym _date,12, 14, 17, 16
;* AR5 assigned to _hour
.sym _hour,14, 14, 17, 16
.sym _minute,-7, 14, 9, 16
.sym _second,-8, 14, 9, 16
.sym _year,-1, 14, 1, 16
.sym _month,-2, 14, 1, 16
.sym _date,-3, 14, 1, 16
.sym _hour,-4, 14, 1, 16
ADDB SP,#4
MOV *-SP[4],AR5 ; |77|
MOV *-SP[3],AR4 ; |77|
MOV *-SP[2],AH ; |77|
MOV *-SP[1],AL ; |77|
.line 4
;----------------------------------------------------------------------
; 78 | *TIMER_FLAG = 0x02;
;----------------------------------------------------------------------
MOVL XAR4,#557040 ; |78|
MOV *+XAR4[0],#2 ; |78|
.line 5
;----------------------------------------------------------------------
; 79 | *TIMER_SEC = HEX_BCD(second);
;----------------------------------------------------------------------
MOV AL,*-SP[8] ; |79|
LCR #_HEX_BCD ; |79|
; call occurs [#_HEX_BCD] ; |79|
MOVL XAR4,#557049 ; |79|
MOV *+XAR4[0],AL ; |79|
.line 6
;----------------------------------------------------------------------
; 80 | *TIMER_MIN = HEX_BCD(minute);
;----------------------------------------------------------------------
MOV AL,*-SP[7] ; |80|
LCR #_HEX_BCD ; |80|
; call occurs [#_HEX_BCD] ; |80|
MOVL XAR4,#557050 ; |80|
MOV *+XAR4[0],AL ; |80|
.line 7
;----------------------------------------------------------------------
; 81 | *TIMER_HOUR = HEX_BCD(hour);
;----------------------------------------------------------------------
MOV AL,*-SP[4] ; |81|
LCR #_HEX_BCD ; |81|
; call occurs [#_HEX_BCD] ; |81|
MOVL XAR4,#557051 ; |81|
MOV *+XAR4[0],AL ; |81|
.line 8
;----------------------------------------------------------------------
; 82 | *TIMER_DATE = HEX_BCD(date);
;----------------------------------------------------------------------
MOV AL,*-SP[3] ; |82|
LCR #_HEX_BCD ; |82|
; call occurs [#_HEX_BCD] ; |82|
MOVL XAR4,#557053 ; |82|
MOV *+XAR4[0],AL ; |82|
.line 9
;----------------------------------------------------------------------
; 83 | *TIMER_MONTH = HEX_BCD(month);
;----------------------------------------------------------------------
MOV AL,*-SP[2] ; |83|
LCR #_HEX_BCD ; |83|
; call occurs [#_HEX_BCD] ; |83|
MOVL XAR4,#557054 ; |83|
MOV *+XAR4[0],AL ; |83|
.line 10
;----------------------------------------------------------------------
; 84 | *TIMER_YEAR = HEX_BCD(year);
;----------------------------------------------------------------------
MOV AL,*-SP[1] ; |84|
LCR #_HEX_BCD ; |84|
; call occurs [#_HEX_BCD] ; |84|
MOVL XAR4,#557055 ; |84|
MOV *+XAR4[0],AL ; |84|
.line 11
;----------------------------------------------------------------------
; 85 | *TIMER_FLAG = 0x00;
;----------------------------------------------------------------------
MOVL XAR4,#557040 ; |85|
MOV *+XAR4[0],#0 ; |85|
.line 12
SUBB SP,#4
LRETR
; return occurs
.endfunc 86,000000000h,4
.sect ".text"
.global _GET_TIME
.sym _GET_TIME,_GET_TIME, 32, 2, 0
.func 88
;----------------------------------------------------------------------
; 88 | void GET_TIME()
;----------------------------------------------------------------------
;***************************************************************
;* FNAME: _GET_TIME FR SIZE: 0 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 0 Auto, 0 SOE *
;***************************************************************
_GET_TIME:
.line 2
.line 3
;----------------------------------------------------------------------
; 90 | *TIMER_FLAG = 0x01;
;----------------------------------------------------------------------
MOVL XAR4,#557040 ; |90|
MOV *+XAR4[0],#1 ; |90|
.line 4
;----------------------------------------------------------------------
; 91 | TimerSec = BCD_HEX(*TIMER_SEC & 0xFF);
;----------------------------------------------------------------------
MOVL XAR4,#557049 ; |91|
AND AL,*+XAR4[0],#0x00ff ; |91|
LCR #_BCD_HEX ; |91|
; call occurs [#_BCD_HEX] ; |91|
MOVW DP,#_TimerSec
MOV @_TimerSec,AL ; |91|
.line 5
;----------------------------------------------------------------------
; 92 | TimerMin = BCD_HEX(*TIMER_MIN & 0xFF);
;----------------------------------------------------------------------
MOVL XAR4,#557050 ; |92|
AND AL,*+XAR4[0],#0x00ff ; |92|
LCR #_BCD_HEX ; |92|
; call occurs [#_BCD_HEX] ; |92|
MOV @_TimerMin,AL ; |92|
.line 6
;----------------------------------------------------------------------
; 93 | TimerHour = BCD_HEX(*TIMER_HOUR & 0xFF);
;----------------------------------------------------------------------
MOVL XAR4,#557051 ; |93|
AND AL,*+XAR4[0],#0x00ff ; |93|
LCR #_BCD_HEX ; |93|
; call occurs [#_BCD_HEX] ; |93|
MOV @_TimerHour,AL ; |93|
.line 7
;----------------------------------------------------------------------
; 94 | TimerDate = BCD_HEX(*TIMER_DATE & 0xFF);
;----------------------------------------------------------------------
MOVL XAR4,#557053 ; |94|
AND AL,*+XAR4[0],#0x00ff ; |94|
LCR #_BCD_HEX ; |94|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -