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

📄 loadbit.txt

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

                          ARM

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

                  GUI_LoadLine PROC
;;;21     uint8  GUI_LoadLine(uint32 x, uint32 y, uint8 *dat, uint32 no)
;;;22     {  uint8   bit_dat;
000000  e92d47f0          PUSH     {r4-r10,lr}
000004  e1a04000          MOV      r4,r0
000008  e1a05001          MOV      r5,r1
00000c  e1a06002          MOV      r6,r2
000010  e1a07003          MOV      r7,r3
;;;23        uint8   i;
;;;24        TCOLOR  bakc;
;;;25     
;;;26        /* 参数过滤 */
;;;27        if(x>=GUI_LCM_XMAX) return(0);
000014  e3540054          CMP      r4,#0x54
000018  3a000002          BCC      |L1.40|
00001c  e3a00000          MOV      r0,#0
                  |L1.32|
000020  e8bd47f0          POP      {r4-r10,lr}
;;;28        if(y>=GUI_LCM_YMAX) return(0);
;;;29        
;;;30        for(i=0; i<no; i++)
;;;31        {  /* 判断是否要读取点阵数据 */
;;;32           if( (i%8)==0 ) bit_dat = *dat++;
;;;33          
;;;34           /* 设置相应的点为color或为back_color */
;;;35           if( (bit_dat&DCB2HEX_TAB[i&0x07])==0 ) GUI_CopyColor(&bakc, back_color); 
;;;36              else  GUI_CopyColor(&bakc, disp_color);
;;;37           GUI_Point(x, y, bakc);       
;;;38          
;;;39           if( (++x)>=GUI_LCM_XMAX ) return(0);
;;;40        }
;;;41        
;;;42        return(1);
;;;43     }
000024  e12fff1e          BX       lr
                  |L1.40|
000028  e3550030          CMP      r5,#0x30              ;28
00002c  3a000001          BCC      |L1.56|               ;28
000030  e3a00000          MOV      r0,#0                 ;28
000034  eafffff9          B        |L1.32|               ;28
                  |L1.56|
000038  e3a09000          MOV      r9,#0                 ;30
00003c  ea00001d          B        |L1.184|              ;30
                  |L1.64|
000040  e1a01fc9          ASR      r1,r9,#31             ;32
000044  e0891ea1          ADD      r1,r9,r1,LSR #29      ;32
000048  e1a011c1          ASR      r1,r1,#3              ;32
00004c  e0591181          SUBS     r1,r9,r1,LSL #3       ;32
000050  1a000000          BNE      |L1.88|               ;32
000054  e4d68001          LDRB     r8,[r6],#1            ;32
                  |L1.88|
000058  e2090007          AND      r0,r9,#7              ;35
00005c  e59f1124          LDR      r1,|L1.392|           ;35
000060  e7d10000          LDRB     r0,[r1,r0]            ;35
000064  e1100008          TST      r0,r8                 ;35
000068  1a000003          BNE      |L1.124|              ;35
00006c  e59f0118          LDR      r0,|L1.396|           ;35
000070  e5d00000          LDRB     r0,[r0,#0]            ;35  ; back_color
000074  e200a001          AND      r10,r0,#1             ;35
000078  ea000002          B        |L1.136|              ;35
                  |L1.124|
00007c  e59f010c          LDR      r0,|L1.400|           ;36
000080  e5d00000          LDRB     r0,[r0,#0]            ;36  ; disp_color
000084  e200a001          AND      r10,r0,#1             ;36
                  |L1.136|
000088  e20510ff          AND      r1,r5,#0xff           ;37
00008c  e20400ff          AND      r0,r4,#0xff           ;37
000090  e1a0200a          MOV      r2,r10                ;37
000094  ebfffffe          BL       GUI_Point             ;37
000098  e2840001          ADD      r0,r4,#1              ;39
00009c  e1a04000          MOV      r4,r0                 ;39
0000a0  e3500054          CMP      r0,#0x54              ;39
0000a4  3a000001          BCC      |L1.176|              ;39
0000a8  e3a00000          MOV      r0,#0                 ;39
0000ac  eaffffdb          B        |L1.32|               ;39
                  |L1.176|
0000b0  e2890001          ADD      r0,r9,#1              ;30
0000b4  e20090ff          AND      r9,r0,#0xff           ;30
                  |L1.184|
0000b8  e1590007          CMP      r9,r7                 ;30
0000bc  3affffdf          BCC      |L1.64|               ;30
0000c0  e3a00001          MOV      r0,#1                 ;42
0000c4  eaffffd5          B        |L1.32|               ;42
                          ENDP

                  GUI_LoadPic PROC
;;;59     void  GUI_LoadPic(uint32 x, uint32 y, uint8 *dat, uint32 hno, uint32 lno)
;;;60     {  uint32  i;
0000c8  e92d47f0          PUSH     {r4-r10,lr}
0000cc  e1a04000          MOV      r4,r0
0000d0  e1a05001          MOV      r5,r1
0000d4  e1a06002          MOV      r6,r2
0000d8  e1a07003          MOV      r7,r3
0000dc  e59d8020          LDR      r8,[sp,#0x20]
;;;61     
;;;62        for(i=0; i<lno; i++)
0000e0  e3a09000          MOV      r9,#0
0000e4  ea00000a          B        |L1.276|
;;;63        {  GUI_LoadLine(x, y, dat, hno);				// 输出一行数据
                  |L1.232|
0000e8  e1a03007          MOV      r3,r7
0000ec  e1a02006          MOV      r2,r6
0000f0  e1a01005          MOV      r1,r5
0000f4  e1a00004          MOV      r0,r4
0000f8  ebfffffe          BL       GUI_LoadLine
;;;64           y++;										// 显示下一行
0000fc  e2855001          ADD      r5,r5,#1
;;;65           dat += (hno>>3);							// 计算下一行的数据
000100  e08661a7          ADD      r6,r6,r7,LSR #3
;;;66           if( (hno&0x07)!=0 ) dat++;
000104  e3170007          TST      r7,#7
000108  0a000000          BEQ      |L1.272|
00010c  e2866001          ADD      r6,r6,#1
                  |L1.272|
000110  e2899001          ADD      r9,r9,#1              ;62
                  |L1.276|
000114  e1590008          CMP      r9,r8                 ;62
000118  3afffff2          BCC      |L1.232|              ;62
;;;67        }
;;;68     }
00011c  e8bd47f0          POP      {r4-r10,lr}
000120  e12fff1e          BX       lr
                          ENDP

                  GUI_LoadPic1 PROC
;;;84     void  GUI_LoadPic1(uint32 x, uint32 y, uint8 *dat, uint32 hno, uint32 lno)
;;;85     {  uint32  i;
000124  e92d47f0          PUSH     {r4-r10,lr}
000128  e1a04000          MOV      r4,r0
00012c  e1a05001          MOV      r5,r1
000130  e1a06002          MOV      r6,r2
000134  e1a07003          MOV      r7,r3
000138  e59d8020          LDR      r8,[sp,#0x20]
;;;86        
;;;87        GUI_ExchangeColor();									// 显示色与背景色交换
00013c  ebfffffe          BL       GUI_ExchangeColor
;;;88        for(i=0; i<lno; i++)
000140  e3a09000          MOV      r9,#0
000144  ea00000a          B        |L1.372|
;;;89        {  GUI_LoadLine(x, y, dat, hno);						// 输出一行数据
                  |L1.328|
000148  e1a03007          MOV      r3,r7
00014c  e1a02006          MOV      r2,r6
000150  e1a01005          MOV      r1,r5
000154  e1a00004          MOV      r0,r4
000158  ebfffffe          BL       GUI_LoadLine
;;;90           y++;												// 显示下一行
00015c  e2855001          ADD      r5,r5,#1
;;;91           dat += (hno>>3);									// 计算下一行的数据
000160  e08661a7          ADD      r6,r6,r7,LSR #3
;;;92           if( (hno&0x07)!=0 ) dat++;
000164  e3170007          TST      r7,#7
000168  0a000000          BEQ      |L1.368|
00016c  e2866001          ADD      r6,r6,#1
                  |L1.368|
000170  e2899001          ADD      r9,r9,#1              ;88
                  |L1.372|
000174  e1590008          CMP      r9,r8                 ;88
000178  3afffff2          BCC      |L1.328|              ;88
;;;93        }
;;;94        GUI_ExchangeColor();
00017c  ebfffffe          BL       GUI_ExchangeColor
;;;95        
;;;96     }
000180  e8bd47f0          POP      {r4-r10,lr}
000184  e12fff1e          BX       lr
                  |L1.392|
000188  00000000          DCD      DCB2HEX_TAB
                  |L1.396|
00018c  00000000          DCD      back_color
                  |L1.400|
000190  00000000          DCD      disp_color
                          ENDP


⌨️ 快捷键说明

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