📄 global.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 + -