📄 at980.lst
字号:
(0285) g_vfd_grid_buffer[8] = num_trans(r2);
0286 DF98 RCALL _num_trans
0287 0118 MOVW R2,R16
0288 923001AA STS R3,0x1AA
028A 922001A9 STS R2,0x1A9
(0286) }
028C C012 RJMP 0x029F
(0287) else
(0288) {
(0289) if(amfm_flag)
028D 902001B7 LDS R2,_amfm_flag
028F 2022 TST R2
0290 F039 BEQ 0x0298
(0290) {
(0291) g_vfd_grid_buffer[9] = VFD_alpha_A;
0291 EE83 LDI R24,0xE3
0292 E191 LDI R25,0x11
0293 940E1C7F CALL 0x1C7F
0295 940E1C6F CALL 0x1C6F
(0292) g_vfd_grid_buffer[8] = VFD_alpha_M;
(0293)
(0294) }
0297 C007 RJMP 0x029F
(0295) else
(0296) {
(0297) g_vfd_grid_buffer[9] = VFD_alpha_F;
0298 EE81 LDI R24,0xE1
0299 E190 LDI R25,0x10
029A 940E1C7F CALL 0x1C7F
(0298) g_vfd_grid_buffer[8] = VFD_alpha_M;
029C E191 LDI R25,0x11
029D 940E1C6F CALL 0x1C6F
(0299)
(0300) };
(0301) };
(0302) if(amfm_flag)
029F 902001B7 LDS R2,_amfm_flag
02A1 2022 TST R2
02A2 F031 BEQ 0x02A9
02A3 940E1B86 CALL 0x1B86
(0303) g_vfd_grid_buffer[2] |= VFD_LED_KHZ;
02A5 6490 ORI R25,0x40
02A6 940E1B13 CALL 0x1B13
02A8 C122 RJMP 0x03CB
(0304) else
(0305) {
(0306) g_vfd_grid_buffer[2] |= VFD_LED_MHZ;
02A9 940E1B86 CALL 0x1B86
02AB 6890 ORI R25,0x80
02AC 940E1B13 CALL 0x1B13
02AE 940E1C65 CALL 0x1C65
(0307) g_vfd_grid_buffer[3] |= VFD_LED_DP;
02B0 6890 ORI R25,0x80
02B1 940E1AD9 CALL 0x1AD9
(0308) };
(0309) break;
02B3 C117 RJMP 0x03CB
(0310) #ifdef SGJM_RDS
(0311) case DIS_PS_NAME:
(0312) // printf(rds_dis_string);printf("\n");
(0313) if(rds_status&PS_NAME_EXIST)
02B4 9020018F LDS R2,0x18F
02B6 FE20 SBRS R2,0
02B7 C004 RJMP 0x02BC
(0314) Set_String(rds_dis_string);
02B8 E602 LDI R16,0x62
02B9 E012 LDI R17,2
02BA D2CD RCALL _Set_String
02BB C10F RJMP 0x03CB
(0315) else
(0316) Set_String("NOPSNAME");
02BC E307 LDI R16,0x37
02BD E011 LDI R17,1
02BE D2C9 RCALL _Set_String
(0317) break;
02BF C10B RJMP 0x03CB
(0318) case DIS_PTY:
(0319) if(pty_is_searching == 2)
02C0 91800190 LDS R24,0x190
02C2 3082 CPI R24,2
02C3 F4F9 BNE 0x02E3
(0320) {
(0321) if(blink_time<3)
02C4 91800194 LDS R24,_blink_time
02C6 3083 CPI R24,3
02C7 F418 BCC 0x02CB
(0322) Set_String("PTY");
02C8 E303 LDI R16,0x33
02C9 E011 LDI R17,1
02CA D2BD RCALL _Set_String
(0323) display_digit(freq);
02CB 940E1B54 CALL 0x1B54
02CD DF5A RCALL _display_digit
(0324) if(amfm_flag)
02CE 902001B7 LDS R2,_amfm_flag
02D0 2022 TST R2
02D1 F031 BEQ 0x02D8
02D2 940E1B86 CALL 0x1B86
(0325) {
(0326) g_vfd_grid_buffer[2] |= VFD_LED_KHZ;
02D4 6490 ORI R25,0x40
02D5 940E1B13 CALL 0x1B13
(0327) }
02D7 C0F3 RJMP 0x03CB
(0328) else
(0329) {
(0330)
(0331) g_vfd_grid_buffer[2] |= VFD_LED_MHZ;
02D8 940E1B86 CALL 0x1B86
02DA 6890 ORI R25,0x80
02DB 940E1B13 CALL 0x1B13
02DD 940E1C65 CALL 0x1C65
(0332) g_vfd_grid_buffer[3] |= VFD_LED_DP;
02DF 6890 ORI R25,0x80
02E0 940E1AD9 CALL 0x1AD9
(0333) };
(0334)
(0335) }
02E2 C0E8 RJMP 0x03CB
(0336) else
(0337) {
(0338) if(pty_is_searching==1)
02E3 91800190 LDS R24,0x190
02E5 3081 CPI R24,1
02E6 F459 BNE 0x02F2
(0339) {
(0340) if(blink_time>2)
02E7 E082 LDI R24,2
02E8 90200194 LDS R2,_blink_time
02EA 1582 CP R24,R2
02EB F408 BCC 0x02ED
(0341) break;
02EC C0DE RJMP 0x03CB
(0342) rds_dis_string[5] = pty_search_type;
02ED 90200263 LDS R2,_rds_dis_string+1
02EF 92200267 STS R2,0x267
(0343) }
02F1 C00C RJMP 0x02FE
(0344) else
(0345) {
(0346) if((rds_status&PTY_EXIST)==0)
02F2 9020018F LDS R2,0x18F
02F4 FC21 SBRC R2,1
02F5 C004 RJMP 0x02FA
(0347) {
(0348) Set_String("NO PTY");
02F6 E20C LDI R16,0x2C
02F7 E011 LDI R17,1
02F8 D28F RCALL _Set_String
(0349) break;
02F9 C0D1 RJMP 0x03CB
(0350) };
(0351) rds_dis_string[5] = pty_dis_type;
02FA 90200262 LDS R2,_rds_dis_string
02FC 92200267 STS R2,0x267
(0352) }
(0353)
(0354) switch(rds_dis_string[5])
02FE 91600267 LDS R22,0x267
0300 2777 CLR R23
0301 3060 CPI R22,0
0302 E0E0 LDI R30,0
0303 077E CPC R23,R30
0304 F40C BGE 0x0306
0305 C050 RJMP 0x0356
0306 E18F LDI R24,0x1F
0307 E090 LDI R25,0
0308 1786 CP R24,R22
0309 0797 CPC R25,R23
030A F40C BGE 0x030C
030B C04A RJMP 0x0356
030C E582 LDI R24,0x52
030D E090 LDI R25,0
030E 01FB MOVW R30,R22
030F 940E1AA8 CALL <created procedures>
0311 9409 IJMP
(0355) {
(0356) case PTY_NONE:
(0357) Set_String("NONE");
0312 E207 LDI R16,0x27
0313 E011 LDI R17,1
0314 D273 RCALL _Set_String
(0358) break;
0315 C0B5 RJMP 0x03CB
(0359) case PTY_NEWS:
(0360) Set_String("NEWS");
0316 E202 LDI R16,0x22
0317 E011 LDI R17,1
0318 D26F RCALL _Set_String
(0361) break;
0319 C0B1 RJMP 0x03CB
(0362) case PTY_AFFAIRS:
(0363) Set_String("AFFAIRS");
031A E10A LDI R16,0x1A
031B E011 LDI R17,1
031C D26B RCALL _Set_String
(0364) break;
031D C0AD RJMP 0x03CB
(0365) case PTY_INFO:
(0366) Set_String("INFO");
031E E105 LDI R16,0x15
031F E011 LDI R17,1
0320 D267 RCALL _Set_String
(0367) break;
0321 C0A9 RJMP 0x03CB
(0368) case PTY_SPORT:
(0369) Set_String("SPORT");
0322 E00F LDI R16,0xF
0323 E011 LDI R17,1
0324 D263 RCALL _Set_String
(0370) break;
0325 C0A5 RJMP 0x03CB
(0371) case PTY_EDUCATE:
(0372) Set_String("EDUCATE");
0326 E007 LDI R16,7
0327 E011 LDI R17,1
0328 D25F RCALL _Set_String
(0373) break;
0329 C0A1 RJMP 0x03CB
(0374) case PTY_DRAMA:
(0375) Set_String("DRAMA");
032A E001 LDI R16,1
032B E011 LDI R17,1
032C D25B RCALL _Set_String
(0376) break;
032D C09D RJMP 0x03CB
(0377) case PTY_CULTURE:
(0378) Set_String("CULTUTE");
032E EF09 LDI R16,0xF9
032F E010 LDI R17,0
0330 D257 RCALL _Set_String
(0379) break;
0331 C099 RJMP 0x03CB
(0380) case PTY_SCIENCE:
(0381) Set_String("SCIENCE");
0332 EF01 LDI R16,0xF1
0333 E010 LDI R17,0
0334 D253 RCALL _Set_String
(0382) break;
0335 C095 RJMP 0x03CB
(0383) case PTY_VARIED:
(0384) Set_String("VARIED");
0336 EE0A LDI R16,0xEA
0337 E010 LDI R17,0
0338 D24F RCALL _Set_String
(0385) break;
0339 C091 RJMP 0x03CB
(0386) case PTY_POP_M:
(0387) Set_String("POP M");
033A EE04 LDI R16,0xE4
033B E010 LDI R17,0
033C D24B RCALL _Set_String
(0388) break;
033D C08D RJMP 0x03CB
(0389) case PTY_ROCK_M:
(0390) Set_String("ROCK M");
033E ED0D LDI R16,0xDD
033F E010 LDI R17,0
0340 D247 RCALL _Set_String
(0391) break;
0341 C089 RJMP 0x03CB
(0392) case PTY_EASY_M:
(0393) Set_String("EASY M");
0342 ED06 LDI R16,0xD6
0343 E010 LDI R17,0
0344 D243 RCALL _Set_String
(0394) break;
0345 C085 RJMP 0x03CB
(0395) case PTY_LIGHT_M:
(0396) Set_String("LIGHT M");
0346 EC0E LDI R16,0xCE
0347 E010 LDI R17,0
0348 D23F RCALL _Set_String
(0397) break;
0349 C081 RJMP 0x03CB
(0398) case PTY_CLASSICS:
(0399) Set_String("CLASSICS");
034A EC05 LDI R16,0xC5
034B E010 LDI R17,0
034C D23B RCALL _Set_String
(0400) break;
034D C07D RJMP 0x03CB
(0401) case PTY_OTHER_M:
(0402) Set_String("OTHER M");
034E EB0D LDI R16,0xBD
034F E010 LDI R17,0
0350 D237 RCALL _Set_String
(0403) break;
0351 C079 RJMP 0x03CB
(0404) case PTY_ALARM:
(0405) Set_String("ALARM");
0352 EB07 LDI R16,0xB7
0353 E010 LDI R17,0
0354 D233 RCALL _Set_String
(0406) break;
0355 C075 RJMP 0x03CB
(0407) default:
(0408) Set_String("OTHER");
0356 EB01 LDI R16,0xB1
0357 E010 LDI R17,0
0358 D22F RCALL _Set_String
(0409) break;
(0410) };
(0411) }
(0412) break;
0359 C071 RJMP 0x03CB
(0413) case DIS_RT:
(0414) if(rds_status&RT_EXIST)
035A 9020018F LDS R2,0x18F
035C FE22 SBRS R2,2
035D C01B RJMP 0x0379
(0415) {
(0416) r2=Set_String(&rds_dis_string[rds_dis_buffer[2]]);
035E E682 LDI R24,0x62
035F E092 LDI R25,2
0360 910002A5 LDS R16,_rds_dis_buffer+2
0362 2711 CLR R17
0363 0F08 ADD R16,R24
0364 1F19 ADC R17,R25
0365 D222 RCALL _Set_String
0366 0118 MOVW R2,R16
0367 2D42 MOV R20,R2
(0417) //r2 = display_RT(rds_dis_buffer[2]);
(0418) if(!blink_time)
0368 90200194 LDS R2,_blink_time
036A 2022 TST R2
036B F009 BEQ 0x036D
036C C05E RJMP 0x03CB
(0419) {
(0420) if(r2)
036D 2344 TST R20
036E F031 BEQ 0x0375
(0421) rds_dis_buffer[2]++; //
036F 918002A5 LDS R24,_rds_dis_buffer+2
0371 5F8F SUBI R24,0xFF
0372 938002A5 STS R24,_rds_dis_buffer+2
0374 C056 RJMP 0x03CB
(0422) else
(0423) rds_dis_buffer[2] = 0; //oa
0375 2422 CLR R2
0376 922002A5 STS R2,_rds_dis_buffer+2
(0424)
(0425) }
(0426) }
0378 C052 RJMP 0x03CB
(0427) else
(0428) Set_String("NO RT");
0379 EA0B LDI R16,0xAB
037A E010 LDI R17,0
037B D20C RCALL _Set_String
(0429) break;
037C C04E RJMP 0x03CB
(0430)
(0431) case DIS_CT:
(0432) if(rds_status&CT_EXIST)
037D 9020018F LDS R2,0x18F
037F FE23 SBRS R2,3
0380 C02F RJMP 0x03B0
(0433) {
(0434) g_vfd_grid_buffer[7] = num_trans(rds_dis_string[0]/10);
0381 E01A LDI R17,0xA
0382 91000262 LDS R16,_rds_dis_string
0384 940E1973 CALL div8s
0386 DE98 RCALL _num_trans
0387 0118 MOVW R2,R16
0388 923001A8 STS R3,0x1A8
038A 922001A7 STS R2,0x1A7
(0435) g_vfd_grid_buffer[6] = ((num_trans(rds_dis_string[0]%10)|VFD_LED_COL));
038C E01A LDI R17,0xA
038D 91000262 LDS R16,_rds_dis_string
038F 940E1971 CALL mod8s
0391 DE8D RCALL _num_trans
0392 0118 MOVW R2,R16
0393 01C1 MOVW R24,R2
0394 6490 ORI R25,0x40
0395 939001A6 STS R25,0x1A6
0397 938001A5 STS R24,0x1A5
(0436) g_vfd_grid_buffer[5] = num_trans(rds_dis_string[1]/10);
0399 E01A LDI R17,0xA
039A 91000263 LDS R16,_rds_dis_string+1
039C 940E1973 CALL div8s
039E DE80 RCALL _num_trans
039F 0118 MOVW R2,R16
03A0 923001A4 STS R3,0x1A4
03A2 922001A3 STS R2,0x1A3
(0437) g_vfd_grid_buffer[4] = num_trans(rds_dis_string[1]%10);
03A4 E01A LDI R17,0xA
03A5 91000263 LDS R16,_rds_dis_string+1
03A7 940E1971 CALL mod8s
03A9 DE75 RCALL _num_trans
03AA 0118 MOVW R2,R16
03AB 923001A2 STS R3,0x1A2
03AD 922001A1 STS R2,0x1A1
(0438)
(0439) }
03AF C01B RJMP 0x03CB
(0440) else
(0441) Set_String("NO CT");
03B0 EA05 LDI R16,0xA5
03B1 E010 LDI R17,0
03B2 D1D5 RCALL _Set_String
(0442)
(0443)
(0444) break;
03B3 C017 RJMP 0x03CB
(0445)
(0446) #endif
(0447) case RADIO_STORE:
(0448) if(blink_time<2)
03B4 91800194 LDS R24,_blink_time
03B6 3082 CPI R24,2
03B7 F418 BCC 0x03BB
(0449) {
(0450) Set_String("STORE");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -