📄 main.lst
字号:
132:lcd_cn.c **** disbuf[i]=0;
1244 .LM68:
1245 0224 1192 st Z+,__zero_reg__
1246 0226 0196 adiw r24,1
1248 .LM69:
1249 0228 20E0 ldi r18,hi8(disbuf+1023)
1250 022a 8030 cpi r24,lo8(disbuf+1023)
1251 022c 9207 cpc r25,r18
1252 022e D1F3 breq .L73
1253 0230 C8F3 brlo .L73
1254 .L57:
1255 /* epilogue: frame size=0 */
1256 0232 DF91 pop r29
1257 0234 CF91 pop r28
1258 0236 1F91 pop r17
1259 0238 0F91 pop r16
1260 023a FF90 pop r15
1261 023c 0895 ret
1262 /* epilogue end (size=6) */
1263 /* function clr size 73 (62) */
1269 .Lscope5:
1271 .global lcd_ini
1273 lcd_ini:
133:lcd_cn.c **** }
134:lcd_cn.c ****
135:lcd_cn.c **** }
136:lcd_cn.c ****
137:lcd_cn.c **** void lcd_ini(void)
138:lcd_cn.c **** {
1275 .LM70:
1276 /* prologue: frame size=0 */
1277 /* prologue end (size=0) */
139:lcd_cn.c **** set(1);
1279 .LM71:
1280 023e 81E0 ldi r24,lo8(1)
1281 0240 0E94 0000 call set
140:lcd_cn.c **** clr(3);
1283 .LM72:
1284 0244 83E0 ldi r24,lo8(3)
1285 0246 0E94 0000 call clr
141:lcd_cn.c **** clr(8);
1287 .LM73:
1288 024a 88E0 ldi r24,lo8(8)
1289 024c 0E94 0000 call clr
1290 /* epilogue: frame size=0 */
1291 0250 0895 ret
1292 /* epilogue end (size=1) */
1293 /* function lcd_ini size 10 (9) */
1295 .Lscope6:
1299 .global go
1301 go:
142:lcd_cn.c **** }
143:lcd_cn.c ****
144:lcd_cn.c **** /*光标定位*/
145:lcd_cn.c **** void go(uchar xxx, uchar yyy)
146:lcd_cn.c **** { w_lcd(com,0x32);
1303 .LM74:
1304 /* prologue: frame size=0 */
1305 0252 1F93 push r17
1306 0254 CF93 push r28
1307 /* prologue end (size=2) */
1308 0256 C82F mov r28,r24
1309 0258 162F mov r17,r22
1310 025a 62E3 ldi r22,lo8(50)
1311 025c 80E0 ldi r24,lo8(0)
1312 025e 0E94 0000 call w_lcd
147:lcd_cn.c **** if(yyy==0) w_lcd(com,0x80+xxx);
1314 .LM75:
1315 0262 1123 tst r17
1316 0264 21F4 brne .L80
1318 .LM76:
1319 0266 C058 subi r28,lo8(-(-128))
1320 0268 6C2F mov r22,r28
1321 026a 812F mov r24,r17
1322 026c 0DC0 rjmp .L88
1323 .L80:
148:lcd_cn.c **** else if(yyy==1) w_lcd(com,0x90+xxx);
1325 .LM77:
1326 026e 1130 cpi r17,lo8(1)
1327 0270 11F4 brne .L82
1328 0272 C057 subi r28,lo8(-(-112))
1329 0274 07C0 rjmp .L87
1330 .L82:
149:lcd_cn.c **** else if(yyy==2) w_lcd(com,0x88+xxx);
1332 .LM78:
1333 0276 1230 cpi r17,lo8(2)
1334 0278 11F4 brne .L84
1335 027a C857 subi r28,lo8(-(-120))
1336 027c 03C0 rjmp .L87
1337 .L84:
150:lcd_cn.c **** else if(yyy==3) w_lcd(com,0x98+xxx);
1339 .LM79:
1340 027e 1330 cpi r17,lo8(3)
1341 0280 29F4 brne .L79
1342 0282 C856 subi r28,lo8(-(-104))
1343 .L87:
1344 0284 6C2F mov r22,r28
1345 0286 80E0 ldi r24,lo8(0)
1346 .L88:
1347 0288 0E94 0000 call w_lcd
1348 .L79:
1349 /* epilogue: frame size=0 */
1350 028c CF91 pop r28
1351 028e 1F91 pop r17
1352 0290 0895 ret
1353 /* epilogue end (size=3) */
1354 /* function go size 32 (27) */
1356 .Lscope7:
1360 .global wn
1362 wn:
151:lcd_cn.c **** }
152:lcd_cn.c ****
153:lcd_cn.c **** void wn(uchar num1,uchar num2) //wtite nunbers or letters
154:lcd_cn.c **** {if(num1<10)
1364 .LM80:
1365 /* prologue: frame size=0 */
1366 0292 CF93 push r28
1367 /* prologue end (size=1) */
1368 0294 C62F mov r28,r22
1369 0296 8A30 cpi r24,lo8(10)
1370 0298 10F4 brsh .L90
155:lcd_cn.c **** w_lcd(dat,num1+0x30);
1372 .LM81:
1373 029a 805D subi r24,lo8(-(48))
1374 029c 03C0 rjmp .L92
1375 .L90:
156:lcd_cn.c **** else if(num1<16)
1377 .LM82:
1378 029e 8031 cpi r24,lo8(16)
1379 02a0 08F4 brsh .L92
157:lcd_cn.c **** w_lcd(dat,num1+0x37);
1381 .LM83:
1382 02a2 895C subi r24,lo8(-(55))
1383 .L92:
158:lcd_cn.c **** else
159:lcd_cn.c **** w_lcd(dat,num1);
1385 .LM84:
1386 02a4 682F mov r22,r24
1387 02a6 81E0 ldi r24,lo8(1)
1388 02a8 0E94 0000 call w_lcd
160:lcd_cn.c **** if(num2<10)
1390 .LM85:
1391 02ac CA30 cpi r28,lo8(10)
1392 02ae 10F4 brsh .L94
161:lcd_cn.c **** w_lcd(dat,num2+0x30);
1394 .LM86:
1395 02b0 C05D subi r28,lo8(-(48))
1396 02b2 03C0 rjmp .L96
1397 .L94:
162:lcd_cn.c **** else if(num2<16)
1399 .LM87:
1400 02b4 C031 cpi r28,lo8(16)
1401 02b6 08F4 brsh .L96
163:lcd_cn.c **** w_lcd(dat,num2+0x37);
1403 .LM88:
1404 02b8 C95C subi r28,lo8(-(55))
1405 .L96:
164:lcd_cn.c **** else
165:lcd_cn.c **** w_lcd(dat,num2);
1407 .LM89:
1408 02ba 6C2F mov r22,r28
1409 02bc 81E0 ldi r24,lo8(1)
1410 02be 0E94 0000 call w_lcd
1411 /* epilogue: frame size=0 */
1412 02c2 CF91 pop r28
1413 02c4 0895 ret
1414 /* epilogue end (size=2) */
1415 /* function wn size 26 (23) */
1417 .Lscope8:
1420 .global wc
1422 wc:
166:lcd_cn.c **** } //*/
167:lcd_cn.c ****
168:lcd_cn.c ****
169:lcd_cn.c **** void wc(uchar *chan) //writer charter
170:lcd_cn.c **** {
1424 .LM90:
1425 /* prologue: frame size=0 */
1426 02c6 1F93 push r17
1427 02c8 CF93 push r28
1428 02ca DF93 push r29
1429 /* prologue end (size=3) */
1430 02cc EC01 movw r28,r24
171:lcd_cn.c **** uchar i;
172:lcd_cn.c **** for(i=0;chan[i]!='\0';i++)
1432 .LM91:
1433 02ce 10E0 ldi r17,lo8(0)
1434 02d0 8881 ld r24,Y
1435 02d2 8823 tst r24
1436 02d4 71F0 breq .L104
1437 .L102:
173:lcd_cn.c **** w_lcd(dat,chan[i]);
1439 .LM92:
1440 02d6 FE01 movw r30,r28
1441 02d8 E10F add r30,r17
1442 02da F11D adc r31,__zero_reg__
1443 02dc 6081 ld r22,Z
1444 02de 81E0 ldi r24,lo8(1)
1445 02e0 0E94 0000 call w_lcd
1447 .LM93:
1448 02e4 1F5F subi r17,lo8(-(1))
1449 02e6 FE01 movw r30,r28
1450 02e8 E10F add r30,r17
1451 02ea F11D adc r31,__zero_reg__
1452 02ec 8081 ld r24,Z
1453 02ee 8823 tst r24
1454 02f0 91F7 brne .L102
1455 .L104:
1456 /* epilogue: frame size=0 */
1457 02f2 DF91 pop r29
1458 02f4 CF91 pop r28
1459 02f6 1F91 pop r17
1460 02f8 0895 ret
1461 /* epilogue end (size=4) */
1462 /* function wc size 26 (19) */
1467 .Lscope9:
1470 .global wh
1472 wh:
174:lcd_cn.c **** }
175:lcd_cn.c ****
176:lcd_cn.c **** void wh(uchar const *chan) //write charter by look up table
177:lcd_cn.c **** {
1474 .LM94:
1475 /* prologue: frame size=0 */
1476 02fa 1F93 push r17
1477 02fc CF93 push r28
1478 02fe DF93 push r29
1479 /* prologue end (size=3) */
1480 0300 EC01 movw r28,r24
1481 .LBB7:
178:lcd_cn.c **** uchar i;
179:lcd_cn.c **** uchar ttp;
180:lcd_cn.c **** ttp=pgm_read_byte(chan);
1483 .LM95:
1484 0302 FC01 movw r30,r24
1485 /* #APP */
1486 0304 6491 lpm r22, Z
1487
1488 /* #NOAPP */
1489 .LBE7:
181:lcd_cn.c **** for(i=1;ttp!='\0';i++)
1491 .LM96:
1492 0306 11E0 ldi r17,lo8(1)
1493 0308 6623 tst r22
1494 030a 51F0 breq .L111
1495 .L109:
182:lcd_cn.c **** {
183:lcd_cn.c **** w_lcd(dat,ttp);
1497 .LM97:
1498 030c 81E0 ldi r24,lo8(1)
1499 030e 0E94 0000 call w_lcd
1500 .LBB8:
184:lcd_cn.c **** ttp=pgm_read_byte(chan+i);
1502 .LM98:
1503 0312 FE01 movw r30,r28
1504 0314 E10F add r30,r17
1505 0316 F11D adc r31,__zero_reg__
1506 /* #APP */
1507 0318 6491 lpm r22, Z
1508
1509 /* #NOAPP */
1510 .LBE8:
1512 .LM99:
1513 031a 1F5F subi r17,lo8(-(1))
1514 031c 6623 tst r22
1515 031e B1F7 brne .L109
1516 .L111:
1517 /* epilogue: frame size=0 */
1518 0320 DF91 pop r29
1519 0322 CF91 pop r28
1520 0324 1F91 pop r17
1521 0326 0895 ret
1522 /* epilogue end (size=4) */
1523 /* function wh size 29 (22) */
1532 .Lscope10:
1538 .global wu
1540 wu:
185:lcd_cn.c **** }
186:lcd_cn.c **** }
187:lcd_cn.c ****
188:lcd_cn.c **** void wu (uchar const *ch0, uchar const *ch1, uchar const *ch2, uchar const *ch3)
189:lcd_cn.c **** {
1542 .LM100:
1543 /* prologue: frame size=0 */
1544 0328 AF92 push r10
1545 032a BF92 push r11
1546 032c CF92 push r12
1547 032e DF92 push r13
1548 0330 EF92 push r14
1549 0332 FF92 push r15
1550 0334 0F93 push r16
1551 0336 1F93 push r17
1552 /* prologue end (size=8) */
1553 0338 8C01 movw r16,r24
1554 033a 7B01 movw r14,r22
1555 033c 6A01 movw r12,r20
1556 033e 5901 movw r10,r18
190:lcd_cn.c **** clr(1);
1558 .LM101:
1559 0340 81E0 ldi r24,lo8(1)
1560 0342 0E94 0000 call clr
191:lcd_cn.c **** set(1);
1562 .LM102:
1563 0346 81E0 ldi r24,lo8(1)
1564 0348 0E94 0000 call set
192:lcd_cn.c **** go(0,0);
1566 .LM103:
1567 034c 60E0 ldi r22,lo8(0)
1568 034e 862F mov r24,r22
1569 0350 0E94 0000 call go
193:lcd_cn.c **** wh(ch0); //write line 0
1571 .LM104:
1572 0354 C801 movw r24,r16
1573 0356 0E94 0000 call wh
194:lcd_cn.c **** go(0,1);
1575 .LM105:
1576 035a 61E0 ldi r22,lo8(1)
1577 035c 80E0 ldi r24,lo8(0)
1578 035e 0E94 0000 call go
195:lcd_cn.c **** wh(ch1); //write line 1
1580 .LM106:
1581 0362 C701 movw r24,r14
1582 0364 0E94 0000 call wh
196:lcd_cn.c **** go(0,2);
1584 .LM107:
1585 0368 62E0 ldi r22,lo8(2)
1586 036a 80E0 ldi r24,lo8(0)
1587 036c 0E94 0000 call go
197:lcd_cn.c **** wh(ch2);
1589 .LM108:
1590 0370 C601 movw r24,r12
1591 0372 0E94 0000 call wh
198:lcd_cn.c **** go(0,3);
1593 .LM109:
1594 0376 63E0 ldi r22,lo8(3)
1595 0378 80E0 ldi r24,lo8(0)
1596 037a 0E94
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -