📄 ui_main.lst
字号:
309 if(cur_value > 8) cur_value = 0;
\ 02C7 4D LD C,L
\ 02C8 44 LD B,H
\ 02C9 210800 LD HL,8
\ 02CC F680 OR 128
\ 02CE ED42 SBC HL,BC
\ 02D0 E2D402 JP PO,?0104
\ 02D3 AC XOR H
\ 02D4 ?0104:
\ 02D4 F25003 JP P,?0072
\ 02D7 ?0047:
\ 02D7 1867 JR ?0119
\ 02D9 ?0048:
310 }
311 else
\ 02D9 ?0046:
312 {
313 if(batt_type == BATT_TYPE_ALKALINE) //碱性电池
\ 02D9 AF XOR A
\ 02DA B1 OR C
\ 02DB 2020 JR NZ,?0051
\ 02DD ?0050:
314 {
315 if(value < 4) cur_value = 0; //batt empty
\ 02DD 010480 LD BC,32772
\ 02E0 DDE5 PUSH IX
\ 02E2 E1 POP HL
\ 02E3 78 LD A,B
\ 02E4 AC XOR H
\ 02E5 67 LD H,A
\ 02E6 ED42 SBC HL,BC
\ 02E8 3856 JR C,?0119
\ 02EA ?0052:
\ 02EA ?0053:
316 else if(value > 12 ) cur_value = 8; //batt full
\ 02EA DDE5 PUSH IX
\ 02EC C1 POP BC
\ 02ED 210C00 LD HL,12
\ 02F0 F680 OR 128
\ 02F2 ED42 SBC HL,BC
\ 02F4 E2F802 JP PO,?0105
\ 02F7 AC XOR H
\ 02F8 ?0105:
\ 02F8 F22403 JP P,?0065
\ 02FB ?0055:
\ 02FB 1822 JR ?0117
\ 02FD ?0056:
317 else cur_value = value - 4;
\ 02FD ?0057:
\ 02FD ?0054:
\ 02FD ?0051:
318 }
319 else if(batt_type == BATT_TYPE_NIH) //镍氢电池
\ 02FD 41 LD B,C
\ 02FE 05 DEC B
\ 02FF 2029 JR NZ,?0060
\ 0301 ?0059:
320 {
321 if(value < 6) cur_value = 0; //batt empty
\ 0301 010680 LD BC,32774
\ 0304 DDE5 PUSH IX
\ 0306 E1 POP HL
\ 0307 78 LD A,B
\ 0308 AC XOR H
\ 0309 67 LD H,A
\ 030A ED42 SBC HL,BC
\ 030C 3832 JR C,?0119
\ 030E ?0061:
\ 030E ?0062:
322 else if(value > 12 ) cur_value = 8; //batt full
\ 030E DDE5 PUSH IX
\ 0310 C1 POP BC
\ 0311 210C00 LD HL,12
\ 0314 F680 OR 128
\ 0316 ED42 SBC HL,BC
\ 0318 E21C03 JP PO,?0106
\ 031B AC XOR H
\ 031C ?0106:
\ 031C F22403 JP P,?0065
\ 031F ?0064:
\ 031F ?0117:
\ 031F 210800 LD HL,8
\ 0322 1829 JR ?0111
\ 0324 ?0065:
323 else cur_value = value - 4;
\ 0324 21FCFF LD HL,65532
\ 0327 09 ADD HL,BC
\ 0328 1823 JR ?0111
\ 032A ?0066:
\ 032A ?0063:
\ 032A ?0060:
324 }
325 else if(batt_type == BATT_TYPE_LITHIUM) //锂电池
\ 032A 210000 LD HL,0
\ 032D 39 ADD HL,SP
\ 032E 46 LD B,(HL)
\ 032F 05 DEC B
\ 0330 05 DEC B
\ 0331 201D JR NZ,?0072
\ 0333 ?0068:
326 {
327 if(value < 11) cur_value = 0; //batt empty
\ 0333 010B80 LD BC,32779
\ 0336 DDE5 PUSH IX
\ 0338 E1 POP HL
\ 0339 78 LD A,B
\ 033A AC XOR H
\ 033B 67 LD H,A
\ 033C ED42 SBC HL,BC
\ 033E 3005 JR NC,?0071
\ 0340 ?0070:
\ 0340 ?0119:
\ 0340 210000 LD HL,0
\ 0343 1808 JR ?0111
\ 0345 ?0071:
328 else cur_value = (value - 11) * 2; //8, 6, 4, 2, 0
\ 0345 21F5FF LD HL,65525
\ 0348 DDE5 PUSH IX
\ 034A C1 POP BC
\ 034B 09 ADD HL,BC
\ 034C 29 ADD HL,HL
\ 034D ?0111:
\ 034D 220000 LD (?0044),HL
\ 0350 ?0072:
329 }
330 else ASSERT(FALSE);
\ 0350 ?0069:
\ 0350 ?0073:
\ 0350 ?0067:
\ 0350 ?0058:
\ 0350 ?0049:
331 }
332 main_ResShowPic(batt_id[cur_value], POSITION_BATT, 0);
\ 0350 0E00 LD C,0
\ 0352 C5 PUSH BC
\ 0353 0E72 LD C,114
\ 0355 2A0000 LD HL,(?0044)
\ 0358 29 ADD HL,HL
\ 0359 112C00 LD DE,batt_id
\ 035C 19 ADD HL,DE
\ 035D 5E LD E,(HL)
\ 035E 23 INC HL
\ 035F 56 LD D,(HL)
\ 0360 3E00 LD A,BYTE3 main_ResShowPic
\ 0362 21C700 LD HL,LWRD main_ResShowPic
\ 0365 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0368 F1 POP AF
333 }
\ 0369 E1 POP HL
\ 036A DDE1 POP IX
\ 036C C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 036F ui_show_lock:
334
335 char ui_show_lock(char islock)
336 {
\ 036F C5 PUSH BC
\ 0370 D5 PUSH DE
337 if(islock == 1)
\ 0371 43 LD B,E
\ 0372 05 DEC B
\ 0373 2016 JR NZ,?0077
\ 0375 ?0074:
338 {
339 ResShowLogo(LOCK);
\ 0375 11BC00 LD DE,188
\ 0378 3E00 LD A,BYTE3 ResShowLogo
\ 037A 210000 LD HL,LWRD ResShowLogo
\ 037D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
340 if(!ui_auto_update) UpdateScreen(NULL);
\ 0380 3A0000 LD A,(ui_auto_update)
\ 0383 B7 OR A
\ 0384 2005 JR NZ,?0077
\ 0386 ?0076:
\ 0386 58 LD E,B
\ 0387 50 LD D,B
\ 0388 CD0000 CALL LWRD UpdateScreen
\ 038B ?0077:
\ 038B ?0075:
341 }
342 // else ResShowLogo(0);
343 //wait 2s
344 return ap_sleep(4);
\ 038B 110400 LD DE,4
\ 038E 3E00 LD A,BYTE3 ap_sleep
\ 0390 210000 LD HL,LWRD ap_sleep
\ 0393 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
345 }
\ 0396 F1 POP AF
\ 0397 C1 POP BC
\ 0398 C30000 JP LWRD ?BANK_FAST_LEAVE_L08
346
347
\ 0000 RSEG IDATA0
\ 0000 ?0044:
\ 0002 DEFS 2
\ 0000 RSEG CDATA0
\ 0000 0000 DEFW 0
\ 0000 RSEG COM_MAIN_D
\ 0000 region_a:
\ 0000 00 DEFB 0
\ 0001 00 DEFB 0
\ 0002 0F DEFB 15
\ 0003 10 DEFB 16
\ 0004 region_b:
\ 0004 0F DEFB 15
\ 0005 00 DEFB 0
\ 0006 15 DEFB 21
\ 0007 10 DEFB 16
\ 0008 region_c:
\ 0008 26 DEFB '&'
\ 0009 00 DEFB 0
\ 000A 0B DEFB 11
\ 000B 10 DEFB 16
\ 000C region_d2:
\ 000C 2C DEFB ','
\ 000D 00 DEFB 0
\ 000E 17 DEFB 23
\ 000F 10 DEFB 16
\ 0010 region_d:
\ 0010 32 DEFB '2'
\ 0011 00 DEFB 0
\ 0012 11 DEFB 17
\ 0013 10 DEFB 16
\ 0014 region_cd:
\ 0014 26 DEFB '&'
\ 0015 00 DEFB 0
\ 0016 1D DEFB 29
\ 0017 10 DEFB 16
\ 0018 region_e:
\ 0018 43 DEFB 'C'
\ 0019 00 DEFB 0
\ 001A 10 DEFB 16
\ 001B 10 DEFB 16
\ 001C region_f:
\ 001C 55 DEFB 'U'
\ 001D 00 DEFB 0
\ 001E 1D DEFB 29
\ 001F 10 DEFB 16
\ 0020 region_ef:
\ 0020 43 DEFB 'C'
\ 0021 00 DEFB 0
\ 0022 2F DEFB '/'
\ 0023 10 DEFB 16
\ 0024 region_g:
\ 0024 00 DEFB 0
\ 0025 10 DEFB 16
\ 0026 80 DEFB 128
\ 0027 10 DEFB 16
\ 0028 region_batt:
\ 0028 72 DEFB 'r'
\ 0029 00 DEFB 0
\ 002A 0D DEFB 13
\ 002B 10 DEFB 16
\ 002C batt_id:
\ 002C 7B00 DEFW 123
\ 002E 7C00 DEFW 124
\ 0030 7D00 DEFW 125
\ 0032 7E00 DEFW 126
\ 0034 7F00 DEFW 127
\ 0036 8000 DEFW 128
\ 0038 8100 DEFW 129
\ 003A 8200 DEFW 130
\ 003C 8300 DEFW 131
\ 003E END
Errors: none
Warnings: none
Code size: 923
Constant size: 64
Static variable size: Data(2) Iram(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -