📄 rtctempcompensation.asm
字号:
; RtcCorrectionIndex = (-40) ;
mov #0xffd8,r12
DBG26:
DBG25:
; }
UpdateCorrection_L2:
; if (RtcCorrectionIndex > ( 90) )
mov #0x5a,r13
cmp r12,r13
jc UpdateCorrection_L3
DBG28:
DBG27:
; {
; RtcCorrectionIndex = ( 90) ;
mov #0x5a,r12
DBG30:
DBG29:
; }
UpdateCorrection_L3:
; RtcCorrectionTime = (FrequencyCorrectionTable[RtcCorrectionIndex] << 1) - (47) ;
mov.b _FrequencyCorrectionTable(r12),r12
rla r12
sub #0x2f,r12
mov r12,&_RtcCorrectionTime
DBG32:
DBG31:
; }
UpdateCorrection_L1:
DBG33:
; EXIT
DBG36:
ret
.dbgseg dbg_syms
.long 0x0
.long DBG37
.long 0x0
.long 0x0
.long 0x10002
.long 0x0
.long DBG38
.long 0x2
.long 0x0
.long 0x10002
.long 0x504e5f5f
.long 0x534d5241
.long 0x0
.long 0x0
.long 0x10002
DBG2:
.long 0x62622e
.long 0x0
.long DBG18
.long 0x0
.long 0x1640001
.long 0x0
.long 0xd
.long 0x0
.long DBG39
.long 0x0
.long 0x706d6574
.long 0x43
.long 0xd0102
.long 0x4
.long 0x4ffff
DBG39:
.long 0x62622e
.long 0x0
.long DBG34
.long 0x0
.long 0x1640001
.long 0x0
.long 0x16
.long 0x0
.long DBG40
.long 0x0
.long 0x0
.long DBG41
.long 0x0
.long 0x0
.long 0x10002
.long 0x62652e
.long 0x0
.long DBG35
.long 0x0
.long 0x1640001
.long 0x0
.long 0x16
.long 0x0
.long 0x0
.long 0x0
.long 0x62652e
.long 0x0
.long DBG21
.long 0x0
.long 0x1640001
.long 0x0
.long 0x16
.long 0x0
.long 0x0
.long 0x0
DBG40:
.long 0x62622e
.long 0x0
.long DBG22
.long 0x0
.long 0x1640001
.long 0x0
.long 0x1d
.long 0x0
.long DBG42
.long 0x0
.long 0x0
.long DBG43
.long 0xc0102
.long 0xd
.long 0x4ffff
.long 0x62652e
.long 0x0
.long DBG31
.long 0x0
.long 0x1640001
.long 0x0
.long 0x2b
.long 0x0
.long 0x0
.long 0x0
.long 0x66652e
.long 0x0
.long DBG36
.long 0x0
.long 0x1650001
.long 0x0
.long 0x170
.long 0x0
.long 0x0
.long 0x0
.pseg RtcTempCompensation_code
DBG7:
.dbgseg dbg_syms
.long 0x0
.long DBG10
.long DBG7
.long 0x0
.long 0xff0001
; }
; void InitialiseTimerA1( void )
DBG6:
.long 0x0
.long DBG48
.long _InitialiseTimerA1
.long 0x40
.long 0x1020001
.long DBG11
.long DBG45-DBG46
.long DBG47
.long DBG44
.long 0x0
.pseg RtcTempCompensation_code
DBG46:
.dbgseg dbg_syms
DBG11:
.long 0x66622e
.long 0x0
.long DBG46
.long 0x0
.long 0x1650001
.long 0x0
.long 0x172
.long 0x0
.long DBG49
.long 0x0
.dbgseg dbg_line
DBG47:
.long DBG6
.long 0x0
.long _InitialiseTimerA1
.long 0x1
.long DBG51
.long 0x2
.long DBG52
.long 0x6
.long DBG53
.long 0x7
.long DBG54
.long 0x8
.long DBG55
.long 0x9
.long DBG56
.long 0xa
.long DBG57
.long 0xd
.long DBG58
.long 0xf
.long DBG59
.long 0x12
.long DBG60
.long 0x13
.pseg RtcTempCompensation_code
.global _InitialiseTimerA1
_InitialiseTimerA1:
; ENTRY
DBG50:
; {
DBG51:
; TACCR0 = (32767+2) ;
DBG52:
mov #0x8001,&0x172
DBG53:
; TACCR1 = (32767+2) /2;
mov #0xc001,r12
mov r12,&0x174
DBG54:
; TACCR2 = (32767+2) /2;
mov r12,&0x176
DBG55:
; TACCTL1 = (7*0x20) ;
mov #0xe0,&0x164
DBG56:
; TACCTL2 = (3*0x20) ;
mov #0x60,&0x166
DBG57:
; TACTL = ( (1*0x100) | (0*0x40) | (1*0x10) | (0x0002) );
mov #0x112,&0x160
DBG58:
; TACCTL0 = ( (4*0x20) | (0x0010) );
mov #0x90,&0x162
DBG59:
; RtcCorrectionTime = (FrequencyCorrectionTable[ ( ( 25) - (-40) ) ] << 1) - (47) ;
mov.b &_FrequencyCorrectionTable+0x41,r12
rla r12
sub #0x2f,r12
mov r12,&_RtcCorrectionTime
DBG61:
DBG60:
; EXIT
ret
.dbgseg dbg_syms
.long 0x0
.long DBG37
.long 0x0
.long 0x0
.long 0x10002
.long 0x0
.long DBG38
.long 0x2
.long 0x0
.long 0x10002
.long 0x504e5f5f
.long 0x534d5241
.long 0x0
.long 0x0
.long 0x10002
.long 0x66652e
.long 0x0
.long DBG61
.long 0x0
.long 0x1650001
.long 0x0
.long 0x184
.long 0x0
.long 0x0
.long 0x0
.pseg RtcTempCompensation_code
DBG45:
.dbgseg dbg_syms
.long 0x0
.long DBG48
.long DBG45
.long 0x0
.long 0xff0001
; }
; _INTERRUPT [ (6 * 2) ] void ta0_isr(void)
.iseg RtcTempCompensation_ivec_12,abs=0xffec
.align 0x2
.data _ta0_isr
.dbgseg dbg_syms
DBG44:
.long 0x5f306174
.long 0x727369
.long _ta0_isr
.long 0x40
.long 0x1020001
.long DBG49
.long DBG63-DBG64
.long DBG65
.long DBG62
.long 0x0
.pseg RtcTempCompensation_code
DBG64:
.dbgseg dbg_syms
DBG49:
.long 0x66622e
.long 0x0
.long DBG64
.long 0x0
.long 0x1650001
.long 0x0
.long 0x196
.long 0x0
.long DBG66
.long 0x0
.dbgseg dbg_line
DBG65:
.long DBG44
.long 0x0
.long _ta0_isr
.long 0x1
.long DBG68
.long 0x2
.long DBG69
.long 0x5
.long DBG70
.long 0x6
.long DBG71
.long 0x8
.long DBG72
.long 0x9
.long DBG73
.long 0xa
.long DBG74
.long 0xb
.long DBG75
.long 0xd
.long DBG76
.long 0xf
.long DBG77
.long 0x10
.long DBG78
.long 0x11
.long DBG79
.long 0x12
.long DBG80
.long 0x13
.long DBG81
.long 0x14
.long DBG82
.long 0x15
.long DBG83
.long 0x16
.long DBG84
.long 0x17
.long DBG85
.long 0x18
.long DBG86
.long 0x19
.long DBG87
.long 0x1a
.long DBG88
.long 0x1b
.long DBG89
.long 0x1c
.long DBG90
.long 0x1d
.long DBG91
.long 0x1e
.long DBG92
.long 0x1f
.long DBG94
.long 0x20
.long DBG96
.long 0x21
.long DBG97
.long 0x22
.pseg RtcTempCompensation_code
.global _ta0_isr
_ta0_isr:
push r4
push r12
push r13
push r14
push r15
DBG69:
DBG68:
DBG67:
; ENTRY
; {
; if (UpdateTempCorrectionFlag)
cmp.b #0x0,&_UpdateTempCorrectionFlag
jeq ta0_isr_L1
DBG71:
DBG70:
; {
; TACCR0 = (32767+2) - RtcCorrectionTime;
mov #-0x7fff,r12
sub &_RtcCorrectionTime,r12
mov r12,&0x172
DBG72:
; UpdateTempCorrectionFlag = 0;
mov.b #0x0,&_UpdateTempCorrectionFlag
DBG74:
DBG73:
; }
jmp ta0_isr_L2
ta0_isr_L1:
; else
; {
DBG75:
; TACCR0 = (32767+2) ;
DBG76:
mov #0x8001,&0x172
DBG77:
ta0_isr_L2:
; }
; seconds = bcd_add_short(seconds, 0x01);
DBG78:
mov #0x1,r13
mov.b &_seconds,r12
call #_bcd_add_short
mov.b r12,&_seconds
DBG79:
; if( seconds == 0x60 )
mov.b #0x60,r4
cmp.b r4,r12
jne ta0_isr_L3
DBG81:
DBG80:
; {
; UpdateTempCorrectionFlag = 1;
mov.b #0x1,&_UpdateTempCorrectionFlag
DBG82:
; seconds = 0;
mov.b #0x0,&_seconds
DBG83:
; minutes = bcd_add_short(minutes, 0x01);
mov #0x1,r13
mov.b &_minutes,r12
call #_bcd_add_short
mov.b r12,&_minutes
DBG84:
; if( minutes == 0x60 )
cmp.b r4,r12
jne ta0_isr_L4
DBG86:
DBG85:
; {
; minutes = 0;
mov.b #0x0,&_minutes
DBG87:
; hours = bcd_add_short(hours, 0x01);
mov #0x1,r13
mov.b &_hours,r12
call #_bcd_add_short
mov.b r12,&_hours
DBG88:
; if( hours == 0x13 )
cmp.b #0x13,r12
jne ta0_isr_L5
DBG90:
DBG89:
; {
; hours = 0x01;
mov.b #0x1,&_hours
DBG92:
DBG91:
; }
ta0_isr_L5:
DBG93:
; }
DBG94:
ta0_isr_L4:
DBG95:
; }
DBG96:
ta0_isr_L3:
; _BIC_SR_IRQ( ( (0x0080) + (0x0040) + (0x0010) ) ) ;
bic #0xd0,0xa(sp)
DBG98:
DBG97:
; EXIT
; .temp0 at stkloc 0 (0x0) size 10
pop r15
pop r14
pop r13
pop r12
pop r4
reti
.dbgseg dbg_syms
.long 0x0
.long DBG37
.long 0xa
.long 0x0
.long 0x10002
.long 0x0
.long DBG38
.long 0x2
.long 0x0
.long 0x10002
.long 0x504e5f5f
.long 0x534d5241
.long 0x0
.long 0x0
.long 0x10002
.long 0x66652e
.long 0x0
.long DBG98
.long 0x0
.long 0x1650001
.long 0x0
.long 0x1b7
.long 0x0
.long 0x0
.long 0x0
.pseg RtcTempCompensation_code
DBG63:
.dbgseg dbg_syms
.long 0x5f306174
.long 0x727369
.long DBG63
.long 0x0
.long 0xff0001
; }
; _INTERRUPT [ (5 * 2) ] void ta1_isr(void)
.iseg RtcTempCompensation_ivec_10,abs=0xffea
.data _ta1_isr
.dbgseg dbg_syms
DBG62:
.long 0x5f316174
.long 0x727369
.long _ta1_isr
.long 0x40
.long 0x1020001
.long DBG66
.long DBG100-DBG101
.long DBG102
.long DBG99
.long 0x0
.pseg RtcTempCompensation_code
DBG101:
.dbgseg dbg_syms
DBG66:
.long 0x66622e
.long 0x0
.long DBG101
.long 0x0
.long 0x1650001
.long 0x0
.long 0x1c2
.long 0x0
.long DBG103
.long 0x0
.dbgseg dbg_line
DBG102:
.long DBG62
.long 0x0
.long _ta1_isr
.long 0x1
.long DBG105
.long 0x2
.long DBG106
.long 0x3
.long DBG107
.long 0x4
.long DBG108
.long 0x5
.long DBG109
.long 0x6
.long DBG110
.long 0x7
.long DBG111
.long 0x8
.long DBG112
.long 0x9
.long DBG113
.long 0xa
.long DBG114
.long 0xb
.long DBG115
.long 0xc
.long DBG116
.long 0xd
.long DBG117
.long 0xe
.long DBG118
.long 0xf
.long DBG119
.long 0x10
.long DBG120
.long 0x11
.long DBG121
.long 0x12
.long DBG122
.long 0x13
.pseg RtcTempCompensation_code
.global _ta1_isr
_ta1_isr:
push r12
DBG106:
DBG105:
DBG104:
; ENTRY
; {
; switch(TAIV)
jmp ta1_isr_L2
DBG108:
DBG107:
; {
; default:
ta1_isr_L3:
; case 0:
DBG109:
ta1_isr_L4:
; break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -