📄 main.src
字号:
MOV R7,#01H
LCALL _disp_str2
; disp_str2(2, 19, " ", 0);
; SOURCE LINE # 614
MOV R2,#HIGH (?SC_57)
MOV R3,#LOW (?SC_57)
CLR A
MOV ?_disp_str2?BYTE+04H,A
MOV R5,#013H
MOV R7,#02H
LJMP _disp_str2
; END OF hide_video
; }
;
; void power_turnon(void)
RSEG ?PR?power_turnon?MAIN
power_turnon:
USING 0
; SOURCE LINE # 617
; {
; SOURCE LINE # 618
; unsigned char i;
; struct menuitem_struct code *item;
;
;
; PIN_POWER = 1;
; SOURCE LINE # 623
SETB PIN_POWER
; mdelay(500);
; SOURCE LINE # 624
?C0141:
MOV c?38129,#01H
MOV c?38129+01H,#0F4H
?C0143:
MOV A,c?38129+01H
DEC c?38129+01H
MOV R6,c?38129
JNZ ?C0192
DEC c?38129
?C0192:
ORL A,R6
JZ ?C0139
MOV R7,#090H
MOV R6,#01H
LCALL ___delay
SJMP ?C0143
?C0139:
; PIN_VSEL = 0;
; SOURCE LINE # 625
CLR PIN_VSEL
; PIN_POWLED = 0;
; SOURCE LINE # 626
CLR PIN_POWLED
;
; for (i = 0, item = &items[0]; i < NR_ITEMS; i++, item++) {
; SOURCE LINE # 628
CLR A
MOV i?38131,A
MOV item?38132,#HIGH (items)
MOV item?38132+01H,#LOW (items)
?C0145:
MOV A,i?38131
CLR C
SUBB A,#05H
JNC ?C0146
; if (item->addr != -1) {
; SOURCE LINE # 629
MOV DPL,item?38132+01H
MOV DPH,item?38132
MOV A,#02H
MOVC A,@A+DPTR
MOV R7,A
CPL A
JZ ?C0147
; unsigned char c = item->read(item->addr);
; SOURCE LINE # 630
MOV A,#05H
MOVC A,@A+DPTR
MOV R4,A
MOV A,#06H
MOVC A,@A+DPTR
MOV R5,A
MOV DPL,A
MOV DPH,R4
LCALL ?C?ICALL2
MOV c?38130,R7
; item->apply(c);
; SOURCE LINE # 631
MOV DPL,item?38132+01H
MOV DPH,item?38132
MOV A,#09H
MOVC A,@A+DPTR
MOV R6,A
MOV A,#0AH
MOVC A,@A+DPTR
MOV DPL,A
MOV DPH,R6
MOV R7,c?38130
LCALL ?C?ICALL2
; }
; SOURCE LINE # 632
; }
; SOURCE LINE # 633
?C0147:
INC i?38131
MOV A,#0DH
ADD A,item?38132+01H
MOV item?38132+01H,A
CLR A
ADDC A,item?38132
MOV item?38132,A
SJMP ?C0145
?C0146:
;
; osd_init();
; SOURCE LINE # 635
LJMP osd_init
; END OF power_turnon
; }
;
; void delay500ms()
RSEG ?PR?delay500ms?MAIN
delay500ms:
USING 0
; SOURCE LINE # 638
; {
; SOURCE LINE # 639
; int i;
; for(i=0;i<3000;i++)
; SOURCE LINE # 641
;---- Variable 'i?39133' assigned to Register 'R6/R7' ----
CLR A
MOV R7,A
MOV R6,A
?C0150:
; {;;;}
; SOURCE LINE # 642
INC R7
CJNE R7,#00H,?C0193
INC R6
?C0193:
CJNE R6,#0BH,?C0150
CJNE R7,#0B8H,?C0150
; }
; SOURCE LINE # 643
?C0153:
RET
; END OF delay500ms
;
; void main(void) using 0
RSEG ?PR?main?MAIN
main:
USING 0
PUSH PSW
MOV PSW,#00H
; SOURCE LINE # 645
; {
; unsigned char id = EDIT_NULL;
; SOURCE LINE # 647
MOV id?40135,#0FFH
; unsigned char val;
; unsigned char hide_expires;
; unsigned char video_expires;
; unsigned char powoff_expires = 0;
; SOURCE LINE # 651
CLR A
MOV powoff_expires?40139,A
; bit sys_ind,pin_off,visible,visiblemenu= 0, auto_powoff = 1;
; SOURCE LINE # 652
CLR visiblemenu?40143
SETB auto_powoff?40144
; // bit backflag=1;
;
; initial();
; SOURCE LINE # 655
LCALL initial
; power_turnon();
; SOURCE LINE # 656
LCALL power_turnon
; // show_video();
; // visible = 1;
; PIN_POWER = 0;
; SOURCE LINE # 659
CLR PIN_POWER
; PIN_POWLED = 1;
; SOURCE LINE # 660
SETB PIN_POWLED
;
; #if 0
; {
; unsigned char i;
; bit dummy = 1;
; power_turnon();
; for (i = 0; i < 15; i++)
; osd_setrowattr(i, 0);
; mtv130_test(0);
; i = 0;
; for (; dummy;) {
; if (!key_on) {
; continue;
; }
; i += 128;
; mtv130_test(i);
;
; key_on = 0;
; }
; }
; #endif
; //////////////////
; // power_turnon();
; ///////////////////
;
; for (;;) {
; SOURCE LINE # 686
; wdt_reset();
; SOURCE LINE # 687
?C0157:
; if (!PIN_OFF && visible && time_after(jiffies, video_expires)) {
; SOURCE LINE # 688
JB PIN_OFF,?C0159
JNB visible?40142,?C0159
MOV R7,jiffies
CLR C
MOV A,video_expires?40138
SUBB A,R7
CLR C
XRL A,#080H
SUBB A,#080H
JNC ?C0159
; hide_video();
; SOURCE LINE # 689
LCALL hide_video
; visible = 0;
; SOURCE LINE # 690
CLR visible?40142
; }
; SOURCE LINE # 691
?C0159:
; if (id != EDIT_NULL && visiblemenu&&time_after(jiffies, hide_expires)) {
; SOURCE LINE # 692
MOV A,id?40135
CPL A
JZ ?C0160
JNB visiblemenu?40143,?C0160
MOV R7,jiffies
CLR C
MOV A,hide_expires?40137
SUBB A,R7
CLR C
XRL A,#080H
SUBB A,#080H
JNC ?C0160
; hide_menu();
; SOURCE LINE # 693
LCALL hide_menu
; // osd_clear();
; id = EDIT_NULL;
; SOURCE LINE # 695
MOV id?40135,#0FFH
; }
; SOURCE LINE # 696
?C0160:
; if (pin_off != PIN_OFF) {
; SOURCE LINE # 697
MOV C,pin_off?40141
JNB PIN_OFF,?C0194
CPL C
?C0194:
JNC ?C0161
; pin_off = PIN_OFF;
; SOURCE LINE # 698
MOV C,PIN_OFF
MOV pin_off?40141,C
; if (PIN_OFF) {
; SOURCE LINE # 699
JNB PIN_OFF,?C0162
; delay500ms();
; SOURCE LINE # 700
LCALL delay500ms
; mtv130_puta(VERTD_ROW, VERTD_COL,4);// 4);//6);
; SOURCE LINE # 701
MOV R3,#04H
MOV R5,#0CH
MOV R7,#0FH
LCALL _mtv130_puta
; osd_clear();
; SOURCE LINE # 702
LCALL osd_clear
; visiblemenu= 0;
; SOURCE LINE # 703
CLR visiblemenu?40143
; osd_back();
; SOURCE LINE # 704
LCALL osd_back
; disp_str2(7, 10, "NO SIGNAL", 6|8);
; SOURCE LINE # 705
MOV R2,#HIGH (?SC_62)
MOV R3,#LOW (?SC_62)
MOV ?_disp_str2?BYTE+04H,#0EH
MOV R5,#0AH
MOV R7,#07H
LCALL _disp_str2
; show_video();
; SOURCE LINE # 706
; visible = 1;
; SOURCE LINE # 707
; video_expires = jiffies + HZ*5;
; SOURCE LINE # 708
; } else {
; SOURCE LINE # 709
SJMP ?C0198
?C0162:
; delay500ms();
; SOURCE LINE # 710
LCALL delay500ms
; osd_clear(); //backflag=0;
; SOURCE LINE # 711
LCALL osd_clear
; mtv130_puta(VERTD_ROW, VERTD_COL,6);// 4);//6);
; SOURCE LINE # 712
MOV R3,#06H
MOV R5,#0CH
MOV R7,#0FH
LCALL _mtv130_puta
; show_video();
; SOURCE LINE # 713
?C0198:
LCALL show_video
; visible = 1;
; SOURCE LINE # 714
SETB visible?40142
; video_expires = jiffies + HZ*5;}
; SOURCE LINE # 715
MOV A,jiffies
ADD A,#064H
MOV video_expires?40138,A
; }
; SOURCE LINE # 716
?C0161:
;
; if (sys_ind != HZ_IND) {
; SOURCE LINE # 718
MOV C,sys_ind?40140
JNB HZ_IND,?C0195
CPL C
?C0195:
JNC ?C0164
; sys_ind = HZ_IND;
; SOURCE LINE # 719
MOV C,HZ_IND
MOV sys_ind?40140,C
; mtv130_puta(CH_ROW, CH_COL, HZ_IND ? 0 : 4);
; SOURCE LINE # 720
JNB HZ_IND,?C0165
MOV R3,#00H
SJMP ?C0166
?C0165:
MOV R3,#04H
?C0166:
MOV R5,#0EH
MOV R7,#0FH
LCALL _mtv130_puta
; show_video();
; SOURCE LINE # 721
LCALL show_video
; visible = 1;
; SOURCE LINE # 722
SETB visible?40142
; video_expires = jiffies + HZ*5;
; SOURCE LINE # 723
MOV A,jiffies
ADD A,#064H
MOV video_expires?40138,A
; }
; SOURCE LINE # 724
?C0164:
; if (!key_on) {
; SOURCE LINE # 725
JB key_on,$ + 6H
LJMP ?main?loop_end
; goto loop_end;
; SOURCE LINE # 726
; }
; SOURCE LINE # 727
?C0167:
; hide_expires = jiffies + HZ*5;
; SOURCE LINE # 728
MOV A,jiffies
ADD A,#064H
MOV hide_expires?40137,A
; powoff_expires = xtime.min+10;
; SOURCE LINE # 729
MOV A,xtime
ADD A,#0AH
MOV powoff_expires?40139,A
;
; if (key_last == KEY_MENU || key_last == KEY_UP || key_last == KEY_DOWN) {
; SOURCE LINE # 731
MOV A,key_last
XRL A,#03H
JZ ?C0170
MOV A,key_last
XRL A,#0EH
JZ ?C0170
MOV A,key_last
XRL A,#0FH
JNZ ?C0169
?C0170:
; visiblemenu= 1;
; SOURCE LINE # 732
SETB visiblemenu?40143
; if (id == EDIT_NULL) {
; SOURCE LINE # 733
MOV A,id?40135
CJNE A,#0FFH,?C0171
; if (key_last != KEY_MENU)
; SOURCE LINE # 734
MOV A,key_last
XRL A,#03H
JZ $ + 5H
LJMP ?main?loop_end
; goto loop_end;
; SOURCE LINE # 735
?C0172:
; id = EDIT_FIRST;
; SOURCE LINE # 736
CLR A
MOV id?40135,A
; osd_clear();
; SOURCE LINE # 737
LCALL osd_clear
; show_menu();
; SOURCE LINE # 738
LCALL show_menu
; } else {
; SOURCE LINE # 739
SJMP ?C0173
?C0171:
; select_item(id, 0);
; SOURCE LINE # 740
CLR ?_select_item?BIT
MOV R7,id?40135
LCALL _select_item
; if (key_last == KEY_UP) {
; SOURCE LINE # 741
MOV A,key_last
CJNE A,#0EH,?C0174
; if (id == EDIT_FIRST)
; SOURCE LINE # 742
MOV A,id?40135
JNZ ?C0175
; id = EDIT_LAST;
; SOURCE LINE # 743
MOV id?40135,#04H
SJMP ?C0173
?C0175:
; else
; --id;
; SOURCE LINE # 745
DEC id?40135
; } else {
; SOURCE LINE # 746
SJMP ?C0173
?C0174:
; if (id == EDIT_LAST)
; SOURCE LINE # 747
MOV A,id?40135
CJNE A,#04H,?C0178
; id = EDIT_FIRST;
; SOURCE LINE # 748
CLR A
MOV id?40135,A
SJMP ?C0173
?C0178:
; else
; ++id;
; SOURCE LINE # 750
INC id?40135
; }
; SOURCE LINE # 751
; }
; SOURCE LINE # 752
?C0173:
; select_item(id, 1);
; SOURCE LINE # 753
SETB ?_select_item?BIT
MOV R7,id?40135
LCALL _select_item
; /* add */
; val = items[id].read(items[id].addr);
; SOURCE LINE # 755
MOV A,id?40135
MOV B,#0DH
MUL AB
ADD A,#LOW (items+02H)
MOV DPL,A
CLR A
ADDC A,#HIGH (items+02H)
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV R7,A
MOV A,id?40135
MOV B,#0DH
MUL AB
ADD A,#LOW (items+05H)
MOV DPL,A
CLR A
ADDC A,#HIGH (items+05H)
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV R4,A
MOV A,#01H
MOVC A,@A+DPTR
MOV R5,A
MOV DPL,A
MOV DPH,R4
LCALL ?C?ICALL2
MOV val?40136,R7
; goto loop_end;
; SOURCE LINE # 756
LJMP ?main?loop_end
; }
; SOURCE LINE # 757
?C0169:
;
; if ((key_last == KEY_INC || key_last == KEY_DEC) && id != EDIT_NULL) {
; SOURCE LINE # 759
MOV A,key_last
XRL A,#01H
JZ ?C0181
MOV A,key_last
XRL A,#02H
JZ $ + 5H
LJMP ?main?loop_end
?C0181:
MOV A,id?40135
CPL A
JNZ $ + 5H
LJMP ?main?loop_end
; struct menuitem_struct code *item = &items[id];
; SOURCE LINE # 760
MOV A,id?40135
MOV B,#0DH
MUL AB
ADD A,#LOW (items)
MOV DPL,A
CLR A
ADDC A,#HIGH (items)
MOV R7,DPL
MOV item?40134,A
MOV item?40134+01H,R7
;
; val = item->step(val, key_last == KEY_INC);
; SOURCE LINE # 762
MOV A,key_last
CJNE A,#01H,?C0182
MOV R5,#01H
SJMP ?C0183
?C0182:
MOV R5,#00H
?C0183:
MOV DPL,item?40134+01H
MOV DPH,item?40134
MOV A,#07H
MOVC A,@A+DPTR
MOV R6,A
MOV A,#08H
MOVC A,@A+DPTR
MOV DPL,A
MOV DPH,R6
MOV R7,val?40136
LCALL ?C?ICALL2
MOV val?40136,R7
; item->apply(val);
; SOURCE LINE # 763
MOV DPL,item?40134+01H
MOV DPH,item?40134
MOV A,#09H
MOVC A,@A+DPTR
MOV R6,A
MOV A,#0AH
MOVC A,@A+DPTR
MOV DPL,A
MOV DPH,R6
MOV R7,val?40136
LCALL ?C?ICALL2
; if (item->flags & MIF_DOCA)
; SOURCE LINE # 764
MOV DPL,item?40134+01H
MOV DPH,item?40134
MOV A,#03H
MOVC A,@A+DPTR
JNB ACC.0,?C0184
; item->draw(ROW_BRI+NR_ITEMS+1, 1, val);
; SOURCE LINE # 765
MOV A,#0BH
MOVC A,@A+DPTR
MOV R6,A
MOV A,#0CH
MOVC A,@A+DPTR
MOV DPL,A
MOV DPH,R6
MOV R3,val?40136
MOV R5,#01H
MOV R7,#06H
SJMP ?C0199
?C0184:
; else {
; SOURCE LINE # 766
; paint_line(ROW_BRI+id-1, 12, 18, val == item->defval ? 2 : 4);
; SOURCE LINE # 767
MOV A,id?40135
DEC A
MOV R7,A
MOV DPL,item?40134+01H
MOV DPH,item?40134
MOV A,#04H
MOVC A,@A+DPTR
CJNE A,val?40136,?C0186
MOV R6,#02H
SJMP ?C0187
?C0186:
MOV R6,#04H
?C0187:
MOV ?_paint_line?BYTE+03H,R6
MOV R3,#012H
MOV R5,#0CH
LCALL _paint_line
; item->draw(ROW_BRI+id-1, 12, val);
; SOURCE LINE # 768
MOV A,id?40135
DEC A
MOV R7,A
MOV DPL,i
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -