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

📄 guipolyr.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\guipolyr.o --depend=.\Obj\guipolyr.d --device=DARMSTM --apcs=interwork -O3 -I..\..\include -I..\..\..\FWLib\library\inc -I..\..\..\USBLib\library\inc -I..\..\Config -I..\..\GUI\Core -I..\..\GUI\Font -I..\..\GUI\ConvertColor -I..\..\GUI\AntiAlias -I..\..\GUI\ConvertMono -I..\..\GUI\JPEG -I..\..\GUI\MemDev -I..\..\GUI\MultiLayer -I..\..\GUI\Widget -I..\..\GUI\WM -IC:\Keil\ARM\INC\ST\STM32F10x ..\..\GUI\Core\GUIPolyR.c]
                          THUMB

                          AREA ||i.GUI_RotatePolygon||, CODE, READONLY, ALIGN=1

                  GUI_RotatePolygon PROC
;;;32     */
;;;33     void GUI_RotatePolygon(GUI_POINT* pDest, const GUI_POINT* pSrc, int NumPoints, float Angle) {
000000  e92d4ff8          PUSH     {r3-r11,lr}
000004  4605              MOV      r5,r0
000006  460e              MOV      r6,r1
000008  4692              MOV      r10,r2
00000a  4618              MOV      r0,r3
;;;34       int j;
;;;35       float fcos = cos(Angle);
00000c  f7fffffe          BL       __aeabi_f2d
000010  460f              MOV      r7,r1
000012  4604              MOV      r4,r0
000014  f7fffffe          BL       ||cos||
000018  f7fffffe          BL       __aeabi_d2f
00001c  9000              STR      r0,[sp,#0]
00001e  4620              MOV      r0,r4
000020  4639              MOV      r1,r7
;;;36       float fsin = sin(Angle);
000022  f7fffffe          BL       ||sin||
000026  f7fffffe          BL       __aeabi_d2f
00002a  4683              MOV      r11,r0
;;;37       for (j=0; j<NumPoints; j++) {
00002c  2400              MOVS     r4,#0
00002e  e02d              B        |L1.140|
                  |L1.48|
;;;38         int x = (pSrc+j)->x;
;;;39         int y = (pSrc+j)->y;
000030  eb060084          ADD      r0,r6,r4,LSL #2
000034  f9367024          LDRSH    r7,[r6,r4,LSL #2]     ;38
000038  f9b00002          LDRSH    r0,[r0,#2]
;;;40         (pDest+j)->x =  x * fcos + y * fsin;
00003c  f7fffffe          BL       __aeabi_i2f
000040  4681              MOV      r9,r0
000042  4659              MOV      r1,r11
000044  f7fffffe          BL       __aeabi_fmul
000048  4680              MOV      r8,r0
00004a  4638              MOV      r0,r7
00004c  f7fffffe          BL       __aeabi_i2f
000050  9900              LDR      r1,[sp,#0]
000052  f7fffffe          BL       __aeabi_fmul
000056  4641              MOV      r1,r8
000058  f7fffffe          BL       __aeabi_fadd
00005c  f7fffffe          BL       __aeabi_f2iz
000060  f8250024          STRH     r0,[r5,r4,LSL #2]
;;;41         (pDest+j)->y = -x * fsin + y * fcos;
000064  4648              MOV      r0,r9
000066  9900              LDR      r1,[sp,#0]
000068  f7fffffe          BL       __aeabi_fmul
00006c  4680              MOV      r8,r0
00006e  4278              RSBS     r0,r7,#0
000070  f7fffffe          BL       __aeabi_i2f
000074  4659              MOV      r1,r11
000076  f7fffffe          BL       __aeabi_fmul
00007a  4641              MOV      r1,r8
00007c  f7fffffe          BL       __aeabi_fadd
000080  f7fffffe          BL       __aeabi_f2iz
000084  eb050184          ADD      r1,r5,r4,LSL #2
000088  8048              STRH     r0,[r1,#2]
00008a  1c64              ADDS     r4,r4,#1              ;37
                  |L1.140|
00008c  4554              CMP      r4,r10                ;37
00008e  dbcf              BLT      |L1.48|
;;;42       }
;;;43     }
000090  e8bd8ff8          POP      {r3-r11,pc}
;;;44     
                          ENDP

⌨️ 快捷键说明

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