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

📄 font5_7.txt

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

                          ARM

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

                  GUI_PutChar PROC
;;;1079   uint8  GUI_PutChar(uint32 x, uint32 y, uint8 ch)
;;;1080   {  uint8   font_dat;
000000  e92d47f0          PUSH     {r4-r10,lr}
000004  e1a04000          MOV      r4,r0
000008  e1a05001          MOV      r5,r1
00000c  e1a06002          MOV      r6,r2
;;;1081      uint8   i, j;
;;;1082      TCOLOR  bakc;
;;;1083   
;;;1084      /* 参数过滤 */
;;;1085      if( x>(GUI_LCM_XMAX-8) ) return(0);
000010  e354004c          CMP      r4,#0x4c
000014  9a000002          BLS      |L1.36|
000018  e3a00000          MOV      r0,#0
                  |L1.28|
00001c  e8bd47f0          POP      {r4-r10,lr}
;;;1086      if( y>(GUI_LCM_YMAX-8) ) return(0);
;;;1087      if( (ch<0x20) || (ch>0x7f) ) ch = 0x20;
;;;1088      
;;;1089      ch -= 0x20; 
;;;1090      for(i=0; i<8; i++)
;;;1091      {  /* 读取点阵数据 */
;;;1092         font_dat = FONT5x7ASCII[ch][i];
;;;1093         
;;;1094         for(j=0; j<6; j++)
;;;1095         {  /* 设置相应的点为color或为back_color */
;;;1096            if( (font_dat&DCB2HEX_TAB[j])==0 ) GUI_CopyColor(&bakc, back_color);
;;;1097               else  GUI_CopyColor(&bakc, disp_color);
;;;1098            GUI_Point(x, y, bakc);       
;;;1099            x++;
;;;1100         }
;;;1101         
;;;1102         y++;									// 指向下一行
;;;1103         x -= 6;								// 恢复x值
;;;1104      }
;;;1105      
;;;1106      return(1);
;;;1107   }
000020  e12fff1e          BX       lr
                  |L1.36|
000024  e3550028          CMP      r5,#0x28              ;1086
000028  9a000001          BLS      |L1.52|               ;1086
00002c  e3a00000          MOV      r0,#0                 ;1086
000030  eafffff9          B        |L1.28|               ;1086
                  |L1.52|
000034  e3560020          CMP      r6,#0x20              ;1087
000038  ba000001          BLT      |L1.68|               ;1087
00003c  e356007f          CMP      r6,#0x7f              ;1087
000040  da000000          BLE      |L1.72|               ;1087
                  |L1.68|
000044  e3a06020          MOV      r6,#0x20              ;1087
                  |L1.72|
000048  e2460020          SUB      r0,r6,#0x20           ;1089
00004c  e20060ff          AND      r6,r0,#0xff           ;1089
000050  e3a08000          MOV      r8,#0                 ;1090
000054  ea00001c          B        |L1.204|              ;1090
                  |L1.88|
000058  e59f0140          LDR      r0,|L1.416|           ;1092
00005c  e0800186          ADD      r0,r0,r6,LSL #3       ;1092
000060  e7d07008          LDRB     r7,[r0,r8]            ;1092
000064  e3a09000          MOV      r9,#0                 ;1094
000068  ea000011          B        |L1.180|              ;1094
                  |L1.108|
00006c  e59f0130          LDR      r0,|L1.420|           ;1096
000070  e7d00009          LDRB     r0,[r0,r9]            ;1096
000074  e1100007          TST      r0,r7                 ;1096
000078  1a000003          BNE      |L1.140|              ;1096
00007c  e59f0124          LDR      r0,|L1.424|           ;1096
000080  e5d00000          LDRB     r0,[r0,#0]            ;1096  ; back_color
000084  e200a001          AND      r10,r0,#1             ;1096
000088  ea000002          B        |L1.152|              ;1096
                  |L1.140|
00008c  e59f0118          LDR      r0,|L1.428|           ;1097
000090  e5d00000          LDRB     r0,[r0,#0]            ;1097  ; disp_color
000094  e200a001          AND      r10,r0,#1             ;1097
                  |L1.152|
000098  e20510ff          AND      r1,r5,#0xff           ;1098
00009c  e20400ff          AND      r0,r4,#0xff           ;1098
0000a0  e1a0200a          MOV      r2,r10                ;1098
0000a4  ebfffffe          BL       GUI_Point             ;1098
0000a8  e2844001          ADD      r4,r4,#1              ;1099
0000ac  e2890001          ADD      r0,r9,#1              ;1094
0000b0  e20090ff          AND      r9,r0,#0xff           ;1094
                  |L1.180|
0000b4  e3590006          CMP      r9,#6                 ;1094
0000b8  baffffeb          BLT      |L1.108|              ;1094
0000bc  e2855001          ADD      r5,r5,#1              ;1102
0000c0  e2444006          SUB      r4,r4,#6              ;1103
0000c4  e2880001          ADD      r0,r8,#1              ;1090
0000c8  e20080ff          AND      r8,r0,#0xff           ;1090
                  |L1.204|
0000cc  e3580008          CMP      r8,#8                 ;1090
0000d0  baffffe0          BLT      |L1.88|               ;1090
0000d4  e3a00001          MOV      r0,#1                 ;1106
0000d8  eaffffcf          B        |L1.28|               ;1106
                          ENDP

                  GUI_PutString PROC
;;;1120   void  GUI_PutString(uint32 x, uint32 y, char *str)
;;;1121   {  while(1)
0000dc  e92d4070          PUSH     {r4-r6,lr}
0000e0  e1a04000          MOV      r4,r0
0000e4  e1a06001          MOV      r6,r1
0000e8  e1a05002          MOV      r5,r2
0000ec  ea00000b          B        |L1.288|
;;;1122      {  if( (*str)=='\0' ) break;
                  |L1.240|
0000f0  e5d50000          LDRB     r0,[r5,#0]
0000f4  e3500000          CMP      r0,#0
0000f8  1a000000          BNE      |L1.256|
0000fc  ea000008          B        |L1.292|
;;;1123         if( GUI_PutChar(x, y, *str++)==0 ) break;
                  |L1.256|
000100  e4d52001          LDRB     r2,[r5],#1
000104  e1a01006          MOV      r1,r6
000108  e1a00004          MOV      r0,r4
00010c  ebfffffe          BL       GUI_PutChar
000110  e3500000          CMP      r0,#0
000114  1a000000          BNE      |L1.284|
000118  ea000001          B        |L1.292|
;;;1124         x += 6;								// 下一个字符显示位置,y不变(即不换行)
                  |L1.284|
00011c  e2844006          ADD      r4,r4,#6
                  |L1.288|
000120  eafffff2          B        |L1.240|              ;1121
                  |L1.292|
000124  e1a00000          MOV      r0,r0                 ;1122
;;;1125      }
;;;1126   }
000128  e8bd4070          POP      {r4-r6,lr}
00012c  e12fff1e          BX       lr
                          ENDP

                  GUI_PutNoStr PROC
;;;1139   void  GUI_PutNoStr(uint32 x, uint32 y, char *str, uint8 no)
;;;1140   {  if(no==0) return;
000130  e92d41f0          PUSH     {r4-r8,lr}
000134  e1a04000          MOV      r4,r0
000138  e1a06001          MOV      r6,r1
00013c  e1a05002          MOV      r5,r2
000140  e1a07003          MOV      r7,r3
000144  e3570000          CMP      r7,#0
000148  1a000001          BNE      |L1.340|
;;;1141      for(; no>0; no--)
;;;1142      {  if( (*str)=='\0' ) break;
;;;1143         if( GUI_PutChar(x, y, *str++)==0 ) break;
;;;1144         x += 6;								// 下一个字符显示位置,y不变(即不换行)
;;;1145      }
;;;1146   }
                  |L1.332|
00014c  e8bd41f0          POP      {r4-r8,lr}
000150  e12fff1e          BX       lr
                  |L1.340|
000154  ea00000d          B        |L1.400|              ;1141
                  |L1.344|
000158  e5d50000          LDRB     r0,[r5,#0]            ;1142
00015c  e3500000          CMP      r0,#0                 ;1142
000160  1a000000          BNE      |L1.360|              ;1142
000164  ea00000b          B        |L1.408|              ;1142
                  |L1.360|
000168  e4d52001          LDRB     r2,[r5],#1            ;1143
00016c  e1a01006          MOV      r1,r6                 ;1143
000170  e1a00004          MOV      r0,r4                 ;1143
000174  ebfffffe          BL       GUI_PutChar           ;1143
000178  e3500000          CMP      r0,#0                 ;1143
00017c  1a000000          BNE      |L1.388|              ;1143
000180  ea000004          B        |L1.408|              ;1143
                  |L1.388|
000184  e2844006          ADD      r4,r4,#6              ;1144
000188  e2470001          SUB      r0,r7,#1              ;1141
00018c  e20070ff          AND      r7,r0,#0xff           ;1141
                  |L1.400|
000190  e3570000          CMP      r7,#0                 ;1141
000194  caffffef          BGT      |L1.344|              ;1141
                  |L1.408|
000198  e1a00000          MOV      r0,r0                 ;1142
00019c  eaffffea          B        |L1.332|
                  |L1.416|
0001a0  00000000          DCD      FONT5x7ASCII
                  |L1.420|
0001a4  00000000          DCD      DCB2HEX_TAB
                  |L1.424|
0001a8  00000000          DCD      back_color
                  |L1.428|
0001ac  00000000          DCD      disp_color
                          ENDP



⌨️ 快捷键说明

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