📄 guipolyr.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 + -