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

📄 lcd_ascii.txt

📁 mp3量不要让站长把时间都花费在为您修正说明上。压缩包解压时不能有密码。系统会自动删除debug和release目录
💻 TXT
📖 第 1 页 / 共 4 页
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 934] for uVision
; commandline ArmCC [--debug -c --asm --interleave -olcd_ascii.o --depend=lcd_ascii.d --device=DARMP --apcs=interwork -O3 -IC:\Keil\ARM\INC\Philips --omf_browse=lcd_ascii.crf LCD_ASCII.c]
                          ARM

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

                  Dis_Ascii_12 PROC
;;;225    void Dis_Ascii_12(uint16 x,uint16 y,uint8 ch)
;;;226    {
000000  e92d5ff0          PUSH     {r4-r12,lr}
000004  e1a05001          MOV      r5,r1
;;;227    	uint8 i,j;
;;;228    	uint8 temp;
;;;229    	for(i=0;i<6;i++)
000008  e59f1390          LDR      r1,|L1.928|
00000c  e1a09000          MOV      r9,r0                 ;226
000010  e0820082          ADD      r0,r2,r2,LSL #1
000014  e3a06000          MOV      r6,#0
000018  e0817100          ADD      r7,r1,r0,LSL #2
00001c  e3a08001          MOV      r8,#1
                  |L1.32|
;;;230    	{
;;;231    		temp = CTAB_12[ch-0x20][i];
000020  e0870006          ADD      r0,r7,r6
000024  e550b180          LDRB     r11,[r0,#-0x180]
;;;232    		for(j=0;j<8;j++)
000028  e3a04000          MOV      r4,#0
00002c  e089a006          ADD      r10,r9,r6
                  |L1.48|
;;;233    		{
;;;234    			if(temp&(1<<j))OnePixel(x+i,y+j,1);
000030  e11b0418          TST      r11,r8,LSL r4
000034  e0850004          ADD      r0,r5,r4
000038  e20010ff          AND      r1,r0,#0xff
00003c  e20a00ff          AND      r0,r10,#0xff
;;;235    			else OnePixel(x+i,y+j,0);
000040  03a02000          MOVEQ    r2,#0
000044  13a02001          MOVNE    r2,#1                 ;234
000048  ebfffffe          BL       OnePixel
00004c  e2840001          ADD      r0,r4,#1              ;232
000050  e20040ff          AND      r4,r0,#0xff           ;232
000054  e3540008          CMP      r4,#8                 ;232
000058  3afffff4          BCC      |L1.48|
00005c  e2860001          ADD      r0,r6,#1              ;229
000060  e20060ff          AND      r6,r0,#0xff           ;229
000064  e3560006          CMP      r6,#6                 ;229
000068  3affffec          BCC      |L1.32|
;;;236    		}
;;;237    	}
;;;238    	for(i=0;i<6;i++)
00006c  e3a06000          MOV      r6,#0
                  |L1.112|
;;;239    	{
;;;240    		temp = CTAB_12[ch-0x20][i+6];
000070  e0870006          ADD      r0,r7,r6
000074  e550b17a          LDRB     r11,[r0,#-0x17a]
;;;241    		for(j=0;j<4;j++)
000078  e3a04000          MOV      r4,#0
00007c  e089a006          ADD      r10,r9,r6
                  |L1.128|
;;;242    		{
;;;243    			if(temp&(1<<j))OnePixel(x+i,y+j+8,1);
000080  e11b0418          TST      r11,r8,LSL r4
000084  e0850004          ADD      r0,r5,r4
000088  e2800008          ADD      r0,r0,#8
00008c  e20010ff          AND      r1,r0,#0xff
000090  e20a00ff          AND      r0,r10,#0xff
;;;244    			else OnePixel(x+i,y+j+8,0);
000094  03a02000          MOVEQ    r2,#0
000098  13a02001          MOVNE    r2,#1                 ;243
00009c  ebfffffe          BL       OnePixel
0000a0  e2840001          ADD      r0,r4,#1              ;241
0000a4  e20040ff          AND      r4,r0,#0xff           ;241
0000a8  e3540004          CMP      r4,#4                 ;241
0000ac  3afffff3          BCC      |L1.128|
0000b0  e2860001          ADD      r0,r6,#1              ;238
0000b4  e20060ff          AND      r6,r0,#0xff           ;238
0000b8  e3560006          CMP      r6,#6                 ;238
0000bc  3affffeb          BCC      |L1.112|
;;;245    		}
;;;246    	}
;;;247    }
0000c0  e8bd5ff0          POP      {r4-r12,lr}
0000c4  e12fff1e          BX       lr
;;;248    
                          ENDP

                  Dis_Ascii_12_fast PROC
;;;249    void Dis_Ascii_12_fast(uint16 x,uint16 y,uint8 ch)
;;;250    {
0000c8  e92d4070          PUSH     {r4-r6,lr}
0000cc  e1a04000          MOV      r4,r0
0000d0  e1a00001          MOV      r0,r1
0000d4  e1a05002          MOV      r5,r2
;;;251    	uint16 i,j;
;;;252    	uint8 temp;
;;;253    
;;;254           extern uint8 disBuf[504];
;;;255    // disBuf[(y/8)*84 + x +i] = temp;
;;;256            j = y/12;
0000d8  e3a0100c          MOV      r1,#0xc
0000dc  ebfffffe          BL       __aeabi_uidivmod
0000e0  e59f12b8          LDR      r1,|L1.928|
0000e4  e59f32b8          LDR      r3,|L1.932|
0000e8  e085c085          ADD      r12,r5,r5,LSL #1
;;;257            if(j==0)
0000ec  e3500000          CMP      r0,#0
0000f0  e284e054          ADD      lr,r4,#0x54           ;256
0000f4  e284205a          ADD      r2,r4,#0x5a           ;256
0000f8  e081110c          ADD      r1,r1,r12,LSL #2      ;256
0000fc  1a000017          BNE      |L1.352|
;;;258                {
;;;259                    for(i=x;i<x+6;i++)
000100  e1a00004          MOV      r0,r4
000104  e2845006          ADD      r5,r4,#6
                  |L1.264|
000108  e1500005          CMP      r0,r5
;;;260                        {
;;;261                            temp = CTAB_12[ch-0x20][i-x];
00010c  3040c004          SUBCC    r12,r0,r4
000110  308cc001          ADDCC    r12,r12,r1
000114  355cc180          LDRBCC   r12,[r12,#-0x180]
;;;262                            disBuf[i] = temp;
000118  37c3c000          STRBCC   r12,[r3,r0]
00011c  32800001          ADDCC    r0,r0,#1              ;259
000120  33c00801          BICCC    r0,r0,#0x10000        ;259
000124  3afffff7          BCC      |L1.264|
;;;263                        }
;;;264                    for(i=x+84;i<x+84+6;i++)
000128  e3ce0801          BIC      r0,lr,#0x10000
                  |L1.300|
00012c  e1500002          CMP      r0,r2
000130  2a000067          BCS      |L1.724|
;;;265                        {
;;;266                            temp = CTAB_12[ch-0x20][i-x+6-84];
000134  e040c004          SUB      r12,r0,r4
000138  e08cc001          ADD      r12,r12,r1
00013c  e55ce1ce          LDRB     lr,[r12,#-0x1ce]
;;;267                            disBuf[i] &= 0xf0;
000140  e7d3c000          LDRB     r12,[r3,r0]
;;;268                            disBuf[i] |= (temp & 0x0f);
000144  e20ee00f          AND      lr,lr,#0xf
000148  e20cc0f0          AND      r12,r12,#0xf0         ;267
00014c  e18cc00e          ORR      r12,r12,lr
000150  e7c3c000          STRB     r12,[r3,r0]
000154  e2800001          ADD      r0,r0,#1              ;264
000158  e3c00801          BIC      r0,r0,#0x10000        ;264
00015c  eafffff2          B        |L1.300|
                  |L1.352|
;;;269                        }
;;;270                }
;;;271            else if(j==1)
000160  e3500001          CMP      r0,#1
000164  e3a050f0          MOV      r5,#0xf0              ;264
000168  1a00001b          BNE      |L1.476|
;;;272                {
;;;273                     for(i=x+84;i<x+84+6;i++)
00016c  e3ce0801          BIC      r0,lr,#0x10000
                  |L1.368|
000170  e1500002          CMP      r0,r2
;;;274                        {
;;;275                            temp = CTAB_12[ch-0x20][i-x-84];
000174  3040c004          SUBCC    r12,r0,r4
000178  308cc001          ADDCC    r12,r12,r1
00017c  355ce1d4          LDRBCC   lr,[r12,#-0x1d4]
;;;276                            disBuf[i] &= 0x0f;
000180  37d3c000          LDRBCC   r12,[r3,r0]
;;;277                            disBuf[i] |= ((temp<<4) & 0xf0);
000184  3005e20e          ANDCC    lr,r5,lr,LSL #4
000188  320cc00f          ANDCC    r12,r12,#0xf          ;276
00018c  318cc00e          ORRCC    r12,r12,lr
000190  37c3c000          STRBCC   r12,[r3,r0]
000194  32800001          ADDCC    r0,r0,#1              ;273
000198  33c00801          BICCC    r0,r0,#0x10000        ;273
00019c  3afffff3          BCC      |L1.368|
;;;278                        }
;;;279                    for(i=x+168;i<x+168+6;i++)
0001a0  e28400a8          ADD      r0,r4,#0xa8
0001a4  e3c00801          BIC      r0,r0,#0x10000
0001a8  e284c0ae          ADD      r12,r4,#0xae
                  |L1.428|
0001ac  e150000c          CMP      r0,r12
0001b0  2a000047          BCS      |L1.724|
;;;280                        {
;;;281                            temp = CTAB_12[ch-0x20][i-x-168]>>4;
0001b4  e0402004          SUB      r2,r0,r4
0001b8  e0822001          ADD      r2,r2,r1
0001bc  e5525228          LDRB     r5,[r2,#-0x228]
;;;282                            temp += CTAB_12[ch-0x20][i-x+6-168]<<4;
0001c0  e552e222          LDRB     lr,[r2,#-0x222]
0001c4  e1a02225          LSR      r2,r5,#4              ;281
0001c8  e082220e          ADD      r2,r2,lr,LSL #4
;;;283                            disBuf[i] = temp;
0001cc  e7c32000          STRB     r2,[r3,r0]
0001d0  e2800001          ADD      r0,r0,#1              ;279
0001d4  e3c00801          BIC      r0,r0,#0x10000        ;279
0001d8  eafffff3          B        |L1.428|
                  |L1.476|
0001dc  e2842c01          ADD      r2,r4,#0x100          ;279
;;;284                        }
;;;285                }
;;;286            else if(j==2)
0001e0  e3500002          CMP      r0,#2
0001e4  e284ee15          ADD      lr,r4,#0x150          ;279
0001e8  e2822056          ADD      r2,r2,#0x56           ;279
0001ec  1a000019          BNE      |L1.600|
;;;287               {
;;;288                    for(i=x+252;i<x+6+252;i++)
0001f0  e28400fc          ADD      r0,r4,#0xfc
0001f4  e2845c01          ADD      r5,r4,#0x100
0001f8  e3c00801          BIC      r0,r0,#0x10000
0001fc  e2855002          ADD      r5,r5,#2
                  |L1.512|
000200  e1500005          CMP      r0,r5
;;;289                        {
;;;290                            temp = CTAB_12[ch-0x20][i-x-252];
000204  3040c004          SUBCC    r12,r0,r4
000208  308cc001          ADDCC    r12,r12,r1
00020c  355cc27c          LDRBCC   r12,[r12,#-0x27c]
;;;291                            disBuf[i] = temp;
000210  37c3c000          STRBCC   r12,[r3,r0]
000214  32800001          ADDCC    r0,r0,#1              ;288
000218  33c00801          BICCC    r0,r0,#0x10000        ;288
00021c  3afffff7          BCC      |L1.512|
;;;292                        }
;;;293                    for(i=x+336;i<x+336+6;i++)
000220  e3ce0801          BIC      r0,lr,#0x10000
                  |L1.548|
000224  e1500002          CMP      r0,r2
000228  2a000029          BCS      |L1.724|
;;;294                        {
;;;295                            temp = CTAB_12[ch-0x20][i-x+6-336];
00022c  e040c004          SUB      r12,r0,r4
000230  e08cc001          ADD      r12,r12,r1
000234  e55ce2ca          LDRB     lr,[r12,#-0x2ca]
;;;296                            disBuf[i] &= 0xf0;
000238  e7d3c000          LDRB     r12,[r3,r0]
;;;297                            disBuf[i] |= (temp & 0x0f);
00023c  e20ee00f          AND      lr,lr,#0xf
000240  e20cc0f0          AND      r12,r12,#0xf0         ;296
000244  e18cc00e          ORR      r12,r12,lr
000248  e7c3c000          STRB     r12,[r3,r0]
00024c  e2800001          ADD      r0,r0,#1              ;293
000250  e3c00801          BIC      r0,r0,#0x10000        ;293
000254  eafffff2          B        |L1.548|
                  |L1.600|
;;;298                        }
;;;299                }
;;;300            else if(j==3)
000258  e3500003          CMP      r0,#3
00025c  1a00001c          BNE      |L1.724|
;;;301                {
;;;302                     for(i=x+336;i<x+336+6;i++)
000260  e3ce0801          BIC      r0,lr,#0x10000
                  |L1.612|
000264  e1500002          CMP      r0,r2
;;;303                        {
;;;304                            temp = CTAB_12[ch-0x20][i-x-336];
000268  3040c004          SUBCC    r12,r0,r4
00026c  308cc001          ADDCC    r12,r12,r1
000270  355ce2d0          LDRBCC   lr,[r12,#-0x2d0]
;;;305                            disBuf[i] &= 0x0f;
000274  37d3c000          LDRBCC   r12,[r3,r0]
;;;306                            disBuf[i] |= ((temp<<4) & 0xf0);
000278  3005e20e          ANDCC    lr,r5,lr,LSL #4
00027c  320cc00f          ANDCC    r12,r12,#0xf          ;305
000280  318cc00e          ORRCC    r12,r12,lr
000284  37c3c000          STRBCC   r12,[r3,r0]
000288  32800001          ADDCC    r0,r0,#1              ;302
00028c  33c00801          BICCC    r0,r0,#0x10000        ;302
000290  3afffff3          BCC      |L1.612|

⌨️ 快捷键说明

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