⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1335.lis

📁 AVR单片机
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 02F2           L44:
 02F2                   .dbline 295
 02F2 A882              std y+0,R10
 02F4 9601              movw R18,R12
 02F6 8A01              movw R16,R20
 02F8 83DF              xcall _lcd_pixel
 02FA           L45:
 02FA                   .dbline 295
 02FA 4F5F              subi R20,255  ; offset = 1
 02FC 5F4F              sbci R21,255
 02FE           L47:
 02FE                   .dbline 295
 02FE E416              cp R14,R20
 0300 F506              cpc R15,R21
 0302 BCF7              brge L44
 0304           X9:
 0304                   .dbline 296
 0304           ;   for (i=y1; i<=y2; i++) lcd_pixel(x1,i,show);
 0304 4B85              ldd R20,y+11
 0306 5C85              ldd R21,y+12
 0308 06C0              xjmp L51
 030A           L48:
 030A                   .dbline 296
 030A A882              std y+0,R10
 030C 9A01              movw R18,R20
 030E 8B01              movw R16,R22
 0310 77DF              xcall _lcd_pixel
 0312           L49:
 0312                   .dbline 296
 0312 4F5F              subi R20,255  ; offset = 1
 0314 5F4F              sbci R21,255
 0316           L51:
 0316                   .dbline 296
 0316 C416              cp R12,R20
 0318 D506              cpc R13,R21
 031A BCF7              brge L48
 031C           X10:
 031C                   .dbline 297
 031C           ;   for (i=y1; i<=y2; i++) lcd_pixel(x2,i,show);
 031C 4B85              ldd R20,y+11
 031E 5C85              ldd R21,y+12
 0320 06C0              xjmp L55
 0322           L52:
 0322                   .dbline 297
 0322 A882              std y+0,R10
 0324 9A01              movw R18,R20
 0326 8701              movw R16,R14
 0328 6BDF              xcall _lcd_pixel
 032A           L53:
 032A                   .dbline 297
 032A 4F5F              subi R20,255  ; offset = 1
 032C 5F4F              sbci R21,255
 032E           L55:
 032E                   .dbline 297
 032E C416              cp R12,R20
 0330 D506              cpc R13,R21
 0332 BCF7              brge L52
 0334           X11:
 0334                   .dbline -2
 0334           L39:
 0334                   .dbline 0 ; func end
 0334 2196              adiw R28,1
 0336 0E940000          xcall pop_xgsetF0FC
 033A 2296              adiw R28,2
 033C 0895              ret
 033E                   .dbsym r i 20 I
 033E                   .dbsym r show 10 c
 033E                   .dbsym r y2 12 I
 033E                   .dbsym r x2 14 I
 033E                   .dbsym l y1 11 I
 033E                   .dbsym r x1 22 I
 033E                   .dbend
 033E                   .dbfunc e lcd_degree_line _lcd_degree_line fV
 033E           ;             ty -> R20,R21
 033E           ;             tx -> R14,R15
 033E           ;             fy -> R12,R13
 033E           ;             fx -> R10,R11
 033E           ;           show -> y+23
 033E           ;   outer_radius -> R22,R23
 033E           ;   inner_radius -> R12,R13
 033E           ;         degree -> R20,R21
 033E           ;              y -> y+15
 033E           ;              x -> R14,R15
                        .even
 033E           _lcd_degree_line::
 033E 3A93              st -y,r19
 0340 2A93              st -y,r18
 0342 0E940000          xcall push_xgsetF0FC
 0346 7801              movw R14,R16
 0348 2597              sbiw R28,5
 034A 4989              ldd R20,y+17
 034C 5A89              ldd R21,y+18
 034E CB88              ldd R12,y+19
 0350 DC88              ldd R13,y+20
 0352 6D89              ldd R22,y+21
 0354 7E89              ldd R23,y+22
 0356                   .dbline -1
 0356                   .dbline 306
 0356           ; }
 0356           ; 
 0356           ; 
 0356           ; /***********************************************************************
 0356           ; Draws a line from x,y at given degree from inner_radius to outer_radius.
 0356           ; Set show to 1 to draw pixel, set to 0 to hide pixel.
 0356           ; ***********************************************************************/
 0356           ; void lcd_degree_line(int x, int y, int degree, int inner_radius, int outer_radius, unsigned char show)
 0356           ; {
 0356                   .dbline 308
 0356           ;   int fx,fy,tx,ty;
 0356           ;   fx = x + fround(inner_radius * sin(degree * 3.14 / 180));
 0356 00E0              ldi R16,<L57
 0358 10E0              ldi R17,>L57
 035A 0E940000          xcall elpm32
 035E 1801              movw R2,R16
 0360 2901              movw R4,R18
 0362 8A01              movw R16,R20
 0364 0E940000          xcall int2fp
 0368 3A93              st -y,R19
 036A 2A93              st -y,R18
 036C 1A93              st -y,R17
 036E 0A93              st -y,R16
 0370 8101              movw R16,R2
 0372 9201              movw R18,R4
 0374 0E940000          xcall fpmule2
 0378 1801              movw R2,R16
 037A 2901              movw R4,R18
 037C 00E0              ldi R16,<L58
 037E 10E0              ldi R17,>L58
 0380 0E940000          xcall elpm32
 0384 3A93              st -y,R19
 0386 2A93              st -y,R18
 0388 1A93              st -y,R17
 038A 0A93              st -y,R16
 038C 8101              movw R16,R2
 038E 9201              movw R18,R4
 0390 0E940000          xcall fpdiv2
 0394 0E940000          xcall _sinf
 0398 1801              movw R2,R16
 039A 2901              movw R4,R18
 039C 8601              movw R16,R12
 039E 0E940000          xcall int2fp
 03A2 5A92              st -y,R5
 03A4 4A92              st -y,R4
 03A6 3A92              st -y,R3
 03A8 2A92              st -y,R2
 03AA 0E940000          xcall fpmule2
 03AE 0E940000          xcall _froundf
 03B2 1801              movw R2,R16
 03B4 2901              movw R4,R18
 03B6 8701              movw R16,R14
 03B8 0E940000          xcall int2fp
 03BC 5A92              st -y,R5
 03BE 4A92              st -y,R4
 03C0 3A92              st -y,R3
 03C2 2A92              st -y,R2
 03C4 0E940000          xcall fpadd2
 03C8 0E940000          xcall fpint
 03CC 5801              movw R10,R16
 03CE                   .dbline 309
 03CE           ;   fy = y - fround(inner_radius * cos(degree * 3.14 / 180));
 03CE 00E0              ldi R16,<L57
 03D0 10E0              ldi R17,>L57
 03D2 0E940000          xcall elpm32
 03D6 1801              movw R2,R16
 03D8 2901              movw R4,R18
 03DA 8A01              movw R16,R20
 03DC 0E940000          xcall int2fp
 03E0 3A93              st -y,R19
 03E2 2A93              st -y,R18
 03E4 1A93              st -y,R17
 03E6 0A93              st -y,R16
 03E8 8101              movw R16,R2
 03EA 9201              movw R18,R4
 03EC 0E940000          xcall fpmule2
 03F0 1801              movw R2,R16
 03F2 2901              movw R4,R18
 03F4 00E0              ldi R16,<L58
 03F6 10E0              ldi R17,>L58
 03F8 0E940000          xcall elpm32
 03FC 3A93              st -y,R19
 03FE 2A93              st -y,R18
 0400 1A93              st -y,R17
 0402 0A93              st -y,R16
 0404 8101              movw R16,R2
 0406 9201              movw R18,R4
 0408 0E940000          xcall fpdiv2
 040C 0E940000          xcall _cosf
 0410 1801              movw R2,R16
 0412 2901              movw R4,R18
 0414 8601              movw R16,R12
 0416 0E940000          xcall int2fp
 041A 5A92              st -y,R5
 041C 4A92              st -y,R4
 041E 3A92              st -y,R3
 0420 2A92              st -y,R2
 0422 0E940000          xcall fpmule2
 0426 0E940000          xcall _froundf
 042A 1801              movw R2,R16
 042C 2901              movw R4,R18
 042E 0F85              ldd R16,y+15
 0430 1889              ldd R17,y+16
 0432 0E940000          xcall int2fp
 0436 5A92              st -y,R5
 0438 4A92              st -y,R4
 043A 3A92              st -y,R3
 043C 2A92              st -y,R2
 043E 0E940000          xcall fpsub2
 0442 0E940000          xcall fpint
 0446 6801              movw R12,R16
 0448                   .dbline 310
 0448           ;   tx = x + fround(outer_radius * sin(degree * 3.14 / 180));
 0448 00E0              ldi R16,<L57
 044A 10E0              ldi R17,>L57
 044C 0E940000          xcall elpm32
 0450 1801              movw R2,R16
 0452 2901              movw R4,R18
 0454 8A01              movw R16,R20
 0456 0E940000          xcall int2fp
 045A 3A93              st -y,R19
 045C 2A93              st -y,R18
 045E 1A93              st -y,R17
 0460 0A93              st -y,R16
 0462 8101              movw R16,R2
 0464 9201              movw R18,R4
 0466 0E940000          xcall fpmule2
 046A 1801              movw R2,R16
 046C 2901              movw R4,R18
 046E 00E0              ldi R16,<L58
 0470 10E0              ldi R17,>L58
 0472 0E940000          xcall elpm32
 0476 3A93              st -y,R19
 0478 2A93              st -y,R18
 047A 1A93              st -y,R17
 047C 0A93              st -y,R16
 047E 8101              movw R16,R2
 0480 9201              movw R18,R4
 0482 0E940000          xcall fpdiv2
 0486 0E940000          xcall _sinf
 048A 1801              movw R2,R16
 048C 2901              movw R4,R18
 048E 8B01              movw R16,R22
 0490 0E940000          xcall int2fp
 0494 5A92              st -y,R5
 0496 4A92              st -y,R4
 0498 3A92              st -y,R3
 049A 2A92              st -y,R2
 049C 0E940000          xcall fpmule2
 04A0 0E940000          xcall _froundf
 04A4 1801              movw R2,R16
 04A6 2901              movw R4,R18
 04A8 8701              movw R16,R14
 04AA 0E940000          xcall int2fp
 04AE 5A92              st -y,R5
 04B0 4A92              st -y,R4
 04B2 3A92              st -y,R3
 04B4 2A92              st -y,R2
 04B6 0E940000          xcall fpadd2
 04BA 0E940000          xcall fpint
 04BE 7801              movw R14,R16
 04C0                   .dbline 311
 04C0           ;   ty = y - fround(outer_radius * cos(degree * 3.14 / 180));
 04C0 00E0              ldi R16,<L57
 04C2 10E0              ldi R17,>L57
 04C4 0E940000          xcall elpm32
 04C8 1801              movw R2,R16
 04CA 2901              movw R4,R18
 04CC 8A01              movw R16,R20
 04CE 0E940000          xcall int2fp
 04D2 3A93              st -y,R19
 04D4 2A93              st -y,R18
 04D6 1A93              st -y,R17
 04D8 0A93              st -y,R16
 04DA 8101              movw R16,R2
 04DC 9201              movw R18,R4
 04DE 0E940000          xcall fpmule2
 04E2 1801              movw R2,R16
 04E4 2901              movw R4,R18
 04E6 00E0              ldi R16,<L58
 04E8 10E0              ldi R17,>L58
 04EA 0E940000          xcall elpm32
 04EE 3A93              st -y,R19
 04F0 2A93              st -y,R18
 04F2 1A93              st -y,R17
 04F4 0A93              st -y,R16
 04F6 8101              movw R16,R2
 04F8 9201              movw R18,R4
 04FA 0E940000          xcall fpdiv2
 04FE 0E940000          xcall _cosf
 0502 1801              movw R2,R16
 0504 2901              movw R4,R18
 0506 8B01              movw R16,R22
 0508 0E940000          xcall int2fp
 050C 5A92              st -y,R5
 050E 4A92              st -y,R4
 0510 3A92              st -y,R3
 0512 2A92              st -y,R2
 0514 0E940000          xcall fpmule2
 0518 0E940000          xcall _froundf
 051C 1801              movw R2,R16
 051E 2901              movw R4,R18
 0520 0F85              ldd R16,y+15
 0522 1889              ldd R17,y+16
 0524 0E940000          xcall int2fp
 0528 5A92              st -y,R5
 052A 4A92              st -y,R4
 052C 3A92              st -y,R3
 052E 2A92              st -y,R2
 0530 0E940000          xcall fpsub2
 0534 0E940000          xcall fpint
 0538 A801              movw R20,R16
 053A                   .dbline 312
 053A           ;   lcd_line(fx,fy,tx,ty,show);
 053A 0F88              ldd R0,y+23
 053C 0C82              std y+4,R0
 053E 5B83              std y+3,R21
 0540 4A83              std y+2,R20
 0542 F982              std y+1,R15
 0544 E882              std y+0,R14
 0546 9601              movw R18,R12
 0548 8501              movw R16,R10
 054A 93D0              xcall _lcd_line
 054C                   .dbline -2
 054C           L56:
 054C                   .dbline 0 ; func end
 054C 2596              adiw R28,5
 054E 0E940000          xcall pop_xgsetF0FC
 0552 2296              adiw R28,2
 0554 0895              ret
 0556                   .dbsym r ty 20 I

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -