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

📄 windows.txt

📁 一个电力系统谐波检测的程序
💻 TXT
📖 第 1 页 / 共 2 页
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.0 [Build 951] for uVision
; commandline ArmCC [--debug -c --asm --interleave -owindows.o --device=DARMP --apcs=interwork -O0 -IC:\Keil\ARM\INC\Philips GUI\windows.c]

                          ARM

                          AREA ||.text.7||, CODE, READONLY, ALIGN=2

                  GUI_WindowsDraw PROC
;;;20     uint8  GUI_WindowsDraw(WINDOWS *win)
;;;21     {  uint8  *str;
000000  e92d43f8          PUSH     {r3-r9,lr}
000004  e1a04000          MOV      r4,r0
;;;22        int32  bak, bak1, bak2;
;;;23        
;;;24        /* 参数过滤,若窗口起出范围,则返回0 */
;;;25        if( ( (win->with)<20 ) || ( (win->hight)<20 ) ) return(0);		// 宽度、高度检查,限制最小窗口
000008  e5940008          LDR      r0,[r4,#8]
00000c  e3500014          CMP      r0,#0x14
000010  3a000002          BCC      |L1.32|
000014  e594000c          LDR      r0,[r4,#0xc]
000018  e3500014          CMP      r0,#0x14
00001c  2a000002          BCS      |L1.44|
                  |L1.32|
000020  e3a00000          MOV      r0,#0
                  |L1.36|
000024  e8bd43f8          POP      {r3-r9,lr}
;;;26        if( (win->x + win->with ) > GUI_LCM_XMAX ) return(0);			// 窗口宽度是否溢出
;;;27        if( (win->y + win->hight ) > GUI_LCM_YMAX ) return(0);			// 窗口高度是否溢出
;;;28         
;;;29        /* 开始画窗口 */
;;;30        GUI_RectangleFill(win->x, win->y, win->x + win->with - 1, win->y + win->hight - 1, back_color);
;;;31        GUI_Rectangle(win->x, win->y, win->x + win->with - 1, win->y + win->hight - 1, disp_color);	// 画窗口
;;;32        GUI_HLine(win->x, win->y + 12, win->x + win->with - 1, disp_color);							// 画标题目栏
;;;33        GUI_RLine(win->x + 12, win->y, win->y + 12, disp_color);										// 画关闭窗号按钮
;;;34        GUI_Line(win->x, win->y, win->x + 12, win->y + 12, disp_color);
;;;35        GUI_Line(win->x + 12, win->y, win->x, win->y + 12, disp_color);
;;;36        
;;;37     
;;;38        /* 写标题 */
;;;39        if( win->title != NULL ) 
;;;40        {  str = win->title;
;;;41           bak = win->x + 15;
;;;42           bak1 = win->y + 3;
;;;43           bak2 = win->x + win->with -1;
;;;44          
;;;45           while(1)						
;;;46           {  if( (bak+8) > bak2 ) break;								// 判断标题是否溢出
;;;47              if(*str=='\0') break;										// 判断字符串是否结束
;;;48              
;;;49              GUI_PutChar(bak, bak1, *str++);							// 显示标题
;;;50              bak += 6;
;;;51           }
;;;52        }
;;;53     
;;;54     
;;;55        /* 写状态栏 */
;;;56        if( win->state != NULL )
;;;57        {  if( win->hight < 60) return(0);								// 判断是否可以画状态栏
;;;58           /* 画状态栏 */
;;;59           GUI_HLine(win->x, win->y + win->hight - 11, win->x + win->with - 1, disp_color);
;;;60           
;;;61           str = win->state;
;;;62           bak = win->x + 3;
;;;63           bak1 = win->y + win->hight - 9;
;;;64           bak2 = win->x + win->with -1;
;;;65           
;;;66           while(1)						
;;;67           {  if( (bak+8) > bak2 ) break;								// 判断标题是否溢出
;;;68              if(*str=='\0') break;										// 判断字符串是否结束
;;;69              
;;;70              GUI_PutChar(bak, bak1, *str++);							// 显示标题
;;;71              bak += 6;
;;;72           }      
;;;73        }
;;;74        
;;;75        return(1);
;;;76     
;;;77     }
000028  e12fff1e          BX       lr
                  |L1.44|
00002c  e5940000          LDR      r0,[r4,#0]            ;26
000030  e5941008          LDR      r1,[r4,#8]            ;26
000034  e0800001          ADD      r0,r0,r1              ;26
000038  e3500054          CMP      r0,#0x54              ;26
00003c  9a000001          BLS      |L1.72|               ;26
000040  e3a00000          MOV      r0,#0                 ;26
000044  eafffff6          B        |L1.36|               ;26
                  |L1.72|
000048  e5940004          LDR      r0,[r4,#4]            ;27
00004c  e594100c          LDR      r1,[r4,#0xc]          ;27
000050  e0800001          ADD      r0,r0,r1              ;27
000054  e3500030          CMP      r0,#0x30              ;27
000058  9a000001          BLS      |L1.100|              ;27
00005c  e3a00000          MOV      r0,#0                 ;27
000060  eaffffef          B        |L1.36|               ;27
                  |L1.100|
000064  e59f0388          LDR      r0,|L1.1012|          ;30
000068  e5d03000          LDRB     r3,[r0,#0]            ;30  ; back_color
00006c  e58d3000          STR      r3,[sp,#0]            ;30
000070  e594c004          LDR      r12,[r4,#4]           ;30
000074  e594e00c          LDR      lr,[r4,#0xc]          ;30
000078  e08cc00e          ADD      r12,r12,lr            ;30
00007c  e24c3001          SUB      r3,r12,#1             ;30
000080  e594c000          LDR      r12,[r4,#0]           ;30
000084  e594e008          LDR      lr,[r4,#8]            ;30
000088  e08cc00e          ADD      r12,r12,lr            ;30
00008c  e24c2001          SUB      r2,r12,#1             ;30
000090  e8940003          LDM      r4,{r0,r1}            ;30
000094  ebfffffe          BL       GUI_RectangleFill     ;30
000098  e59f0358          LDR      r0,|L1.1016|          ;31
00009c  e5d03000          LDRB     r3,[r0,#0]            ;31  ; disp_color
0000a0  e58d3000          STR      r3,[sp,#0]            ;31
0000a4  e594c004          LDR      r12,[r4,#4]           ;31
0000a8  e594e00c          LDR      lr,[r4,#0xc]          ;31
0000ac  e08cc00e          ADD      r12,r12,lr            ;31
0000b0  e24c3001          SUB      r3,r12,#1             ;31
0000b4  e594c000          LDR      r12,[r4,#0]           ;31
0000b8  e594e008          LDR      lr,[r4,#8]            ;31
0000bc  e08cc00e          ADD      r12,r12,lr            ;31
0000c0  e24c2001          SUB      r2,r12,#1             ;31
0000c4  e8940003          LDM      r4,{r0,r1}            ;31
0000c8  ebfffffe          BL       GUI_Rectangle         ;31
0000cc  e5943000          LDR      r3,[r4,#0]            ;32
0000d0  e594c008          LDR      r12,[r4,#8]           ;32
0000d4  e083300c          ADD      r3,r3,r12             ;32
0000d8  e2433001          SUB      r3,r3,#1              ;32
0000dc  e20320ff          AND      r2,r3,#0xff           ;32
0000e0  e5943004          LDR      r3,[r4,#4]            ;32
0000e4  e283300c          ADD      r3,r3,#0xc            ;32
0000e8  e20310ff          AND      r1,r3,#0xff           ;32
0000ec  e5943000          LDR      r3,[r4,#0]            ;32
0000f0  e20300ff          AND      r0,r3,#0xff           ;32
0000f4  e59f32fc          LDR      r3,|L1.1016|          ;32
0000f8  e5d33000          LDRB     r3,[r3,#0]            ;32  ; disp_color
0000fc  ebfffffe          BL       GUI_HLine             ;32
000100  e5943004          LDR      r3,[r4,#4]            ;33
000104  e283300c          ADD      r3,r3,#0xc            ;33
000108  e20320ff          AND      r2,r3,#0xff           ;33
00010c  e5943004          LDR      r3,[r4,#4]            ;33
000110  e20310ff          AND      r1,r3,#0xff           ;33
000114  e5943000          LDR      r3,[r4,#0]            ;33
000118  e283300c          ADD      r3,r3,#0xc            ;33
00011c  e20300ff          AND      r0,r3,#0xff           ;33
000120  e59f32d0          LDR      r3,|L1.1016|          ;33
000124  e5d33000          LDRB     r3,[r3,#0]            ;33  ; disp_color
000128  ebfffffe          BL       GUI_RLine             ;33
00012c  e59f02c4          LDR      r0,|L1.1016|          ;34
000130  e5d03000          LDRB     r3,[r0,#0]            ;34  ; disp_color
000134  e58d3000          STR      r3,[sp,#0]            ;34
000138  e594c004          LDR      r12,[r4,#4]           ;34
00013c  e28c300c          ADD      r3,r12,#0xc           ;34
000140  e594c000          LDR      r12,[r4,#0]           ;34
000144  e28c200c          ADD      r2,r12,#0xc           ;34
000148  e1a0000c          MOV      r0,r12                ;34
00014c  e5941004          LDR      r1,[r4,#4]            ;34
000150  ebfffffe          BL       GUI_Line              ;34
000154  e59f029c          LDR      r0,|L1.1016|          ;35
000158  e5d03000          LDRB     r3,[r0,#0]            ;35  ; disp_color
00015c  e58d3000          STR      r3,[sp,#0]            ;35
000160  e594c004          LDR      r12,[r4,#4]           ;35
000164  e28c300c          ADD      r3,r12,#0xc           ;35
000168  e1a0100c          MOV      r1,r12                ;35
00016c  e5942000          LDR      r2,[r4,#0]            ;35
000170  e282000c          ADD      r0,r2,#0xc            ;35
000174  ebfffffe          BL       GUI_Line              ;35
000178  e5940010          LDR      r0,[r4,#0x10]         ;39
00017c  e3500000          CMP      r0,#0                 ;39
000180  0a000018          BEQ      |L1.488|              ;39
000184  e5945010          LDR      r5,[r4,#0x10]         ;40
000188  e5940000          LDR      r0,[r4,#0]            ;41
00018c  e280600f          ADD      r6,r0,#0xf            ;41
000190  e5940004          LDR      r0,[r4,#4]            ;42
000194  e2807003          ADD      r7,r0,#3              ;42
000198  e5940000          LDR      r0,[r4,#0]            ;43
00019c  e5941008          LDR      r1,[r4,#8]            ;43
0001a0  e0800001          ADD      r0,r0,r1              ;43
0001a4  e2408001          SUB      r8,r0,#1              ;43
0001a8  ea00000c          B        |L1.480|              ;45
                  |L1.428|
0001ac  e2860008          ADD      r0,r6,#8              ;46
0001b0  e1500008          CMP      r0,r8                 ;46
0001b4  da000000          BLE      |L1.444|              ;46
0001b8  ea000009          B        |L1.484|              ;46
                  |L1.444|
0001bc  e5d50000          LDRB     r0,[r5,#0]            ;47
0001c0  e3500000          CMP      r0,#0                 ;47
0001c4  1a000000          BNE      |L1.460|              ;47
0001c8  ea000005          B        |L1.484|              ;47
                  |L1.460|
0001cc  e4d52001          LDRB     r2,[r5],#1            ;49
0001d0  e1a01007          MOV      r1,r7                 ;49
0001d4  e1a00006          MOV      r0,r6                 ;49
0001d8  ebfffffe          BL       GUI_PutChar           ;49

⌨️ 快捷键说明

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