📄 m128.lst
字号:
136A 01C5 MOVW R24,R10
136B 9601 ADIW R24,1
136C 015C MOVW R10,R24
136D 94E3 INC R14
136E 840E LDD R0,14+Y
136F 14E0 CP R14,R0
1370 F340 BCS 0x1359
(0199) }
(0200) y++;
1371 840C LDD R0,12+Y
1372 9403 INC R0
1373 860C STD R0,12+Y
(0201) p=&ADDR_0+y*bytes_1line+x;
1374 E480 LDI R24,0x40
1375 9D80 MUL R24,R0
1376 01C0 MOVW R24,R0
1377 84AA LDD R10,10+Y
1378 24BB CLR R11
1379 0EA8 ADD R10,R24
137A 1EB9 ADC R11,R25
(0202) }
137B C0A1 RJMP 0x141D
(0203) else if (i==(b-2))
137C 2D8C MOV R24,R12
137D 5082 SUBI R24,2
137E 1768 CP R22,R24
137F F529 BNE 0x13A5
(0204) {//边框的倒数第二行
(0205) for (j=0;j<a;j++)
1380 24EE CLR R14
1381 C015 RJMP 0x1397
(0206) {if (j==a-1)
1382 858E LDD R24,14+Y
1383 5081 SUBI R24,1
1384 16E8 CP R14,R24
1385 F421 BNE 0x138A
(0207) {movx(p,~0xff);}
1386 E020 LDI R18,0
1387 0185 MOVW R16,R10
1388 DF9F RCALL _movx
1389 C009 RJMP 0x1393
(0208) else if (j==0)
138A 20EE TST R14
138B F421 BNE 0x1390
(0209) {movx(p,~0x7f);}
138C E820 LDI R18,0x80
138D 0185 MOVW R16,R10
138E DF99 RCALL _movx
138F C003 RJMP 0x1393
(0210) else {movx(p,0);}
1390 2722 CLR R18
1391 0185 MOVW R16,R10
1392 DF95 RCALL _movx
(0211) p++;
1393 01C5 MOVW R24,R10
1394 9601 ADIW R24,1
1395 015C MOVW R10,R24
1396 94E3 INC R14
1397 840E LDD R0,14+Y
1398 14E0 CP R14,R0
1399 F340 BCS 0x1382
(0212) }
(0213) y++;
139A 840C LDD R0,12+Y
139B 9403 INC R0
139C 860C STD R0,12+Y
(0214) p=&ADDR_0+y*bytes_1line+x;
139D E480 LDI R24,0x40
139E 9D80 MUL R24,R0
139F 01C0 MOVW R24,R0
13A0 84AA LDD R10,10+Y
13A1 24BB CLR R11
13A2 0EA8 ADD R10,R24
13A3 1EB9 ADC R11,R25
(0215) }
13A4 C078 RJMP 0x141D
(0216) else {switch (i)
13A5 2F46 MOV R20,R22
13A6 2755 CLR R21
13A7 3040 CPI R20,0
13A8 0745 CPC R20,R21
13A9 F029 BEQ 0x13AF
13AA 3041 CPI R20,1
13AB E0E0 LDI R30,0
13AC 075E CPC R21,R30
13AD F131 BEQ 0x13D4
13AE C04A RJMP 0x13F9
(0217) {case 0:{//边框的第一行
(0218) for (j=0;j<a;j++)
13AF 24EE CLR R14
13B0 C015 RJMP 0x13C6
(0219) { if (j==a-1)
13B1 858E LDD R24,14+Y
13B2 5081 SUBI R24,1
13B3 16E8 CP R14,R24
13B4 F421 BNE 0x13B9
(0220) {movx(p,~0xfc);}
13B5 E023 LDI R18,3
13B6 0185 MOVW R16,R10
13B7 DF70 RCALL _movx
13B8 C009 RJMP 0x13C2
(0221) else if (j==0)
13B9 20EE TST R14
13BA F421 BNE 0x13BF
(0222) {movx(p,~0x7f);}
13BB E820 LDI R18,0x80
13BC 0185 MOVW R16,R10
13BD DF6A RCALL _movx
13BE C003 RJMP 0x13C2
(0223) else {movx(p,0);}
13BF 2722 CLR R18
13C0 0185 MOVW R16,R10
13C1 DF66 RCALL _movx
(0224) p++;
13C2 01C5 MOVW R24,R10
13C3 9601 ADIW R24,1
13C4 015C MOVW R10,R24
13C5 94E3 INC R14
13C6 840E LDD R0,14+Y
13C7 14E0 CP R14,R0
13C8 F340 BCS 0x13B1
(0225) }
(0226) y++;
13C9 840C LDD R0,12+Y
13CA 9403 INC R0
13CB 860C STD R0,12+Y
(0227) p=&ADDR_0+y*bytes_1line+x;
13CC E480 LDI R24,0x40
13CD 9D80 MUL R24,R0
13CE 01C0 MOVW R24,R0
13CF 84AA LDD R10,10+Y
13D0 24BB CLR R11
13D1 0EA8 ADD R10,R24
13D2 1EB9 ADC R11,R25
(0228) }
(0229) break;
13D3 C049 RJMP 0x141D
(0230) case 1:{//边框的第二行
(0231) for (j=0;j<a;j++)
13D4 24EE CLR R14
13D5 C015 RJMP 0x13EB
(0232) { if (j==a-1)
13D6 858E LDD R24,14+Y
13D7 5081 SUBI R24,1
13D8 16E8 CP R14,R24
13D9 F421 BNE 0x13DE
(0233) {movx(p,~2);}
13DA EF2D LDI R18,0xFD
13DB 0185 MOVW R16,R10
13DC DF4B RCALL _movx
13DD C009 RJMP 0x13E7
(0234) else if (j==0)
13DE 20EE TST R14
13DF F421 BNE 0x13E4
(0235) {movx(p,~0x80);}
13E0 E72F LDI R18,0x7F
13E1 0185 MOVW R16,R10
13E2 DF45 RCALL _movx
13E3 C003 RJMP 0x13E7
(0236) else {movx(p,0xff);}
13E4 EF2F LDI R18,0xFF
13E5 0185 MOVW R16,R10
13E6 DF41 RCALL _movx
(0237) p++;
13E7 01C5 MOVW R24,R10
13E8 9601 ADIW R24,1
13E9 015C MOVW R10,R24
13EA 94E3 INC R14
13EB 840E LDD R0,14+Y
13EC 14E0 CP R14,R0
13ED F340 BCS 0x13D6
(0238) }
(0239) y++;
13EE 840C LDD R0,12+Y
13EF 9403 INC R0
13F0 860C STD R0,12+Y
(0240) p=&ADDR_0+y*bytes_1line+x;
13F1 E480 LDI R24,0x40
13F2 9D80 MUL R24,R0
13F3 01C0 MOVW R24,R0
13F4 84AA LDD R10,10+Y
13F5 24BB CLR R11
13F6 0EA8 ADD R10,R24
13F7 1EB9 ADC R11,R25
(0241) }
(0242) break;
13F8 C024 RJMP 0x141D
(0243) default:{//中间显示
(0244) for (j=0;j<a;j++)
13F9 24EE CLR R14
13FA C015 RJMP 0x1410
(0245) { if (j==a-1)
13FB 858E LDD R24,14+Y
13FC 5081 SUBI R24,1
13FD 16E8 CP R14,R24
13FE F421 BNE 0x1403
(0246) {movx(p,~3);}
13FF EF2C LDI R18,0xFC
1400 0185 MOVW R16,R10
1401 DF26 RCALL _movx
1402 C009 RJMP 0x140C
(0247) else if (j==0)
1403 20EE TST R14
1404 F421 BNE 0x1409
(0248) {movx(p,~0x80);}
1405 E72F LDI R18,0x7F
1406 0185 MOVW R16,R10
1407 DF20 RCALL _movx
1408 C003 RJMP 0x140C
(0249) else {movx(p,0xff);}
1409 EF2F LDI R18,0xFF
140A 0185 MOVW R16,R10
140B DF1C RCALL _movx
(0250) p++;
140C 01C5 MOVW R24,R10
140D 9601 ADIW R24,1
140E 015C MOVW R10,R24
140F 94E3 INC R14
1410 840E LDD R0,14+Y
1411 14E0 CP R14,R0
1412 F340 BCS 0x13FB
(0251) }
(0252) y++;
1413 840C LDD R0,12+Y
1414 9403 INC R0
1415 860C STD R0,12+Y
(0253) p=&ADDR_0+y*bytes_1line+x;
1416 E480 LDI R24,0x40
1417 9D80 MUL R24,R0
1418 01C0 MOVW R24,R0
1419 84AA LDD R10,10+Y
141A 24BB CLR R11
141B 0EA8 ADD R10,R24
141C 1EB9 ADC R11,R25
141D 9563 INC R22
141E 156C CP R22,R12
141F F408 BCC 0x1421
1420 CF32 RJMP 0x1353
(0254) }
(0255) break;
(0256) }
(0257) }
(0258)
(0259) }
(0260) A17_A16_low
1421 91800062 LDS R24,0x62
1423 7F8C ANDI R24,0xFC
1424 93800062 STS 0x62,R24
(0261) }
1426 940E523A CALL pop_gset5
1428 9624 ADIW R28,4
1429 9508 RET
_put_shuzi:
z_arry --> Y+2
i --> R20
data --> R20
y --> R22
x --> R10
142A 940E5225 CALL push_gset3
142C 2F62 MOV R22,R18
142D 2EA0 MOV R10,R16
142E 9727 SBIW R28,7
142F 854D LDD R20,13+Y
1430 855E LDD R21,14+Y
(0262)
(0263)
(0264) void put_shuzi(unsigned char x,unsigned char y,unsigned int data)
(0265) { unsigned char z_arry[5],i;
(0266)
(0267) z_arry[4]=data%10;
1431 E02A LDI R18,0xA
1432 E030 LDI R19,0
1433 018A MOVW R16,R20
1434 940E515E CALL mod16u
1436 830E STD R16,6+Y
(0268) z_arry[3]=data%100/10;
1437 E624 LDI R18,0x64
1438 E030 LDI R19,0
1439 018A MOVW R16,R20
143A 940E515E CALL mod16u
143C E02A LDI R18,0xA
143D E030 LDI R19,0
143E 940E5160 CALL div16u
1440 830D STD R16,5+Y
(0269) z_arry[2]=data%1000/100;
1441 EE28 LDI R18,0xE8
1442 E033 LDI R19,3
1443 018A MOVW R16,R20
1444 940E515E CALL mod16u
1446 E624 LDI R18,0x64
1447 E030 LDI R19,0
1448 940E5160 CALL div16u
144A 830C STD R16,4+Y
(0270) z_arry[1]=data%10000/1000;
144B E120 LDI R18,0x10
144C E237 LDI R19,0x27
144D 018A MOVW R16,R20
144E 940E515E CALL mod16u
1450 EE28 LDI R18,0xE8
1451 E033 LDI R19,3
1452 940E5160 CALL div16u
1454 830B STD R16,3+Y
(0271) z_arry[0]=data/10000;
1455 E120 LDI R18,0x10
1456 E237 LDI R19,0x27
1457 018A MOVW R16,R20
1458 940E5160 CALL div16u
145A 830A STD R16,2+Y
(0272)
(0273) for (i=0;i<5;i++)
145B 2744 CLR R20
145C C012 RJMP 0x146F
(0274) {disp16x8(x++,y,z_arry[i]);}
145D 01CE MOVW R24,R28
145E 9602 ADIW R24,2
145F 2FE4 MOV R30,R20
1460 27FF CLR R31
1461 0FE8 ADD R30,R24
1462 1FF9 ADC R31,R25
1463 8020 LDD R2,0+Z
1464 2433 CLR R3
1465 8228 STD R2,0+Y
1466 8239 STD R3,1+Y
1467 2F26 MOV R18,R22
1468 2C2A MOV R2,R10
1469 2D82 MOV R24,R2
146A 5F8F SUBI R24,0xFF
146B 2EA8 MOV R10,R24
146C 2D02 MOV R16,R2
146D DD25 RCALL _disp16x8
146E 9543 INC R20
146F 3045 CPI R20,5
1470 F360 BCS 0x145D
(0275) }
1471 9627 ADIW R28,7
1472 940E5234 CALL pop_gset3
1474 9508 RET
_put_shuzi_pcf:
z_arry --> Y+2
i --> R20
data --> Y+10
y --> R22
x --> R10
1475 940E5225 CALL push_gset3
1477 2F62 MOV R22,R18
1478 2EA0 MOV R10,R16
1479 9724 SBIW R28,4
(0276)
(0277) void put_shuzi_pcf(unsigned char x,unsigned char y,unsigned char data)
(0278) { unsigned char z_arry[2],i;
(0279)
(0280) z_arry[1]=data%16;
147A E110 LDI R17,0x10
147B 850A LDD R16,10+Y
147C 940E514A CALL mod8u
147E 830B STD R16,3+Y
(0281) z_arry[0]=data/16;
147F E110 LDI R17,0x10
1480 850A LDD R16,10+Y
1481 940E514C CALL div8u
1483 830A STD R16,2+Y
(0282)
(0283) for (i=0;i<2;i++)
1484 2744 CLR R20
1485 C012 RJMP 0x1498
(0284) {disp16x8(x++,y,z_arry[i]);}
1486 01CE MOVW R24,R28
1487 9602 ADIW R24,2
1488 2FE4 MOV R30,R20
1489 27FF CLR R31
148A 0FE8 ADD R30,R24
148B 1FF9 ADC R31,R25
148C 8020 LDD R2,0+Z
148D 2433 CLR R3
148E 8228 STD R2,0+Y
148F 8239 STD R3,1+Y
1490 2F26 MOV R18,R22
1491 2C2A MOV R2,R10
1492 2D82 MOV R24,R2
1493 5F8F SUBI R24,0xFF
1494 2EA8 MOV R10,R24
1495 2D02 MOV R16,R2
1496 DCFC RCALL _disp16x8
1497 9543 INC R20
1498 3042 CPI R20,2
1499 F360 BCS 0x1486
(0285) }
149A 9624 ADIW R28,4
149B 940E5234 CALL pop_gset3
149D 9508 RET
_bcd_hex:
x --> R20
149E 940E520A CALL push_gset1
14A0 2F40 MOV R20,R16
FILE: E:\zxf\AvrFile\USB-screen\lg-test\PCF8563.h
(0001) unsigned char PCF_register[16]={0x00,//复位功能有效
(0002) 0x00,//报警,定时功能禁止.
(0003) 0x00,//秒
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -