📄 menu.lis
字号:
019E 09F0 breq X10
01A0 5BC0 xjmp L39
01A2 X10:
01A2 .dbline 176
01A2 ; {
01A2 .dbline 177
01A2 ; UserChoose = MaxItems-1;//下翻截至,如要回滚赋值为0
01A2 C101 movw R24,R2
01A4 0197 sbiw R24,1
01A6 8093DB00 sts _UserChoose,R24
01AA .dbline 178
01AA ; }
01AA .dbline 179
01AA ; break;
01AA 56C0 xjmp L39
01AC L50:
01AC .dbline 181
01AC ; case Enter:
01AC ; if (MenuPoint[UserChoose].Subs != NullSubs)
01AC 2090DB00 lds R2,_UserChoose
01B0 89E0 ldi R24,9
01B2 829D mul R24,R2
01B4 F001 movw R30,R0
01B6 2090D800 lds R2,_MenuPoint
01BA 3090D900 lds R3,_MenuPoint+1
01BE E20D add R30,R2
01C0 F31D adc R31,R3
01C2 2380 ldd R2,z+3
01C4 3480 ldd R3,z+4
01C6 80E0 ldi R24,<PL_NullSubs
01C8 90E0 ldi R25,>PL_NullSubs
01CA 2816 cp R2,R24
01CC 3906 cpc R3,R25
01CE 89F0 breq L51
01D0 .dbline 182
01D0 ; {
01D0 .dbline 183
01D0 ; (*MenuPoint[UserChoose].Subs)();
01D0 2090DB00 lds R2,_UserChoose
01D4 89E0 ldi R24,9
01D6 829D mul R24,R2
01D8 F001 movw R30,R0
01DA 2090D800 lds R2,_MenuPoint
01DE 3090D900 lds R3,_MenuPoint+1
01E2 E20D add R30,R2
01E4 F31D adc R31,R3
01E6 A381 ldd R26,z+3
01E8 B481 ldd R27,z+4
01EA FD01 movw R30,R26
01EC 0E940000 xcall xicall
01F0 .dbline 184
01F0 ; }
01F0 33C0 xjmp L39
01F2 L51:
01F2 .dbline 185
01F2 ; else if (MenuPoint[UserChoose].ChildrenMenus != Null)
01F2 2090DB00 lds R2,_UserChoose
01F6 89E0 ldi R24,9
01F8 829D mul R24,R2
01FA F001 movw R30,R0
01FC 2090D800 lds R2,_MenuPoint
0200 3090D900 lds R3,_MenuPoint+1
0204 E20D add R30,R2
0206 F31D adc R31,R3
0208 2580 ldd R2,z+5
020A 3680 ldd R3,z+6
020C 2220 tst R2
020E 11F4 brne X2
0210 3320 tst R3
0212 11F1 breq L39
0214 X2:
0214 .dbline 186
0214 ; {
0214 .dbline 187
0214 ; MenuPoint = MenuPoint[UserChoose].ChildrenMenus;
0214 2090DB00 lds R2,_UserChoose
0218 89E0 ldi R24,9
021A 829D mul R24,R2
021C F001 movw R30,R0
021E 2090D800 lds R2,_MenuPoint
0222 3090D900 lds R3,_MenuPoint+1
0226 E20D add R30,R2
0228 F31D adc R31,R3
022A 2580 ldd R2,z+5
022C 3680 ldd R3,z+6
022E 3092D900 sts _MenuPoint+1,R3
0232 2092D800 sts _MenuPoint,R2
0236 .dbline 188
0236 ; UserChoose = 0;
0236 2224 clr R2
0238 2092DB00 sts _UserChoose,R2
023C .dbline 189
023C ; DisplayStart = 0;
023C 2092DA00 sts _DisplayStart,R2
0240 .dbline 190
0240 ; }
0240 .dbline 191
0240 ; break;
0240 0BC0 xjmp L39
0242 L55:
0242 .dbline 193
0242 ; case Reset:
0242 ; MenuPoint = MainMenu;
0242 80E0 ldi R24,<_MainMenu
0244 90E0 ldi R25,>_MainMenu
0246 9093D900 sts _MenuPoint+1,R25
024A 8093D800 sts _MenuPoint,R24
024E .dbline 194
024E ; UserChoose = 0;
024E 2224 clr R2
0250 2092DB00 sts _UserChoose,R2
0254 .dbline 195
0254 ; DisplayStart = 0;
0254 2092DA00 sts _DisplayStart,R2
0258 .dbline 196
0258 ; break;
0258 .dbline 197
0258 ; default:break;
0258 L39:
0258 .dbline 199
0258 ; }
0258 ; if (UserChoose%ShowCount==0) //一屏只能显示ShowCount行
0258 1091DD00 lds R17,_ShowCount
025C 0091DB00 lds R16,_UserChoose
0260 0E940000 xcall mod8u
0264 0023 tst R16
0266 29F4 brne L59
0268 .dbline 200
0268 ; DisplayStart = UserChoose;
0268 2090DB00 lds R2,_UserChoose
026C 2092DA00 sts _DisplayStart,R2
0270 0BC0 xjmp L60
0272 L59:
0272 .dbline 201
0272 ; else if(UserChoose==1||UserChoose== 3)
0272 8091DB00 lds R24,_UserChoose
0276 8130 cpi R24,1
0278 11F0 breq L63
027A 8330 cpi R24,3
027C 29F4 brne L61
027E L63:
027E .dbline 202
027E ; DisplayStart = UserChoose-1; //实现滚屏的关键
027E 8091DB00 lds R24,_UserChoose
0282 8150 subi R24,1
0284 8093DA00 sts _DisplayStart,R24
0288 L61:
0288 L60:
0288 .dbline 203
0288 01E0 ldi R16,1
028A 10E0 ldi R17,0
028C 0E940000 xcall _LCD_write_command
0290 .dbline 204
0290 05E0 ldi R16,5
0292 10E0 ldi R17,0
0294 0E940000 xcall _delay_nms
0298 .dbline 205
0298 C3DE xcall _ShowMenu
029A .dbline 206
029A L36:
029A .dbline -2
029A L35:
029A 0E940000 xcall pop_gset1
029E .dbline 0 ; func end
029E 0895 ret
02A0 .dbsym r KeyNum 20 c
02A0 .dbend
.area bss(ram, con, rel)
0000 .dbfile C:\DOCUME~1\Administrator\桌面\Menu\menu.c
0000 _MaxItems::
0000 .blkb 2
0002 .dbsym e MaxItems _MaxItems i
.area data(ram, con, rel)
00DE .dbfile C:\DOCUME~1\Administrator\桌面\Menu\menu.c
00DE L33:
00DE .blkb 3
.area idata
00DE 2D3E00 .byte 45,62,0
.area data(ram, con, rel)
00E1 .dbfile C:\DOCUME~1\Administrator\桌面\Menu\menu.c
00E1 L25:
00E1 .blkb 15
.area idata
00E1 342E466C617368204F7074696F6E00 .byte 52,46,'F,'l,'a,'s,'h,32,'O,'p,'t,'i,'o,'n,0
.area data(ram, con, rel)
00F0 .dbfile C:\DOCUME~1\Administrator\桌面\Menu\menu.c
00F0 L24:
00F0 .blkb 16
.area idata
00F0 332E526F626F7420436F6E74726F6C00 .byte 51,46,'R,'o,'b,'o,'t,32,'C,'o,'n,'t,'r,'o,'l,0
.area data(ram, con, rel)
0100 .dbfile C:\DOCUME~1\Administrator\桌面\Menu\menu.c
0100 L23:
0100 .blkb 15
.area idata
0100 322E566F6963652043656E74657200 .byte 50,46,'V,'o,'i,'c,'e,32,'C,'e,'n,'t,'e,'r,0
.area data(ram, con, rel)
010F .dbfile C:\DOCUME~1\Administrator\桌面\Menu\menu.c
010F L22:
010F .blkb 10
.area idata
010F 342E476F204261636B00 .byte 52,46,'G,'o,32,'B,'a,'c,'k,0
.area data(ram, con, rel)
0119 .dbfile C:\DOCUME~1\Administrator\桌面\Menu\menu.c
0119 L21:
0119 .blkb 11
.area idata
0119 332E476F20416865616400 .byte 51,46,'G,'o,32,'A,'h,'e,'a,'d,0
.area data(ram, con, rel)
0124 .dbfile C:\DOCUME~1\Administrator\桌面\Menu\menu.c
0124 L20:
0124 .blkb 13
.area idata
0124 322E5475726E20526967687400 .byte 50,46,'T,'u,'r,'n,32,'R,'i,'g,'h,'t,0
.area data(ram, con, rel)
0131 .dbfile C:\DOCUME~1\Administrator\桌面\Menu\menu.c
0131 L19:
0131 .blkb 12
.area idata
0131 312E5475726E204C65667400 .byte 49,46,'T,'u,'r,'n,32,'L,'e,'f,'t,0
.area data(ram, con, rel)
013D .dbfile C:\DOCUME~1\Administrator\桌面\Menu\menu.c
013D L18:
013D .blkb 15
.area idata
013D 342E566F6963652044656C65746500 .byte 52,46,'V,'o,'i,'c,'e,32,'D,'e,'l,'e,'t,'e,0
.area data(ram, con, rel)
014C .dbfile C:\DOCUME~1\Administrator\桌面\Menu\menu.c
014C L17:
014C .blkb 15
.area idata
014C 312E566F696365205265636F726400 .byte 49,46,'V,'o,'i,'c,'e,32,'R,'e,'c,'o,'r,'d,0
.area data(ram, con, rel)
015B .dbfile C:\DOCUME~1\Administrator\桌面\Menu\menu.c
015B L16:
015B .blkb 7
.area idata
015B 352E4261636B00 .byte 53,46,'B,'a,'c,'k,0
.area data(ram, con, rel)
0162 .dbfile C:\DOCUME~1\Administrator\桌面\Menu\menu.c
0162 L15:
0162 .blkb 15
.area idata
0162 342E466C6173682044656C65746500 .byte 52,46,'F,'l,'a,'s,'h,32,'D,'e,'l,'e,'t,'e,0
.area data(ram, con, rel)
0171 .dbfile C:\DOCUME~1\Administrator\桌面\Menu\menu.c
0171 L14:
0171 .blkb 8
.area idata
0171 332E506175736500 .byte 51,46,'P,'a,'u,'s,'e,0
.area data(ram, con, rel)
0179 .dbfile C:\DOCUME~1\Administrator\桌面\Menu\menu.c
0179 L13:
0179 .blkb 7
.area idata
0179 322E506C617900 .byte 50,46,'P,'l,'a,'y,0
.area data(ram, con, rel)
0180 .dbfile C:\DOCUME~1\Administrator\桌面\Menu\menu.c
0180 L12:
0180 .blkb 15
.area idata
0180 312E466C617368205265636F726400 .byte 49,46,'F,'l,'a,'s,'h,32,'R,'e,'c,'o,'r,'d,0
.area data(ram, con, rel)
018F .dbfile C:\DOCUME~1\Administrator\桌面\Menu\menu.c
018F L11:
018F .blkb 7
.area idata
018F 342E4261636B00 .byte 52,46,'B,'a,'c,'k,0
.area data(ram, con, rel)
0196 .dbfile C:\DOCUME~1\Administrator\桌面\Menu\menu.c
0196 L10:
0196 .blkb 11
.area idata
0196 332E416C65727453657400 .byte 51,46,'A,'l,'e,'r,'t,'S,'e,'t,0
.area data(ram, con, rel)
01A1 .dbfile C:\DOCUME~1\Admini
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -