📄 test.lis
字号:
0200 0895 ret
0202 ; t -> R20,R21
0202 ; dy -> R22,R23
0202 ; dx -> R10,R11
0202 ; e -> R12,R13
0202 ; draw -> R14
0202 ; y2 -> y+17
0202 ; x2 -> y+15
0202 ; y1 -> y+13
0202 ; x1 -> y+11
.even
0202 _Lcd_Line::
0202 0E940000 xcall push_arg4
0206 0E940000 xcall push_gset5
020A 2197 sbiw R28,1
020C EB88 ldd R14,y+19
020E ; Lcd_Line(0,127,239,0,1);
020E ; Lcd_Line(0,64,239,64,1);
020E ; Lcd_Line(120,0,120,127,1);
020E ; Lcd_Circle(120,64,30,1);
020E ; Lcd_Box(2,2,237,125,1,0);
020E ; Lcd_Box(110,54,130,74,1,1);
020E ; Lcd_Box(115,59,125,69,0,1);
020E ; Lcd_Point(0,0,1);
020E ; a=75;
020E ; b=1;
020E 0B84 ldd R0,y+11
0210 0F85 ldd R16,y+15
0212 0016 cp R0,R16
0214 F1F4 brne L40
0216 ;
0216 ; c=5;
0216 0988 ldd R0,y+17
0218 0D85 ldd R16,y+13
021A 0016 cp R0,R16
021C 20F4 brsh L42
021E 8FEF ldi R24,-1
0220 9FEF ldi R25,-1
0222 6C01 movw R12,R24
0224 0DC0 xjmp L47
0226 L42:
0226 ; d=64;
0226 81E0 ldi R24,1
0228 90E0 ldi R25,0
022A 6C01 movw R12,R24
022C 09C0 xjmp L47
022E L44:
022E E882 std y+0,R14
0230 2D85 ldd R18,y+13
0232 0B85 ldd R16,y+11
0234 B4DF xcall _Lcd_Point
0236 L45:
0236 2D84 ldd R2,y+13
0238 3324 clr R3
023A 2C0C add R2,R12
023C 3D1C adc R3,R13
023E 2D86 std y+13,R2
0240 L47:
0240 ; Lcd_Box(4,63,116,120,1,0);
0240 0D84 ldd R0,y+13
0242 0989 ldd R16,y+17
0244 0016 cp R0,R16
0246 99F7 brne L44
0248 ;
0248 E882 std y+0,R14
024A 202D mov R18,R0
024C 0B85 ldd R16,y+11
024E A7DF xcall _Lcd_Point
0250 ; while(1)
0250 97C0 xjmp L39
0252 L40:
0252 ; {
0252 ; Lcd_Line(a,14,a,26,b);
0252 ; if (LCD_X_MAX-8==a++) {a=75;b= 1-b;}
0252 0D84 ldd R0,y+13
0254 0989 ldd R16,y+17
0256 0016 cp R0,R16
0258 F1F4 brne L48
025A ;
025A ; if (c<115)
025A 0F84 ldd R0,y+15
025C 0B85 ldd R16,y+11
025E 0016 cp R0,R16
0260 20F4 brsh L50
0262 8FEF ldi R24,-1
0264 9FEF ldi R25,-1
0266 6C01 movw R12,R24
0268 0DC0 xjmp L55
026A L50:
026A ; {
026A 81E0 ldi R24,1
026C 90E0 ldi R25,0
026E 6C01 movw R12,R24
0270 09C0 xjmp L55
0272 L52:
0272 E882 std y+0,R14
0274 2D85 ldd R18,y+13
0276 0B85 ldd R16,y+11
0278 92DF xcall _Lcd_Point
027A L53:
027A 2B84 ldd R2,y+11
027C 3324 clr R3
027E 2C0C add R2,R12
0280 3D1C adc R3,R13
0282 2B86 std y+11,R2
0284 L55:
0284 ; Lcd_Line(c,d,120-c,183-d,1);
0284 0B84 ldd R0,y+11
0286 0F85 ldd R16,y+15
0288 0016 cp R0,R16
028A 99F7 brne L52
028C ; delay_us(250);
028C E882 std y+0,R14
028E 2D85 ldd R18,y+13
0290 002D mov R16,R0
0292 85DF xcall _Lcd_Point
0294 ; Lcd_Line(c,d,120-c,183-d,0);
0294 75C0 xjmp L39
0296 L48:
0296 ; c++;
0296 ; }
0296 ; else
0296 2B84 ldd R2,y+11
0298 3324 clr R3
029A AF84 ldd R10,y+15
029C BB24 clr R11
029E A218 sub R10,R2
02A0 B308 sbc R11,R3
02A2 ; {
02A2 C501 movw R24,R10
02A4 8030 cpi R24,0
02A6 E0E0 ldi R30,0
02A8 9E07 cpc R25,R30
02AA 7CF4 brge L56
02AC ; Lcd_Line(c,d,120-c,183-d,1);
02AC ; delay_us(250);
02AC 422D mov R20,R2
02AE 5527 clr R21
02B0 0F84 ldd R0,y+15
02B2 0B86 std y+11,R0
02B4 4F87 std y+15,R20
02B6 ; Lcd_Line(c,d,120-c,183-d,0);
02B6 4D85 ldd R20,y+13
02B8 5527 clr R21
02BA 0988 ldd R0,y+17
02BC 0D86 std y+13,R0
02BE 498B std y+17,R20
02C0 ; d++;
02C0 8095 com R24
02C2 9095 com R25
02C4 8F5F subi R24,0xFF
02C6 9F4F sbci R25,0xFF
02C8 5C01 movw R10,R24
02CA ; if (d>=120) {d=64;c=5;}
02CA L56:
02CA ; }
02CA ; }
02CA 2D84 ldd R2,y+13
02CC 3324 clr R3
02CE 6989 ldd R22,y+17
02D0 7727 clr R23
02D2 6219 sub R22,R2
02D4 7309 sbc R23,R3
02D6 ; }
02D6 2224 clr R2
02D8 2616 cp R2,R22
02DA 3706 cpc R3,R23
02DC 1CF4 brge L58
02DE ;
02DE ; void avr_init(void)
02DE 41E0 ldi R20,1
02E0 50E0 ldi R21,0
02E2 ; {
02E2 06C0 xjmp L59
02E4 L58:
02E4 ; Lcd_Setup();
02E4 ; Lcd_Init();
02E4 ; return;
02E4 4FEF ldi R20,-1
02E6 5FEF ldi R21,-1
02E8 ; }
02E8 6095 com R22
02EA 7095 com R23
02EC 6F5F subi R22,0xFF
02EE 7F4F sbci R23,0xFF
02F0 ; }
02F0 L59:
02F0 ; }
02F0 ; }
02F0 E882 std y+0,R14
02F2 2D85 ldd R18,y+13
02F4 0B85 ldd R16,y+11
02F6 53DF xcall _Lcd_Point
02F8 ; }
02F8 A616 cp R10,R22
02FA B706 cpc R11,R23
02FC 0CF1 brlt L60
02FE ; }
02FE ; }
02FE 1501 movw R2,R10
0300 3594 asr R3
0302 2794 ror R2
0304 6B01 movw R12,R22
0306 C218 sub R12,R2
0308 D308 sbc R13,R3
030A 15C0 xjmp L63
030C L62:
030C ; }
030C ; }
030C ; }
030C 2224 clr R2
030E 3324 clr R3
0310 2C14 cp R2,R12
0312 3D04 cpc R3,R13
0314 3CF4 brge L65
0316 ; }
0316 ; }
0316 2D84 ldd R2,y+13
0318 3324 clr R3
031A 240E add R2,R20
031C 351E adc R3,R21
031E 2D86 std y+13,R2
0320 ; }
0320 CA18 sub R12,R10
0322 DB08 sbc R13,R11
0324 ; }
0324 L65:
0324 0B84 ldd R0,y+11
0326 0394 inc R0
0328 0B86 std y+11,R0
032A C60E add R12,R22
032C D71E adc R13,R23
032E E882 std y+0,R14
0330 2D85 ldd R18,y+13
0332 002D mov R16,R0
0334 34DF xcall _Lcd_Point
0336 L63:
0336 0B84 ldd R0,y+11
0338 0F85 ldd R16,y+15
033A 0016 cp R0,R16
033C 39F7 brne L62
033E ; }
033E ; }
033E ; }
033E ; }
033E ; }
033E 20C0 xjmp L61
0340 L60:
0340 ; }
0340 ; }
0340 ; }
0340 1B01 movw R2,R22
0342 3594 asr R3
0344 2794 ror R2
0346 6501 movw R12,R10
0348 C218 sub R12,R2
034A D308 sbc R13,R3
034C 15C0 xjmp L68
034E L67:
034E ; }
034E ; }
034E ; }
034E 2224 clr R2
0350 3324 clr R3
0352 2C14 cp R2,R12
0354 3D04 cpc R3,R13
0356 2CF4 brge L70
0358 ; }
0358 ; }
0358 0B84 ldd R0,y+11
035A 0394 inc R0
035C 0B86 std y+11,R0
035E ; }
035E C61A sub R12,R22
0360 D70A sbc R13,R23
0362 ; }
0362 L70:
0362 2D84 ldd R2,y+13
0364 3324 clr R3
0366 240E add R2,R20
0368 351E adc R3,R21
036A 2D86 std y+13,R2
036C CA0C add R12,R10
036E DB1C adc R13,R11
0370 E882 std y+0,R14
0372 222D mov R18,R2
0374 0B85 ldd R16,y+11
0376 13DF xcall _Lcd_Point
0378 L68:
0378 0D84 ldd R0,y+13
037A 0989 ldd R16,y+17
037C 0016 cp R0,R16
037E 39F7 brne L67
0380 ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -