📄 macoh.lis
字号:
0126 30E0 ldi R19,>_timeset+8
0128 00E6 ldi R16,96
012A 10E0 ldi R17,0
012C 00D0 rcall _EEPROMReadBytes_extIO
012E .dbline 121
012E ; EEPROM_READ(0x93,Contdata);
012E 84E0 ldi R24,4
0130 90E0 ldi R25,0
0132 9983 std y+1,R25
0134 8883 std y+0,R24
0136 20E0 ldi R18,<_Contdata
0138 30E0 ldi R19,>_Contdata
013A 03E9 ldi R16,147
013C 10E0 ldi R17,0
013E 00D0 rcall _EEPROMReadBytes_extIO
0140 .dbline 122
0140 ; EEPROM_READ(0xa0,lockda);
0140 82E0 ldi R24,2
0142 90E0 ldi R25,0
0144 9983 std y+1,R25
0146 8883 std y+0,R24
0148 20E0 ldi R18,<_lockda
014A 30E0 ldi R19,>_lockda
014C 00EA ldi R16,160
014E 10E0 ldi R17,0
0150 00D0 rcall _EEPROMReadBytes_extIO
0152 .dbline 123
0152 ; EEPROM_READ(0xb0, kt[0]);
0152 81E0 ldi R24,1
0154 90E0 ldi R25,0
0156 9983 std y+1,R25
0158 8883 std y+0,R24
015A 20E0 ldi R18,<_kt
015C 30E0 ldi R19,>_kt
015E 00EB ldi R16,176
0160 10E0 ldi R17,0
0162 00D0 rcall _EEPROMReadBytes_extIO
0164 .dbline 124
0164 ; if(negdata==0) negaon_off=0;
0164 20900000 lds R2,_negdata
0168 2220 tst R2
016A 69F4 brne L6
016C .dbline 124
016C 40E0 ldi R20,0
016E 50E0 ldi R21,0
0170 60E0 ldi R22,0
0172 70E0 ldi R23,0
0174 50930900 sts _negaon_off+1,R21
0178 40930800 sts _negaon_off,R20
017C 70930B00 sts _negaon_off+2+1,R23
0180 60930A00 sts _negaon_off+2,R22
0184 0CC0 rjmp L7
0186 L6:
0186 .dbline 125
0186 ; else negaon_off=-100000;
0186 40E6 ldi R20,96
0188 59E7 ldi R21,121
018A 6EEF ldi R22,254
018C 7FEF ldi R23,255
018E 50930900 sts _negaon_off+1,R21
0192 40930800 sts _negaon_off,R20
0196 70930B00 sts _negaon_off+2+1,R23
019A 60930A00 sts _negaon_off+2,R22
019E L7:
019E .dbline 126
019E ; if(intemp==1) { PORTD|= BIT(4);}
019E 80910200 lds R24,_intemp
01A2 8130 cpi R24,1
01A4 09F4 brne L8
01A6 .dbline 126
01A6 .dbline 126
01A6 5C9A sbi 0xb,4
01A8 .dbline 126
01A8 L8:
01A8 .dbline 127
01A8 ; if(intemp>=2) { PORTD|= BIT(5);}
01A8 80910200 lds R24,_intemp
01AC 8230 cpi R24,2
01AE 08F0 brlo L10
01B0 .dbline 127
01B0 .dbline 127
01B0 5D9A sbi 0xb,5
01B2 .dbline 127
01B2 L10:
01B2 .dbline 128
01B2 ; sandchar_display(co,co);
01B2 20E0 ldi R18,<_co
01B4 30E0 ldi R19,>_co
01B6 00E0 ldi R16,<_co
01B8 10E0 ldi R17,>_co
01BA 2DD9 rcall _sandchar_display
01BC .dbline 129
01BC ; display_flash(135,0,1);
01BC 81E0 ldi R24,1
01BE 8883 std y+0,R24
01C0 2227 clr R18
01C2 07E8 ldi R16,135
01C4 31D9 rcall _display_flash
01C6 .dbline 130
01C6 ; SEI();
01C6 7894 sei
01C8 .dbline -2
01C8 L1:
01C8 2296 adiw R28,2
01CA 00D0 rcall pop_gset2
01CC .dbline 0 ; func end
01CC 0895 ret
01CE .dbend
01CE .dbfunc e menu _menu fV
01CE ; intm_m -> R10
01CE ; reset_m -> R14
01CE ; ccc -> R12
01CE ; timebit -> R10
01CE ; pontmp -> R10
01CE ; tdbit -> y+17
01CE ; in_m -> R12
01CE ; cbit -> y+16
01CE ; fbit -> y+15
.even
01CE _menu::
01CE 00D0 rcall push_gset5
01D0 6297 sbiw R28,18
01D2 .dbline -1
01D2 .dbline 134
01D2 ; }
01D2 ; //--------------------------------------------------------------------------------------------------------------------------------------------按键菜单
01D2 ; void menu(void)
01D2 ; {
01D2 .dbline 137
01D2 ; unsigned char pontmp,timebit, fbit,cbit,tdbit,ccc;
01D2 ; unsigned char reset_m,in_m,intm_m;
01D2 ; pontmp=pontdata;
01D2 A0900400 lds R10,_pontdata
01D6 .dbline 138
01D6 ; fbit=0; cbit=5 ; tdbit=0; timebit=0;
01D6 0024 clr R0
01D8 0F86 std y+15,R0
01DA .dbline 138
01DA 85E0 ldi R24,5
01DC 888B std y+16,R24
01DE .dbline 138
01DE 098A std y+17,R0
01E0 .dbline 138
01E0 AA24 clr R10
01E2 .dbline 139
01E2 ; key=GetKey();
01E2 84DB rcall _GetKey
01E4 00939900 sts _key,R16
01E8 .dbline 140
01E8 ; keybit=0; keytime=0;
01E8 2224 clr R2
01EA 20920000 sts _keybit,R2
01EE .dbline 140
01EE 3324 clr R3
01F0 30920100 sts _keytime+1,R3
01F4 20920000 sts _keytime,R2
01F8 .dbline 141
01F8 ; switch (key)
01F8 A02E mov R10,R16
01FA BB24 clr R11
01FC C501 movw R24,R10
01FE 8C30 cpi R24,12
0200 E0E0 ldi R30,0
0202 9E07 cpc R25,R30
0204 09F4 brne X26
0206 DEC7 rjmp L307
0208 X26:
0208 8CE0 ldi R24,12
020A 8A15 cp R24,R10
020C 9B05 cpc R25,R11
020E 34F0 brlt L358
0210 L357:
0210 C501 movw R24,R10
0212 8730 cpi R24,7
0214 E0E0 ldi R30,0
0216 9E07 cpc R25,R30
0218 99F0 breq L16
021A AFC8 rjmp L12
021C L358:
021C C501 movw R24,R10
021E 8331 cpi R24,19
0220 E0E0 ldi R30,0
0222 9E07 cpc R25,R30
0224 09F4 brne X27
0226 D0C7 rjmp L308
0228 X27:
0228 8331 cpi R24,19
022A E0E0 ldi R30,0
022C 9E07 cpc R25,R30
022E 0CF4 brge X28
0230 A4C8 rjmp L12
0232 X28:
0232 L359:
0232 C501 movw R24,R10
0234 8731 cpi R24,23
0236 E0E0 ldi R30,0
0238 9E07 cpc R25,R30
023A 09F4 brne X29
023C 83C2 rjmp L103
023E X29:
023E 9DC8 rjmp L12
0240 X0:
0240 .dbline 142
0240 ; {
0240 L16:
0240 .dbline 144
0240 ; case set:
0240 ; sandcnd_display(psx,timeset[0],0);
0240 2224 clr R2
0242 2A82 std y+2,R2
0244 40900200 lds R4,_timeset+2
0248 50900300 lds R5,_timeset+2+1
024C 20900000 lds R2,_timeset
0250 30900100 lds R3,_timeset+1
0254 4882 std y+0,R4
0256 5982 std y+1,R5
0258 9101 movw R18,R2
025A 00E0 ldi R16,<_psx
025C 10E0 ldi R17,>_psx
025E C0D8 rcall _sandcnd_display
0260 6FC2 rjmp L18
0262 L17:
0262 .dbline 146
0262 ; while(1)
0262 ; {
0262 .dbline 147
0262 ; o=psx;
0262 80E0 ldi R24,<_psx
0264 90E0 ldi R25,>_psx
0266 90939100 sts _o+1,R25
026A 80939000 sts _o,R24
026E .dbline 148
026E ; o[1]=10;
026E 8AE0 ldi R24,10
0270 E0919000 lds R30,_o
0274 F0919100 lds R31,_o+1
0278 8183 std z+1,R24
027A .dbline 149
027A ; o[2]=10;
027A E0919000 lds R30,_o
027E F0919100 lds R31,_o+1
0282 8283 std z+2,R24
0284 .dbline 150
0284 ; key=display_flash(fbit,cbit,2);
0284 82E0 ldi R24,2
0286 8883 std y+0,R24
0288 2889 ldd R18,y+16
028A 0F85 ldd R16,y+15
028C CDD8 rcall _display_flash
028E 00939900 sts _key,R16
0292 .dbline 151
0292 ; psx[2]=12;
0292 8CE0 ldi R24,12
0294 80934400 sts _psx+2,R24
0298 .dbline 152
0298 ; switch (key)
0298 202E mov R2,R16
029A 3324 clr R3
029C 3C82 std y+4,R3
029E 2B82 std y+3,R2
02A0 C101 movw R24,R2
02A2 8331 cpi R24,19
02A4 E0E0 ldi R30,0
02A6 9E07 cpc R25,R30
02A8 09F4 brne X30
02AA 8EC7 rjmp L55
02AC X30:
02AC 83E1 ldi R24,19
02AE 8215 cp R24,R2
02B0 9305 cpc R25,R3
02B2 B4F0 brlt L102
02B4 L101:
02B4 8B81 ldd R24,y+3
02B6 9C81 ldd R25,y+4
02B8 8730 cpi R24,7
02BA E0E0 ldi R30,0
02BC 9E07 cpc R25,R30
02BE C1F0 breq L24
02C0 8B30 cpi R24,11
02C2 E0E0 ldi R30,0
02C4 9E07 cpc R25,R30
02C6 09F4 brne X31
02C8 1FC2 rjmp L94
02CA X31:
02CA 8D30 cpi R24,13
02CC E0E0 ldi R30,0
02CE 9E07 cpc R25,R30
02D0 09F4 brne X32
02D2 F2C1 rjmp L89
02D4 X32:
02D4 8E30 cpi R24,14
02D6 E0E0 ldi R30,0
02D8 9E07 cpc R25,R30
02DA 09F4 brne X33
02DC CAC1 rjmp L84
02DE X33:
02DE 30C2 rjmp L21
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -