📄 gui.lis
字号:
0430 9504 cpc R9,R5
0432 0CF4 brge X0
0434 A9C0 xjmp L43
0436 X0:
0436 .dbline 225
0436 ; {
0436 .dbline 226
0436 ; di = dy_x2 - dx;
0436 FE01 movw R30,R28
0438 2784 ldd R2,z+15
043A 3088 ldd R3,z+16
043C 4188 ldd R4,z+17
043E 5288 ldd R5,z+18
0440 FE01 movw R30,R28
0442 6384 ldd R6,z+11
0444 7484 ldd R7,z+12
0446 8584 ldd R8,z+13
0448 9684 ldd R9,z+14
044A 6218 sub R6,R2
044C 7308 sbc R7,R3
044E 8408 sbc R8,R4
0450 9508 sbc R9,R5
0452 FE01 movw R30,R28
0454 6382 std z+3,R6
0456 7482 std z+4,R7
0458 8582 std z+5,R8
045A 9682 std z+6,R9
045C 79C0 xjmp L46
045E L45:
045E .dbline 228
045E ; while(x0!=x1)
045E ; {
045E .dbline 229
045E ; GUI_Point(x0, y0, color);
045E E882 std y+0,R14
0460 FE01 movw R30,R28
0462 25A0 ldd R2,z+37
0464 36A0 ldd R3,z+38
0466 47A0 ldd R4,z+39
0468 50A4 ldd R5,z+40
046A 222D mov R18,R2
046C FE01 movw R30,R28
046E 01A1 ldd R16,z+33
0470 0E940000 xcall _GUI_Point
0474 .dbline 230
0474 ; x0 += dx_sym;
0474 2C2C mov R2,R12
0476 3324 clr R3
0478 27FC sbrc R2,7
047A 3094 com R3
047C 4424 clr R4
047E 37FC sbrc R3,7
0480 4094 com R4
0482 5524 clr R5
0484 47FC sbrc R4,7
0486 5094 com R5
0488 FE01 movw R30,R28
048A 61A0 ldd R6,z+33
048C 72A0 ldd R7,z+34
048E 83A0 ldd R8,z+35
0490 94A0 ldd R9,z+36
0492 620C add R6,R2
0494 731C adc R7,R3
0496 841C adc R8,R4
0498 951C adc R9,R5
049A FE01 movw R30,R28
049C 61A2 std z+33,R6
049E 72A2 std z+34,R7
04A0 83A2 std z+35,R8
04A2 94A2 std z+36,R9
04A4 .dbline 231
04A4 ; if(di<0)
04A4 40E0 ldi R20,0
04A6 50E0 ldi R21,0
04A8 60E0 ldi R22,0
04AA 70E0 ldi R23,0
04AC FE01 movw R30,R28
04AE 2380 ldd R2,z+3
04B0 3480 ldd R3,z+4
04B2 4580 ldd R4,z+5
04B4 5680 ldd R5,z+6
04B6 2416 cp R2,R20
04B8 3506 cpc R3,R21
04BA 4606 cpc R4,R22
04BC 5706 cpc R5,R23
04BE A4F4 brge L48
04C0 .dbline 232
04C0 ; {
04C0 .dbline 233
04C0 ; di += dy_x2; // 计算出下一步的决策值
04C0 FE01 movw R30,R28
04C2 2384 ldd R2,z+11
04C4 3484 ldd R3,z+12
04C6 4584 ldd R4,z+13
04C8 5684 ldd R5,z+14
04CA FE01 movw R30,R28
04CC 6380 ldd R6,z+3
04CE 7480 ldd R7,z+4
04D0 8580 ldd R8,z+5
04D2 9680 ldd R9,z+6
04D4 620C add R6,R2
04D6 731C adc R7,R3
04D8 841C adc R8,R4
04DA 951C adc R9,R5
04DC FE01 movw R30,R28
04DE 6382 std z+3,R6
04E0 7482 std z+4,R7
04E2 8582 std z+5,R8
04E4 9682 std z+6,R9
04E6 .dbline 234
04E6 ; }
04E6 34C0 xjmp L49
04E8 L48:
04E8 .dbline 236
04E8 ; else
04E8 ; {
04E8 .dbline 237
04E8 ; di += dy_x2 - dx_x2;
04E8 FE01 movw R30,R28
04EA 2780 ldd R2,z+7
04EC 3084 ldd R3,z+8
04EE 4184 ldd R4,z+9
04F0 5284 ldd R5,z+10
04F2 FE01 movw R30,R28
04F4 6384 ldd R6,z+11
04F6 7484 ldd R7,z+12
04F8 8584 ldd R8,z+13
04FA 9684 ldd R9,z+14
04FC 6218 sub R6,R2
04FE 7308 sbc R7,R3
0500 8408 sbc R8,R4
0502 9508 sbc R9,R5
0504 FE01 movw R30,R28
0506 2380 ldd R2,z+3
0508 3480 ldd R3,z+4
050A 4580 ldd R4,z+5
050C 5680 ldd R5,z+6
050E 260C add R2,R6
0510 371C adc R3,R7
0512 481C adc R4,R8
0514 591C adc R5,R9
0516 FE01 movw R30,R28
0518 2382 std z+3,R2
051A 3482 std z+4,R3
051C 4582 std z+5,R4
051E 5682 std z+6,R5
0520 .dbline 238
0520 ; y0 += dy_sym;
0520 2A2C mov R2,R10
0522 3324 clr R3
0524 27FC sbrc R2,7
0526 3094 com R3
0528 4424 clr R4
052A 37FC sbrc R3,7
052C 4094 com R4
052E 5524 clr R5
0530 47FC sbrc R4,7
0532 5094 com R5
0534 FE01 movw R30,R28
0536 65A0 ldd R6,z+37
0538 76A0 ldd R7,z+38
053A 87A0 ldd R8,z+39
053C 90A4 ldd R9,z+40
053E 620C add R6,R2
0540 731C adc R7,R3
0542 841C adc R8,R4
0544 951C adc R9,R5
0546 FE01 movw R30,R28
0548 65A2 std z+37,R6
054A 76A2 std z+38,R7
054C 87A2 std z+39,R8
054E 90A6 std z+40,R9
0550 .dbline 239
0550 ; }
0550 L49:
0550 .dbline 240
0550 L46:
0550 .dbline 227
0550 FE01 movw R30,R28
0552 21A4 ldd R2,z+41
0554 32A4 ldd R3,z+42
0556 43A4 ldd R4,z+43
0558 54A4 ldd R5,z+44
055A FE01 movw R30,R28
055C 61A0 ldd R6,z+33
055E 72A0 ldd R7,z+34
0560 83A0 ldd R8,z+35
0562 94A0 ldd R9,z+36
0564 6214 cp R6,R2
0566 7304 cpc R7,R3
0568 8404 cpc R8,R4
056A 9504 cpc R9,R5
056C 09F0 breq X1
056E 77CF xjmp L45
0570 X1:
0570 .dbline 241
0570 ; }
0570 ; GUI_Point(x0, y0, color); // 显示最后一点
0570 E882 std y+0,R14
0572 FE01 movw R30,R28
0574 25A0 ldd R2,z+37
0576 36A0 ldd R3,z+38
0578 47A0 ldd R4,z+39
057A 50A4 ldd R5,z+40
057C 222D mov R18,R2
057E FE01 movw R30,R28
0580 01A1 ldd R16,z+33
0582 0E940000 xcall _GUI_Point
0586 .dbline 242
0586 ; }
0586 A8C0 xjmp L44
0588 L43:
0588 .dbline 244
0588 ; else // 对于dx<dy,则使用y轴为基准
0588 ; {
0588 .dbline 245
0588 ; di = dx_x2 - dy;
0588 FE01 movw R30,R28
058A 2388 ldd R2,z+19
058C 3488 ldd R3,z+20
058E 4588 ldd R4,z+21
0590 5688 ldd R5,z+22
0592 FE01 movw R30,R28
0594 6780 ldd R6,z+7
0596 7084 ldd R7,z+8
0598 8184 ldd R8,z+9
059A 9284 ldd R9,z+10
059C 6218 sub R6,R2
059E 7308 sbc R7,R3
05A0 8408 sbc R8,R4
05A2 9508 sbc R9,R5
05A4 FE01 movw R30,R28
05A6 6382 std z+3,R6
05A8 7482 std z+4,R7
05AA 8582 std z+5,R8
05AC 9682 std z+6,R9
05AE 79C0 xjmp L51
05B0 L50:
05B0 .dbline 247
05B0 ; while(y0!=y1)
05B0 ; {
05B0 .dbline 248
05B0 ; GUI_Point(x0, y0, color);
05B0 E882 std y+0,R14
05B2 FE01 movw R30,R28
05B4 25A0 ldd R2,z+37
05B6 36A0 ldd R3,z+38
05B8 47A0 ldd R4,z+39
05BA 50A4 ldd R5,z+40
05BC 222D mov R18,R2
05BE FE01 movw R30,R28
05C0 01A1 ldd R16,z+33
05C2 0E940000 xcall _GUI_Point
05C6 .dbline 249
05C6 ; y0 += dy_sym;
05C6 2A2C mov R2,R10
05C8 3324 clr R3
05CA 27FC sbrc R2,7
05CC 3094 com R3
05CE 4424 clr R4
05D0 37FC sbrc R3,7
05D2 4094 com R4
05D4 5524 clr R5
05D6 47FC sbrc R4,7
05D8 5094 com R5
05DA FE01 movw R30,R28
05DC 65A0 ldd R6,z+37
05DE 76A0 ldd R7,z+38
05E0 87A0 ldd R8,z+39
05E2 90A4 ldd R9,z+40
05E4 620C add R6,R2
05E6 731C adc R7,R3
05E8 841C adc R8,R4
05EA 951C adc R9,R5
05EC FE01 movw R30,R28
05EE 65A2 std z+37,R6
05F0 76A2 std z+38,R7
05F2 87A2 std z+39,R8
05F4 90A6 std z+40,R9
05F6 .dbline 250
05F6 ; if(di<0)
05F6 40E0 ldi R20,0
05F8 50E0 ldi R21,0
05FA 60E0 ldi R22,0
05FC 70E0 ldi R23,0
05FE FE01 movw R30,R28
0600 2380 ldd R2,z+3
0602 3480 ldd R3,z+4
0604 4580 ldd R4,z+5
0606 5680 ldd R5,z+6
0608 2416 cp R2,R20
060A 3506 cpc R3,R21
060C 4606 cpc R4,R22
060E 5706 cpc R5,R23
0610 A4F4 brge L53
0612 .dbline 251
0612 ; {
0612 .dbline 252
0612 ; di += dx_x2;
0612 FE01 movw R30,R28
0614 2780 ldd R2,z+7
0616 3084 ldd R3,z+8
0618 4184 ldd R4,z+9
061A 5284 ldd R5,z+10
061C FE01 movw R30,R28
061E 6380 ldd R6,z+3
0620 7480 ldd R7,z+4
0622 8580 ldd R8,z+5
0624 9680 ldd R9,z+6
0626 620C add R6,R2
0628 731C adc R7,R3
062A 841C adc R8,R4
062C 951C adc R9,R5
062E FE01 movw R30,R28
0630 6382 std z+3,R6
0632 7482 std z+4,R7
0634 8582 std z+5,R8
0636 9682 std z+6,R9
0638 .dbline 253
0638 ; }
0638 34C0 xjmp L54
063A L53:
063A .dbline 255
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -