📄 foreground.asm
字号:
; TACTL = (0x0004) | (1*0x100) ;
mov #0x104,&0x160
DBG72:
; TACTL |= (2*0x10) ;
bis #0x20,&0x160
DBG73:
; TACCR0 = 8 ;
mov #0x8,&0x172
DBG74:
; TACCTL0 = (0x0010) ;
mov #0x10,&0x162
DBG78:
DBG77:
DBG76:
DBG75:
; init_fll();
; {
; FLL_CTL0 |= (0x20) ;
bis.b #0x20,&0x53
DBG79:
; SCFI0 = (0x00) ;
mov.b #0x0,&0x50
DBG80:
; SCFQCTL = 32 - 1;
mov.b #0x1f,&0x52
DBG81:
; FLL_CTL0 |= (0x80) ;
bis.b r12,&0x53
DBG85:
DBG84:
DBG83:
DBG82:
; goto_high_freq();
; {
; SVSCTL |= ( (0x04) | 0x60);
bis.b #0x64,&0x56
DBG86:
; while ((SVSCTL & (0x02) ));
main_L5:
bit.b #0x2,&0x56
jne main_L5
main_L6:
; SVSCTL |= (0x08) ;
DBG87:
bis.b #0x8,&0x56
DBG88:
; SCFI0 = (0x08) | (0x80) ;
mov.b #0x88,&0x50
DBG89:
; SCFQCTL = 64 - 1;
mov.b #0x3f,&0x52
DBG91:
DBG90:
; clr_lcd_display();
call #_clr_lcd_display
DBG92:
; emeter.ucCalibrationOption = 1;
mov.b #0x1,&_emeter+0x5f
DBG93:
; emeter.ui_meter_status |= (0x0400) ;
bis #0x400,&_emeter
DBG94:
; _EINT();
eint
DBG95:
; while (1)
main_L7:
; {
DBG96:
; if((emeter.ui_anti_tamperring_status & (0x0004) ) == (0x0004) )
DBG97:
mov &_emeter+0x2,r12
and #0x4,r12
cmp #0x4,r12
jne main_L9
DBG98:
; _BIS_SR( ( (0x0080) + (0x0040) + (0x0010) ) );
bis #0xd0,sr
DBG99:
jmp main_L10
main_L9:
; else
; _BIS_SR( ( (0x0010) ) );
DBG100:
bis #0x10,sr
main_L10:
; if((emeter.ui_anti_tamperring_status & (0x0008) ) == (0x0008) )
DBG101:
mov &_emeter+0x2,r12
and #0x8,r12
cmp #0x8,r12
jne main_L11
DBG103:
DBG102:
; {
; if(emeter.ui_voltage_V1RMS < 8000)
cmp #0x1f40,&_emeter+0x16
jc main_L12
DBG105:
DBG104:
; {
; SwitchToSD16Measure();
call #_SwitchToSD16Measure
DBG107:
DBG106:
; }
jmp main_L14
main_L12:
; else
; {
DBG108:
; SwitchToESPMeasure();
DBG109:
call #_SwitchToESPMeasure
DBG110:
main_L13:
; }
DBG111:
; }
DBG112:
jmp main_L14
main_L11:
; else
; {
DBG113:
; OnlyRTCMode();
DBG114:
call #_OnlyRTCMode
DBG115:
main_L14:
; }
; if(((emeter.ui_anti_tamperring_status & (0x0001) ) == (0x0001) )
DBG116:
mov &_emeter+0x2,r12
and #0x1,r12
cmp #0x1,r12
jne main_L15
bit #0x2,&_emeter+0x2
jne main_L15
DBG118:
DBG117:
; && ((emeter.ui_anti_tamperring_status & (0x0002) ) == 0))
; {
; if((emeter.ui_anti_tamperring_status & (0x0010) ) == (0x0010) )
mov #0x10,r12
mov &_emeter+0x2,r13
and r12,r13
cmp r12,r13
jne main_L18
DBG120:
DBG119:
; {
; log_parameters();
call #_log_parameters
DBG121:
; if( ++emeter.uc_switch_delay_counter >= 2)
add.b #0x1,&_emeter+0x63
mov.b &_emeter+0x63,r12
cmp.b #0x2,r12
jnc main_L17
DBG123:
DBG122:
; {
; emeter.ui_voltage_V1RMS = voltage();
call #_voltage
mov r13,&_emeter+0x16
DBG124:
; emeter.ui_current_IRMS = current()/10;
call #_current
mov #0xa,r15
mov #0x0,r14
DBG185:
call #__sdiv32
DBG186:
mov r13,&_emeter+0x14
DBG125:
; emeter.uc_switch_delay_counter = 2;
mov.b #0x2,&_emeter+0x63
DBG127:
DBG126:
; }
main_L17:
; emeter.ui_anti_tamperring_status &= ~ (0x0010) ;
and #0xffef,&_emeter+0x2
DBG129:
DBG128:
; }
main_L16:
DBG130:
; }
DBG131:
jmp main_L18
main_L15:
; else if(((emeter.ui_anti_tamperring_status & (0x0002) ) == (0x0002) )
DBG132:
mov &_emeter+0x2,r12
and #0x2,r12
cmp #0x2,r12
jne main_L19
bit #0x1,&_emeter+0x2
jne main_L19
DBG134:
DBG133:
; && ((emeter.ui_anti_tamperring_status & (0x0001) ) == 0))
; {
; if((emeter.ui_meter_status & (0x0800) ) == (0x0800) )
mov #0x800,r12
mov &_emeter,r13
and r12,r13
cmp r12,r13
jne main_L20
DBG136:
DBG135:
; {
; emeter.ui_meter_status &= ~ (0x0800) ;
and #0xf7ff,&_emeter
DBG137:
; ActensperReadyIntMapping();
call #_ActensperReadyIntMapping
DBG139:
DBG138:
; }
main_L20:
; if((emeter.ui_meter_status & (0x0010) ) == (0x0010) )
mov #0x10,r12
mov &_emeter,r13
and r12,r13
cmp r12,r13
jne main_L21
DBG141:
DBG140:
; {
; init_esp_parameter();
call #_init_esp_parameter
DBG142:
; start_measurement();
call #_start_measurement
DBG143:
; emeter.ui_meter_status &= ~ (0x0010) ;
and #0xffef,&_emeter
DBG145:
DBG144:
; }
main_L21:
; if((emeter.ui_meter_status & (0x0080) ) == (0x0080) )
mov #0x80,r13
mov &_emeter,r12
and r13,r12
cmp r13,r12
jne main_L24
DBG147:
DBG146:
; {
; if( ++emeter.uc_switch_delay_counter >= 2)
add.b #0x1,&_emeter+0x63
mov.b &_emeter+0x63,r12
cmp.b #0x2,r12
jnc main_L23
DBG149:
DBG148:
; {
; EnergyReadyIntMapping();
call #_EnergyReadyIntMapping
DBG150:
; emeter.uc_switch_delay_counter = 2;
mov.b #0x2,&_emeter+0x63
DBG152:
DBG151:
; }
main_L23:
; emeter.ui_meter_status &= ~ (0x0080) ;
and #0xff7f,&_emeter
DBG154:
DBG153:
; }
main_L22:
DBG155:
; }
DBG156:
jmp main_L24
main_L19:
; else
; {
DBG157:
; emeter.ui_anti_tamperring_status &= ~ (0x0002) ;
DBG158:
bic #0x2,&_emeter+0x2
DBG159:
; emeter.ui_anti_tamperring_status &= ~ (0x0001) ;
bic #0x1,&_emeter+0x2
DBG160:
main_L24:
main_L18:
; }
; if((emeter.ui_meter_status & (0x0100) ) == (0x0100) )
DBG161:
mov #0x100,r13
mov &_emeter,r12
and r13,r12
cmp r13,r12
jne main_L25
DBG163:
DBG162:
; {
; correct_rtc();
call #_correct_rtc
DBG164:
; emeter.ui_meter_status &= ~ (0x0100) ;
and #0xfeff,&_emeter
DBG166:
DBG165:
; }
main_L25:
; if((emeter.ui_meter_status & (0x0200) ) == (0x0200) )
mov #0x200,r13
mov &_emeter,r12
and r13,r12
cmp r13,r12
jne main_L26
DBG168:
DBG167:
; {
; store_flash_var((char *)0x1010,(char *)&emeter.ucFlashOperated[0], 38 );
mov #0x26,r14
mov #_emeter+0x38,r13
mov #0x1010,r12
call #_store_flash_var
DBG169:
; emeter.ui_meter_status &= ~ (0x0200) ;
and #0xfdff,&_emeter
DBG171:
DBG170:
; }
main_L26:
; if((emeter.ui_meter_status & (0x1000) ) == (0x1000) )
mov #0x1000,r13
mov &_emeter,r12
and r13,r12
cmp r13,r12
jne main_L27
DBG173:
DBG172:
; {
; BasicTimerIntMapping();
call #_BasicTimerIntMapping
DBG174:
; emeter.ui_meter_status &= ~ (0x1000) ;
and #0xefff,&_emeter
DBG176:
DBG175:
; }
main_L27:
; if((emeter.ui_meter_status & (0x0400) ) == (0x0400) )
mov #0x400,r12
mov &_emeter,r13
and r12,r13
cmp r12,r13
jne main_L7
DBG178:
DBG177:
; {
; update_display();
call #_update_display
DBG179:
; emeter.ui_meter_status &= ~ (0x0400) ;
and #0xfbff,&_emeter
DBG181:
DBG180:
; }
main_L28:
DBG182:
jmp main_L7
DBG187:
DBG184:
; EXIT
ret
.dbgseg dbg_syms
.long 0x0
.long DBG188
.long 0x0
.long 0x0
.long 0x10002
.long 0x0
.long DBG189
.long 0x2
.long 0x0
.long 0x10002
.long 0x504e5f5f
.long 0x534d5241
.long 0x0
.long 0x0
.long 0x10002
DBG2:
.long 0x62622e
.long 0x0
.long DBG35
.long 0x0
.long 0x1640001
.long 0x0
.long 0xfff9
.long 0x0
.long DBG190
.long 0x0
.long 0x0
.long DBG191
.long 0xd0102
.long 0x22
.long 0x4ffff
DBG190:
.long 0x62622e
.long 0x0
.long DBG36
.long 0x0
.long 0x1640001
.long 0x0
.long 0xfffa
.long 0x0
.long DBG192
.long 0x0
.long 0x5f6d6172
.long 0x727470
.long 0xe0102
.long 0x22
.long 0x4ffff
DBG192:
.long 0x62622e
.long 0x0
.long DBG37
.long 0x0
.long 0x1640001
.long 0x0
.long 0xfffb
.long 0x0
.long DBG193
.long 0x0
.long 0x69
.long 0x0
.long 0xc0102
.long 0xc
.long 0x4ffff
.long 0x62652e
.long 0x0
.long DBG39
.long 0x0
.long 0x1640001
.long 0x0
.long 0xfffd
.long 0x0
.long 0x0
.long 0x0
.long 0x62652e
.long 0x0
.long DBG39
.long 0x0
.long 0x1640001
.long 0x0
.long 0xfffd
.long 0x0
.long 0x0
.long 0x0
DBG193:
.long 0x62622e
.long 0x0
.long DBG39
.long 0x0
.long 0x1640001
.long 0x0
.long 0xfffd
.long 0x0
.long DBG194
.long 0x0
.long 0x5f6d6172
.long 0x727470
.long 0xe0102
.long 0x22
.long 0x4ffff
DBG194:
.long 0x62622e
.long 0x0
.long DBG39
.long 0x0
.long 0x1640001
.long 0x0
.long 0xfffd
.long 0x0
.long DBG195
.long 0x0
.long 0x69
.long 0x0
.long 0xc0102
.long 0xc
.long 0x4ffff
.long 0x62652e
.long 0x0
.long DBG44
.long 0x0
.long 0x1640001
.long 0x0
.long 0xffdf
.long 0x0
.long 0x0
.long 0x0
.long 0x62652e
.long 0x0
.long DBG52
.long 0x0
.long 0x1640001
.long 0x0
.long 0xffe8
.long 0x0
.long 0x0
.long 0x0
.long 0x62652e
.long 0x0
.long DBG52
.long 0x0
.long 0x1640001
.long 0x0
.long 0xffe8
.long 0x0
.long 0x0
.long 0x0
DBG195:
.long 0x62622e
.long 0x0
.long DBG52
.long 0x0
.long 0x1640001
.long 0x0
.long 0xffe8
.long 0x0
.long DBG196
.long 0x0
.long 0x5f6d6172
.long 0x727470
.long 0xe0102
.long 0x22
.long 0x4ffff
.long 0x62652e
.long 0x0
.long DBG60
.long 0x0
.long 0x1640001
.long 0x0
.long 0xfff0
.long 0x0
.long 0x0
.long 0x0
DBG196:
.long 0x62622e
.long 0x0
.long DBG185
.long 0x0
.long 0x1640001
.long 0x0
.long 0x37
.long 0x0
.long DBG197
.long 0x0
.long 0x0
.long DBG198
.long 0x0
.long 0x0
.long 0x10002
.long 0x62652e
.long 0x0
.long DBG186
.long 0x0
.long 0x1640001
.long 0x0
.long 0x37
.long 0x0
.long 0x0
.long 0x0
.long 0x66652e
.long 0x0
.long DBG187
.long 0x0
.long 0x1650001
.long 0x0
.long 0x10a
.long 0x0
.long 0x0
.long 0x0
.pseg foreground_code
DBG7:
.dbgseg dbg_syms
.long 0x6e69616d
.long 0x0
.long DBG7
.long 0x0
.long 0xff0001
; }
.dseg foreground_bss
.align 0x2
foreground_V3:
.align 0x2
.global _emeter
_emeter:
.bss 0x66
; emeter size 102
.align 0x2
.global _phase_nv
_phase_nv:
.bss 0x88
; phase_nv size 136
.extern _store_flash_var
.extern _current
.extern _SwitchToSD16Measure
.extern _set_rtc_sumcheck
.extern _clr_lcd_display
.extern _rtc
.extern _SwitchToESPMeasure
.extern _OnlyRTCMode
.extern _ActensperReadyIntMapping
.extern _voltage
.extern _start_measurement
.extern _log_parameters
.extern _EnergyReadyIntMapping
.extern _check_rtc_sumcheck
.extern _update_display
.extern __sdiv32
.extern _BasicTimerIntMapping
.extern _correct_rtc
.extern _init_esp_parameter
.dbgseg dbg_syms
emeter_var_1:
DBG4:
.long 0x0
.long DBG200
.long 0x0
.long 0x8
.long 0x10afffe
.long 0x0
.long 0x660000
.long 0x0
.long DBG199
.long 0x0
.long 0x0
.long DBG201
.long 0x0
.long 0xe
.long 0x8ffff
.long 0x0
.long DBG202
.long 0x2
.long 0xe
.long 0x8ffff
.long 0x0
.long DBG203
.long 0x4
.long 0xe
.long 0x8ffff
.long 0x0
.long DBG204
.long 0x6
.long 0xc
.long 0x8ffff
.long 0x0
.long DBG205
.long 0x8
.long 0xe
.long 0x8ffff
.long 0x0
.long DBG206
.long 0xa
.long 0xe
.long 0x8ffff
.long 0x0
.long DBG207
.long 0xc
.long 0xe
.long 0x8ffff
.long 0x0
.long DBG208
.long 0xe
.long 0x4
.long 0x8ffff
.long 0x0
.long DBG209
.long 0x10
.long 0x4
.long 0x8ffff
.long 0x0
.long DBG210
.long 0x12
.long 0x4
.long 0x8ffff
.long 0x0
.long DBG211
.long 0x14
.long 0xe
.long 0x8ffff
.long 0x0
.long DBG212
.long 0x16
.long 0xe
.long 0x8ffff
.long 0x0
.long DBG213
.long 0x18
.long 0x6
.long 0x8ffff
.long 0x0
.long DBG214
.long 0x1c
.long 0xf
.long 0x8ffff
.long 0x0
.long DBG215
.long 0x20
.long 0xf
.long 0x8ffff
.long 0x0
.long DBG216
.long 0x24
.long 0xf
.long 0x8ffff
.long 0x0
.long DBG217
.long 0x28
.long 0xf
.long 0x8ffff
.long 0x0
.long DBG218
.long 0x2c
.long 0xf
.long 0x8ffff
.long 0x0
.long DBG219
.long 0x30
.long 0xf
.long 0x8ffff
.long 0x0
.long DBG220
.long 0x34
.long 0x6
.long 0x8ffff
.long 0x0
.long DBG221
.long 0x38
.long 0x6c
.long 0x108ffff
.long 0x0
.long 0x2010f
.long 0x2
.long 0x0
.long 0x0
.long 0x7a435f66
.long 0x31
.long 0x3a
.long 0x6
.long 0x8ffff
.long 0x7a435f66
.long 0x32
.long 0x3e
.long 0x6
.long 0x8ffff
.long 0x0
.long DBG222
.long 0x42
.long 0xe
.long 0x8ffff
.long 0x0
.long DBG223
.long 0x44
.long 0xe
.long 0x8ffff
.long 0x0
.long DBG224
.long 0x46
.long 0x5
.long 0x8ffff
.long 0x0
.long DBG225
.long 0x4a
.long 0x5
.long 0x8ffff
.long 0x0
.long DBG226
.long 0x4e
.long 0x6
.long 0x8ffff
.long 0x0
.long DBG227
.long 0x52
.long 0x6
.long 0x8ffff
.long 0x0
.long DBG228
.long 0x56
.long 0xe
.long 0x8ffff
.long 0x0
.long DBG229
.long 0x58
.long 0xe
.long 0x8ffff
.long 0x0
.long DBG230
.long 0x5a
.long 0xe
.long 0x8ffff
.long 0x0
.long DBG231
.long 0x5c
.long 0xe
.long 0x8ffff
.long 0x0
.long DBG232
.long 0x5e
.long 0xc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -