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

📄 global.txt

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

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

                  get16 PROC
;;;10     #else
;;;11     	temp = *(addr+1);
000000  e5d01001          LDRB     r1,[r0,#1]
;;;12     	temp <<= 8;
;;;13     	temp += *addr;
000004  e5d00000          LDRB     r0,[r0,#0]
000008  e3a02cff          MOV      r2,#0xff00            ;12
00000c  e0021401          AND      r1,r2,r1,LSL #8       ;12
000010  e0800001          ADD      r0,r0,r1
000014  e3c00801          BIC      r0,r0,#0x10000
;;;14     #endif
;;;15     	return temp;
;;;16     }
000018  e12fff1e          BX       lr
;;;17     
                          ENDP

                  get32 PROC
;;;29     #else
;;;30     	temp = *(addr+3);
00001c  e5d01003          LDRB     r1,[r0,#3]
;;;31     	temp <<= 8;
;;;32     	temp += *(addr+2);
000020  e5d02002          LDRB     r2,[r0,#2]
000024  e0821401          ADD      r1,r2,r1,LSL #8
;;;33     	temp <<= 8;
;;;34     	temp += *(addr+1);
000028  e5d02001          LDRB     r2,[r0,#1]
;;;35     	temp <<= 8;
;;;36     	temp += *addr;
00002c  e5d00000          LDRB     r0,[r0,#0]
000030  e0821401          ADD      r1,r2,r1,LSL #8       ;34
000034  e0800401          ADD      r0,r0,r1,LSL #8
;;;37     #endif
;;;38     	return temp;
;;;39     }
000038  e12fff1e          BX       lr
;;;40     
                          ENDP

                  get16_little PROC
;;;44     
;;;45     	temp = *(addr+1);
00003c  e5d01001          LDRB     r1,[r0,#1]
;;;46     	temp <<= 8;
;;;47     	temp += *addr;
000040  e5d00000          LDRB     r0,[r0,#0]
000044  e3a02cff          MOV      r2,#0xff00            ;46
000048  e0021401          AND      r1,r2,r1,LSL #8       ;46
00004c  e0800001          ADD      r0,r0,r1
000050  e3c00801          BIC      r0,r0,#0x10000
;;;48     
;;;49     	return temp;
;;;50     }
000054  e12fff1e          BX       lr
;;;51     
                          ENDP

                  get32_little PROC
;;;55     
;;;56     	temp = *(addr+3);
000058  e5d01003          LDRB     r1,[r0,#3]
;;;57     	temp <<= 8;
;;;58     	temp += *(addr+2);
00005c  e5d02002          LDRB     r2,[r0,#2]
000060  e0821401          ADD      r1,r2,r1,LSL #8
;;;59     	temp <<= 8;
;;;60     	temp += *(addr+1);
000064  e5d02001          LDRB     r2,[r0,#1]
;;;61     	temp <<= 8;
;;;62     	temp += *addr;
000068  e5d00000          LDRB     r0,[r0,#0]
00006c  e0821401          ADD      r1,r2,r1,LSL #8       ;60
000070  e0800401          ADD      r0,r0,r1,LSL #8
;;;63     
;;;64     	return temp;
;;;65     }
000074  e12fff1e          BX       lr
;;;66     
                          ENDP

                  get16_big PROC
;;;70     
;;;71     	temp = *addr;
000078  e5d01000          LDRB     r1,[r0,#0]
;;;72     	temp <<= 8;
;;;73     	temp += *(addr+1);
00007c  e5d00001          LDRB     r0,[r0,#1]
000080  e3a02cff          MOV      r2,#0xff00            ;72
000084  e0021401          AND      r1,r2,r1,LSL #8       ;72
000088  e0800001          ADD      r0,r0,r1
00008c  e3c00801          BIC      r0,r0,#0x10000
;;;74     
;;;75     	return temp;
;;;76     }
000090  e12fff1e          BX       lr
;;;77     
                          ENDP

                  get32_big PROC
;;;81     
;;;82     	temp = *addr;
000094  e5d01000          LDRB     r1,[r0,#0]
;;;83     	temp <<= 8;
;;;84     	temp += *(addr+1);
000098  e5d02001          LDRB     r2,[r0,#1]
00009c  e0821401          ADD      r1,r2,r1,LSL #8
;;;85     	temp <<= 8;
;;;86     	temp += *(addr+2);
0000a0  e5d02002          LDRB     r2,[r0,#2]
;;;87     	temp <<= 8;
;;;88     	temp += *(addr+3);
0000a4  e5d00003          LDRB     r0,[r0,#3]
0000a8  e0821401          ADD      r1,r2,r1,LSL #8       ;86
0000ac  e0800401          ADD      r0,r0,r1,LSL #8
;;;89     
;;;90     	return temp;
;;;91     }
0000b0  e12fff1e          BX       lr
;;;92     
                          ENDP

                  put16 PROC
;;;99     #else
;;;100    	*addr = val;
0000b4  e5c01000          STRB     r1,[r0,#0]
;;;101    	*(addr+1) = val>>8;
0000b8  e1a01421          LSR      r1,r1,#8
0000bc  e5c01001          STRB     r1,[r0,#1]
;;;102    #endif
;;;103    }
0000c0  e12fff1e          BX       lr
;;;104    
                          ENDP

                  put32 PROC
;;;113    	*addr = val;
;;;114    	*(addr+1) = val>>8;
0000c4  e1a02421          LSR      r2,r1,#8
0000c8  e5c01000          STRB     r1,[r0,#0]            ;113
0000cc  e5c02001          STRB     r2,[r0,#1]
;;;115    	*(addr+2) = val>>16;
0000d0  e1a02821          LSR      r2,r1,#16
;;;116    	*(addr+3) = val>>24;
0000d4  e1a01c21          LSR      r1,r1,#24
0000d8  e5c02002          STRB     r2,[r0,#2]            ;115
0000dc  e5c01003          STRB     r1,[r0,#3]
;;;117    #endif
;;;118    }
0000e0  e12fff1e          BX       lr
;;;119    
                          ENDP

                  put16_little PROC
;;;121    {
;;;122    	*addr = val;
0000e4  e5c01000          STRB     r1,[r0,#0]
;;;123    	*(addr+1) = val>>8;
0000e8  e1a01421          LSR      r1,r1,#8
0000ec  e5c01001          STRB     r1,[r0,#1]
;;;124    }
0000f0  e12fff1e          BX       lr
;;;125    
                          ENDP

                  put32_little PROC
;;;128    	*addr = val;
;;;129    	*(addr+1) = val>>8;
0000f4  e1a02421          LSR      r2,r1,#8
0000f8  e5c01000          STRB     r1,[r0,#0]            ;128
0000fc  e5c02001          STRB     r2,[r0,#1]
;;;130    	*(addr+2) = val>>16;
000100  e1a02821          LSR      r2,r1,#16
;;;131    	*(addr+3) = val>>24;
000104  e1a01c21          LSR      r1,r1,#24
000108  e5c02002          STRB     r2,[r0,#2]            ;130
00010c  e5c01003          STRB     r1,[r0,#3]
;;;132    }
000110  e12fff1e          BX       lr
;;;133    
                          ENDP

                  put16_big PROC
;;;136    {
;;;137    	*addr = val>>8;
000114  e1a02421          LSR      r2,r1,#8
000118  e5c02000          STRB     r2,[r0,#0]
;;;138    	*(addr+1) = val;
00011c  e5c01001          STRB     r1,[r0,#1]
;;;139    }
000120  e12fff1e          BX       lr
;;;140    
                          ENDP

                  put32_big PROC
;;;142    {
;;;143    	*addr = val>>24;
000124  e1a02c21          LSR      r2,r1,#24
000128  e5c02000          STRB     r2,[r0,#0]
;;;144    	*(addr+1) = val>>16;
00012c  e1a02821          LSR      r2,r1,#16
000130  e5c02001          STRB     r2,[r0,#1]
;;;145    	*(addr+2) = val>>8;
000134  e1a02421          LSR      r2,r1,#8
000138  e5c02002          STRB     r2,[r0,#2]
;;;146    	*(addr+3) = val;
00013c  e5c01003          STRB     r1,[r0,#3]
;;;147    }
000140  e12fff1e          BX       lr
;;;148    
                          ENDP

                  swap16 PROC
;;;154    	temp = val;
;;;155    	temp <<=8;
000144  e3a01cff          MOV      r1,#0xff00
000148  e0011400          AND      r1,r1,r0,LSL #8
;;;156    	temp += val>>8;
00014c  e0810420          ADD      r0,r1,r0,LSR #8
000150  e3c00801          BIC      r0,r0,#0x10000
;;;157    	
;;;158    	return temp;
;;;159    }
000154  e12fff1e          BX       lr
;;;160    
                          ENDP

                  swap32 PROC
;;;165    	temp = val;
;;;166    	temp <<=8;
000158  e1a01400          LSL      r1,r0,#8
;;;167    	temp += val>>8;
00015c  e0811420          ADD      r1,r1,r0,LSR #8
;;;168    	temp <<=8;
000160  e1a01401          LSL      r1,r1,#8
;;;169    	temp += val>>16;
000164  e0811820          ADD      r1,r1,r0,LSR #16
;;;170    	temp <<=8;
000168  e1a01401          LSL      r1,r1,#8
;;;171    	temp += val>>24;
00016c  e0810c20          ADD      r0,r1,r0,LSR #24
;;;172    
;;;173    	return temp;
;;;174    }
000170  e12fff1e          BX       lr
;;;175    
                          ENDP

                  soft_delay_ms PROC
;;;179    	uint32 i,j;
;;;180    	for(i=0;i<=t;i++)
000174  e3a02000          MOV      r2,#0
000178  ea000004          B        |L1.400|
                  |L1.380|
;;;181    		for(j=0;j<8000;j++);
00017c  e3a01000          MOV      r1,#0
                  |L1.384|
000180  e2811001          ADD      r1,r1,#1
000184  e3510d7d          CMP      r1,#0x1f40
000188  3afffffc          BCC      |L1.384|
00018c  e2822001          ADD      r2,r2,#1              ;180
                  |L1.400|
000190  e1520000          CMP      r2,r0                 ;180
000194  9afffff8          BLS      |L1.380|
;;;182    }
000198  e12fff1e          BX       lr
;;;183    
                          ENDP

                  dump_memory PROC
;;;186    void dump_memory(unsigned char * addr, unsigned int length)
;;;187    {
00019c  e92d41f0          PUSH     {r4-r8,lr}
;;;188    	unsigned char * p = addr;
0001a0  e1a04000          MOV      r4,r0
;;;189    	unsigned int i,j;
;;;190    	unsigned int ii,jj;
;;;191    	ii = length/16;
0001a4  e1a07221          LSR      r7,r1,#4
;;;192    	jj = length%16;
0001a8  e201800f          AND      r8,r1,#0xf
;;;193    	
;;;194    	iprintf("_____________________________________________________\r\n");
0001ac  e28f007c          ADR      r0,|L1.560|
0001b0  ebfffffe          BL       __1printf
;;;195    	iprintf("ADDR  00 01 02 03 04 05 06 07-08 09 0a 0b 0c 0d 0e 0f \r\n");
0001b4  e28f00ac          ADR      r0,|L1.616|
0001b8  ebfffffe          BL       __1printf
;;;196    	iprintf("-----------------------------------------------------\r\n");
0001bc  e28f00e0          ADR      r0,|L1.676|
0001c0  ebfffffe          BL       __1printf
;;;197    	for(i=0;i<32;i++)
0001c4  e3a06000          MOV      r6,#0
                  |L1.456|
0001c8  e1a01206          LSL      r1,r6,#4
;;;198    	{
;;;199    		iprintf("%04x: ",i*16);
0001cc  e28f0f42          ADR      r0,|L1.732|
0001d0  ebfffffe          BL       __1printf
;;;200    		for(j=0;j<16;j++)
0001d4  e3a05000          MOV      r5,#0
                  |L1.472|
;;;201    		{
;;;202    			if(i==ii && j==jj)break;
0001d8  e1560007          CMP      r6,r7
0001dc  01550008          CMPEQ    r5,r8
0001e0  0a000007          BEQ      |L1.516|
;;;203    			if(j==7)iprintf("%02x-",*p++);
0001e4  e3550007          CMP      r5,#7
0001e8  e4d41001          LDRB     r1,[r4],#1
;;;204    			else iprintf("%02x ",*p++);
0001ec  128f00f0          ADRNE    r0,|L1.740|
0001f0  028f00f4          ADREQ    r0,|L1.748|
0001f4  ebfffffe          BL       __1printf
0001f8  e2855001          ADD      r5,r5,#1              ;200
0001fc  e3550010          CMP      r5,#0x10              ;200
000200  3afffff4          BCC      |L1.472|
                  |L1.516|
;;;205    		}
;;;206    		iprintf("\r\n");
000204  e28f00e8          ADR      r0,|L1.756|
000208  ebfffffe          BL       __1printf
;;;207    		if(i==ii && j==jj)break;
00020c  e1560007          CMP      r6,r7
000210  01550008          CMPEQ    r5,r8
000214  0a000002          BEQ      |L1.548|
000218  e2866001          ADD      r6,r6,#1              ;197
00021c  e3560020          CMP      r6,#0x20              ;197
000220  3affffe8          BCC      |L1.456|
                  |L1.548|
;;;208    	}
;;;209    	iprintf("-----------------------------------------------------\r\n");	
000224  e8bd41f0          POP      {r4-r8,lr}
000228  e28f0074          ADR      r0,|L1.676|
00022c  eafffffe          B        __1printf
;;;210    }
;;;211    #endif
                          ENDP

                  |L1.560|
000230  5f5f5f5f          DCB      "____"
000234  5f5f5f5f          DCB      "____"
000238  5f5f5f5f          DCB      "____"
00023c  5f5f5f5f          DCB      "____"
000240  5f5f5f5f          DCB      "____"
000244  5f5f5f5f          DCB      "____"
000248  5f5f5f5f          DCB      "____"
00024c  5f5f5f5f          DCB      "____"
000250  5f5f5f5f          DCB      "____"
000254  5f5f5f5f          DCB      "____"
000258  5f5f5f5f          DCB      "____"
00025c  5f5f5f5f          DCB      "____"
000260  5f5f5f5f          DCB      "____"
000264  5f0d0a00          DCB      "_\r\n\0"
                  |L1.616|
000268  41444452          DCB      "ADDR"
00026c  20203030          DCB      "  00"
000270  20303120          DCB      " 01 "
000274  30322030          DCB      "02 0"
000278  33203034          DCB      "3 04"
00027c  20303520          DCB      " 05 "
000280  30362030          DCB      "06 0"
000284  372d3038          DCB      "7-08"
000288  20303920          DCB      " 09 "
00028c  30612030          DCB      "0a 0"
000290  62203063          DCB      "b 0c"
000294  20306420          DCB      " 0d "
000298  30652030          DCB      "0e 0"
00029c  66200d0a          DCB      "f \r\n"
0002a0  00000000          DCB      "\0\0\0\0"
                  |L1.676|
0002a4  2d2d2d2d          DCB      "----"
0002a8  2d2d2d2d          DCB      "----"
0002ac  2d2d2d2d          DCB      "----"
0002b0  2d2d2d2d          DCB      "----"
0002b4  2d2d2d2d          DCB      "----"
0002b8  2d2d2d2d          DCB      "----"
0002bc  2d2d2d2d          DCB      "----"
0002c0  2d2d2d2d          DCB      "----"
0002c4  2d2d2d2d          DCB      "----"
0002c8  2d2d2d2d          DCB      "----"
0002cc  2d2d2d2d          DCB      "----"
0002d0  2d2d2d2d          DCB      "----"
0002d4  2d2d2d2d          DCB      "----"
0002d8  2d0d0a00          DCB      "-\r\n\0"
                  |L1.732|
0002dc  25303478          DCB      "%04x"
0002e0  3a200000          DCB      ": \0\0"
                  |L1.740|
0002e4  25303278          DCB      "%02x"
0002e8  20000000          DCB      " \0\0\0"
                  |L1.748|
0002ec  25303278          DCB      "%02x"
0002f0  2d000000          DCB      "-\0\0\0"
                  |L1.756|
0002f4  0d0a0000          DCB      "\r\n\0\0"

⌨️ 快捷键说明

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