📄 radio.lis
字号:
00F4 84E3 ldi R24,52
00F6 90E0 ldi R25,0
00F8 8417 cp R24,R20
00FA 9507 cpc R25,R21
00FC 1CF1 brlt L207
00FE 80E0 ldi R24,<L208
0100 90E0 ldi R25,>L208
0102 FA01 movw R30,R20
0104 F197 sbiw R30,49
0106 EE0F lsl R30
0108 FF1F rol R31
010A E80F add R30,R24
010C F91F adc R31,R25
010E 0590 lpm R0,Z+
0110 1490 lpm R1,Z
0112 F001 movw R30,R0
0114 0994 ijmp
0116 L206:
0116 4130 cpi R20,1
0118 E0E0 ldi R30,0
011A 5E07 cpc R21,R30
011C 0CF4 brge X2
011E 9FC4 xjmp L25
0120 X2:
0120 83E1 ldi R24,19
0122 90E0 ldi R25,0
0124 8417 cp R24,R20
0126 9507 cpc R25,R21
0128 0CF4 brge X3
012A 99C4 xjmp L25
012C X3:
012C 80E0 ldi R24,<L209
012E 90E0 ldi R25,>L209
0130 FA01 movw R30,R20
0132 3197 sbiw R30,1
0134 EE0F lsl R30
0136 FF1F rol R31
0138 E80F add R30,R24
013A F91F adc R31,R25
013C 0590 lpm R0,Z+
013E 1490 lpm R1,Z
0140 F001 movw R30,R0
0142 0994 ijmp
0144 L207:
0144 4538 cpi R20,133
0146 E0E0 ldi R30,0
0148 5E07 cpc R21,R30
014A 0CF4 brge X4
014C 88C4 xjmp L25
014E X4:
014E 84E9 ldi R24,148
0150 90E0 ldi R25,0
0152 8417 cp R24,R20
0154 9507 cpc R25,R21
0156 0CF4 brge X5
0158 82C4 xjmp L25
015A X5:
015A 80E0 ldi R24,<L210
015C 90E0 ldi R25,>L210
015E FA01 movw R30,R20
0160 E558 subi R30,133
0162 F040 sbci R31,0
0164 EE0F lsl R30
0166 FF1F rol R31
0168 E80F add R30,R24
016A F91F adc R31,R25
016C 0590 lpm R0,Z+
016E 1490 lpm R1,Z
0170 F001 movw R30,R0
0172 0994 ijmp
0174 X0:
0174 .dbline 79
; {
0174 L28:
0174 .dbline 83
;
;
; case UICC_EJECT:
; display_type = DISPLAY_VERSION;
0174 83E1 ldi R24,19
0176 80930000 sts _display_type,R24
017A .dbline 84
; g_ui_tmp_msg_cnt = 20;
017A 84E1 ldi R24,20
017C 80930000 sts _g_ui_tmp_msg_cnt,R24
0180 .dbline 85
; break;
0180 6EC4 xjmp L26
0182 L29:
0182 .dbline 88
; #ifdef SGJM_RDS
; case RD_DISPLAY:
; if(amfm_flag) break;
0182 20900000 lds R2,_amfm_flag
0186 2220 tst R2
0188 09F0 breq L30
018A .dbline 88
018A 69C4 xjmp L26
018C L30:
018C .dbline 92
; #ifdef RDS_SW
; if(get_rds_sw()) break;
; #endif
; if(uicc_code == last_key)
018C 20900000 lds R2,_last_key
0190 30900000 lds R3,_uicc_code
0194 3214 cp R3,R2
0196 39F5 brne L32
0198 .dbline 93
; {
0198 .dbline 94
; rds_status = 0;
0198 2224 clr R2
019A 20920000 sts _rds_status,R2
019E .dbline 95
; rds_display_type = (rds_display_type + 1)%5;
019E 15E0 ldi R17,5
01A0 00910000 lds R16,_rds_display_type
01A4 0F5F subi R16,255 ; addi 1
01A6 0E940000 xcall mod8u
01AA 00930000 sts _rds_display_type,R16
01AE .dbline 96
; for(i=0;i<65;i++)
01AE 4427 clr R20
01B0 09C0 xjmp L37
01B2 L34:
01B2 .dbline 97
01B2 80E0 ldi R24,<_rds_dis_string
01B4 90E0 ldi R25,>_rds_dis_string
01B6 E42F mov R30,R20
01B8 FF27 clr R31
01BA E80F add R30,R24
01BC F91F adc R31,R25
01BE 80E2 ldi R24,32
01C0 8083 std z+0,R24
01C2 L35:
01C2 .dbline 96
01C2 4395 inc R20
01C4 L37:
01C4 .dbline 96
01C4 4134 cpi R20,65
01C6 A8F3 brlo L34
01C8 .dbline 98
; rds_dis_string[i] = ' ';
; if(rds_display_type == DIS_PS_NAME)
01C8 80910000 lds R24,_rds_display_type
01CC 8130 cpi R24,1
01CE 29F4 brne L38
01D0 .dbline 99
; {
01D0 .dbline 100
; rds_init();
01D0 0E940000 xcall _rds_init
01D4 .dbline 101
; open_rds();
01D4 0E940000 xcall _open_rds
01D8 .dbline 102
; }
01D8 06C0 xjmp L39
01DA L38:
01DA .dbline 103
; else if(rds_display_type == DIS_FREQUENCY)
01DA 20900000 lds R2,_rds_display_type
01DE 2220 tst R2
01E0 11F4 brne L40
01E2 .dbline 104
; close_rds();
01E2 0E940000 xcall _close_rds
01E6 L40:
01E6 L39:
01E6 .dbline 105
01E6 L32:
01E6 .dbline 105
; };
01E6 .dbline 106
; switch(rds_display_type)
01E6 40910000 lds R20,_rds_display_type
01EA 5527 clr R21
01EC 4030 cpi R20,0
01EE E0E0 ldi R30,0
01F0 5E07 cpc R21,R30
01F2 0CF4 brge X6
01F4 35C0 xjmp L42
01F6 X6:
01F6 84E0 ldi R24,4
01F8 90E0 ldi R25,0
01FA 8417 cp R24,R20
01FC 9507 cpc R25,R21
01FE 84F1 brlt L42
0200 80E0 ldi R24,<L55
0202 90E0 ldi R25,>L55
0204 FA01 movw R30,R20
0206 EE0F lsl R30
0208 FF1F rol R31
020A E80F add R30,R24
020C F91F adc R31,R25
020E 0590 lpm R0,Z+
0210 1490 lpm R1,Z
0212 F001 movw R30,R0
0214 0994 ijmp
0216 X1:
0216 .dbline 107
; {
0216 L45:
0216 .dbline 109
; case DIS_PS_NAME:
; err_msg = "PS NAME";
0216 80E0 ldi R24,<L46
0218 90E0 ldi R25,>L46
021A 90930100 sts _err_msg+1,R25
021E 80930000 sts _err_msg,R24
0222 .dbline 110
; break;
0222 1EC0 xjmp L43
0224 L47:
0224 .dbline 112
; case DIS_PTY:
; pty_is_searching = 0;
0224 2224 clr R2
0226 20920000 sts _pty_is_searching,R2
022A .dbline 113
; err_msg = " PTY";
022A 80E0 ldi R24,<L48
022C 90E0 ldi R25,>L48
022E 90930100 sts _err_msg+1,R25
0232 80930000 sts _err_msg,R24
0236 .dbline 114
; break;
0236 14C0 xjmp L43
0238 L49:
0238 .dbline 116
; case DIS_RT:
; err_msg = " RT";
0238 80E0 ldi R24,<L50
023A 90E0 ldi R25,>L50
023C 90930100 sts _err_msg+1,R25
0240 80930000 sts _err_msg,R24
0244 .dbline 117
; break;
0244 0DC0 xjmp L43
0246 L51:
0246 .dbline 119
; case DIS_CT:
; err_msg = " CT";
0246 80E0 ldi R24,<L52
0248 90E0 ldi R25,>L52
024A 90930100 sts _err_msg+1,R25
024E 80930000 sts _err_msg,R24
0252 .dbline 120
; break;
0252 06C0 xjmp L43
0254 L53:
0254 .dbline 122
; case DIS_FREQUENCY:
; err_msg = " FREQ";
0254 80E0 ldi R24,<L54
0256 90E0 ldi R25,>L54
0258 90930100 sts _err_msg+1,R25
025C 80930000 sts _err_msg,R24
0260 .dbline 123
; break;
0260 L42:
0260 L43:
0260 .dbline 126
; }
;
; display_type = ERROR_MSG;
0260 8DE0 ldi R24,13
0262 80930000 sts _display_type,R24
0266 .dbline 127
; g_ui_tmp_msg_cnt = 10;
0266 8AE0 ldi R24,10
0268 80930000 sts _g_ui_tmp_msg_cnt,R24
026C .dbline 131
; // rds_msg_detect_cnt = 25;
;
; // printf("begin rds key\n");
; break;
026C F8C3 xjmp L26
026E L56:
026E .dbline 133
; case RD_SEARCH:
; if(amfm_flag) break;
026E 20900000 lds R2,_amfm_flag
0272 2220 tst R2
0274 09F0 breq L57
0276 .dbline 133
0276 F3C3 xjmp L26
0278 L57:
0278 .dbline 138
; #ifdef RDS_SW
; if(get_rds_sw()) break;
; #endif
; //judge the first pressed pty search
; if(pty_is_searching==0)
0278 20900000 lds R2,_pty_is_searching
027C 2220 tst R2
027E A9F5 brne L59
0280 .dbline 139
; {
0280 .dbline 140
; pty_is_searching = 1;
0280 81E0 ldi R24,1
0282 80930000 sts _pty_is_searching,R24
0286 .dbline 142
; //g_ui_tmp_msg_cnt = 15;
; if(rds_display_type!=DIS_FREQUENCY)
0286 20900000 lds R2,_rds_display_type
028A 2220 tst R2
028C 01F1 breq L61
028E .dbline 143
; {
028E .dbline 144
; if(rds_data.syc_flag)
028E 20900A00 lds R2,_rds_data+10
0292 2220 tst R2
0294 C1F0 breq L63
0296 .dbline 145
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -