📄 unicodetogb2312.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 938] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o..\Release\unicodetogb2312.o --depend=..\Release\unicodetogb2312.d --device=DARMSTM --apcs=interwork -O3 -I..\code\header -I..\code\library\inc -I..\..\include -I..\..\..\..\library\inc -I..\..\..\..\..\FWLib\library\inc -I..\code\FAT16 -I..\code\driver -ID:\Keil\ARM\INC\ST\STM32F10x -DVECT_TAB_FLASH --omf_browse=..\Release\unicodetogb2312.crf ..\code\FAT16\UnicodeToGB2312.c]
THUMB
AREA ||i.UnicodeToGB2312||, CODE, READONLY, ALIGN=2
UnicodeToGB2312 PROC
;;;14 u16 UnicodeToGB2312(u16 unicode)//用二分查找算法
;;;15 {
000000 b530 PUSH {r4,r5,lr}
;;;16 int mid, low, high, len;
;;;17 len = sizeof(UnicodeToGB2312_Tab)/sizeof(UnicodeToGB2312_Tab[0]);
;;;18 low = 0;
000002 2200 MOVS r2,#0
;;;19 high = len - 1;
;;;20 if( (unicode >= 0x20 && unicode <= 0x5b) || (unicode >= 0x5d && unicode <= 0x7e))
000004 f1a00120 SUB r1,r0,#0x20
000008 f6415314 MOV r3,#0x1d14 ;19
00000c 293b CMP r1,#0x3b
00000e d914 BLS |L1.58|
000010 393d SUBS r1,r1,#0x3d
000012 2921 CMP r1,#0x21
000014 d911 BLS |L1.58|
000016 4c0b LDR r4,|L1.68|
|L1.24|
;;;21 return unicode;
;;;22 while(low <= high)
;;;23 {
;;;24 mid = (low + high) / 2;
000018 18d1 ADDS r1,r2,r3
00001a eb0171d1 ADD r1,r1,r1,LSR #31
00001e 1049 ASRS r1,r1,#1
;;;25 if(UnicodeToGB2312_Tab[mid][0] > unicode)
000020 f8345021 LDRH r5,[r4,r1,LSL #2]
000024 4285 CMP r5,r0
000026 d902 BLS |L1.46|
;;;26 high = mid - 1;
000028 f1a10301 SUB r3,r1,#1
00002c e002 B |L1.52|
|L1.46|
;;;27 else if(UnicodeToGB2312_Tab[mid][0] < unicode)
00002e d205 BCS |L1.60|
;;;28 low = mid + 1;
000030 f1010201 ADD r2,r1,#1
|L1.52|
000034 429a CMP r2,r3 ;22
000036 ddef BLE |L1.24|
;;;29 else
;;;30 return UnicodeToGB2312_Tab[mid][1];
;;;31 }
;;;32 return 0 ; //没找到
000038 2000 MOVS r0,#0
|L1.58|
;;;33 }
00003a bd30 POP {r4,r5,pc}
|L1.60|
00003c eb040081 ADD r0,r4,r1,LSL #2 ;30
000040 8840 LDRH r0,[r0,#2] ;30
000042 bd30 POP {r4,r5,pc}
ENDP
|L1.68|
000044 00000000 DCD ||.constdata||
AREA ||.constdata||, DATA, READONLY, ALIGN=1
UnicodeToGB2312_Tab
000000 00a4a1e8 DCW 0x00a4,0xa1e8
000004 00a7a1ec DCW 0x00a7,0xa1ec
000008 00a8a1a7 DCW 0x00a8,0xa1a7
00000c 00b0a1e3 DCW 0x00b0,0xa1e3
000010 00b1a1c0 DCW 0x00b1,0xa1c0
000014 00b7a1a4 DCW 0x00b7,0xa1a4
000018 00d7a1c1 DCW 0x00d7,0xa1c1
00001c 00e0a8a4 DCW 0x00e0,0xa8a4
000020 00e1a8a2 DCW 0x00e1,0xa8a2
000024 00e8a8a8 DCW 0x00e8,0xa8a8
000028 00e9a8a6 DCW 0x00e9,0xa8a6
00002c 00eaa8ba DCW 0x00ea,0xa8ba
000030 00eca8ac DCW 0x00ec,0xa8ac
000034 00eda8aa DCW 0x00ed,0xa8aa
000038 00f2a8b0 DCW 0x00f2,0xa8b0
00003c 00f3a8ae DCW 0x00f3,0xa8ae
000040 00f7a1c2 DCW 0x00f7,0xa1c2
000044 00f9a8b4 DCW 0x00f9,0xa8b4
000048 00faa8b2 DCW 0x00fa,0xa8b2
00004c 00fca8b9 DCW 0x00fc,0xa8b9
000050 0101a8a1 DCW 0x0101,0xa8a1
000054 0113a8a5 DCW 0x0113,0xa8a5
000058 011ba8a7 DCW 0x011b,0xa8a7
00005c 012ba8a9 DCW 0x012b,0xa8a9
000060 014da8ad DCW 0x014d,0xa8ad
000064 016ba8b1 DCW 0x016b,0xa8b1
000068 01cea8a3 DCW 0x01ce,0xa8a3
00006c 01d0a8ab DCW 0x01d0,0xa8ab
000070 01d2a8af DCW 0x01d2,0xa8af
000074 01d4a8b3 DCW 0x01d4,0xa8b3
000078 01d6a8b5 DCW 0x01d6,0xa8b5
00007c 01d8a8b6 DCW 0x01d8,0xa8b6
000080 01daa8b7 DCW 0x01da,0xa8b7
000084 01dca8b8 DCW 0x01dc,0xa8b8
000088 02c7a1a6 DCW 0x02c7,0xa1a6
00008c 02c9a1a5 DCW 0x02c9,0xa1a5
000090 0391a6a1 DCW 0x0391,0xa6a1
000094 0392a6a2 DCW 0x0392,0xa6a2
000098 0393a6a3 DCW 0x0393,0xa6a3
00009c 0394a6a4 DCW 0x0394,0xa6a4
0000a0 0395a6a5 DCW 0x0395,0xa6a5
0000a4 0396a6a6 DCW 0x0396,0xa6a6
0000a8 0397a6a7 DCW 0x0397,0xa6a7
0000ac 0398a6a8 DCW 0x0398,0xa6a8
0000b0 0399a6a9 DCW 0x0399,0xa6a9
0000b4 039aa6aa DCW 0x039a,0xa6aa
0000b8 039ba6ab DCW 0x039b,0xa6ab
0000bc 039ca6ac DCW 0x039c,0xa6ac
0000c0 039da6ad DCW 0x039d,0xa6ad
0000c4 039ea6ae DCW 0x039e,0xa6ae
0000c8 039fa6af DCW 0x039f,0xa6af
0000cc 03a0a6b0 DCW 0x03a0,0xa6b0
0000d0 03a1a6b1 DCW 0x03a1,0xa6b1
0000d4 03a3a6b2 DCW 0x03a3,0xa6b2
0000d8 03a4a6b3 DCW 0x03a4,0xa6b3
0000dc 03a5a6b4 DCW 0x03a5,0xa6b4
0000e0 03a6a6b5 DCW 0x03a6,0xa6b5
0000e4 03a7a6b6 DCW 0x03a7,0xa6b6
0000e8 03a8a6b7 DCW 0x03a8,0xa6b7
0000ec 03a9a6b8 DCW 0x03a9,0xa6b8
0000f0 03b1a6c1 DCW 0x03b1,0xa6c1
0000f4 03b2a6c2 DCW 0x03b2,0xa6c2
0000f8 03b3a6c3 DCW 0x03b3,0xa6c3
0000fc 03b4a6c4 DCW 0x03b4,0xa6c4
000100 03b5a6c5 DCW 0x03b5,0xa6c5
000104 03b6a6c6 DCW 0x03b6,0xa6c6
000108 03b7a6c7 DCW 0x03b7,0xa6c7
00010c 03b8a6c8 DCW 0x03b8,0xa6c8
000110 03b9a6c9 DCW 0x03b9,0xa6c9
000114 03baa6ca DCW 0x03ba,0xa6ca
000118 03bba6cb DCW 0x03bb,0xa6cb
00011c 03bca6cc DCW 0x03bc,0xa6cc
000120 03bda6cd DCW 0x03bd,0xa6cd
000124 03bea6ce DCW 0x03be,0xa6ce
000128 03bfa6cf DCW 0x03bf,0xa6cf
00012c 03c0a6d0 DCW 0x03c0,0xa6d0
000130 03c1a6d1 DCW 0x03c1,0xa6d1
000134 03c3a6d2 DCW 0x03c3,0xa6d2
000138 03c4a6d3 DCW 0x03c4,0xa6d3
00013c 03c5a6d4 DCW 0x03c5,0xa6d4
000140 03c6a6d5 DCW 0x03c6,0xa6d5
000144 03c7a6d6 DCW 0x03c7,0xa6d6
000148 03c8a6d7 DCW 0x03c8,0xa6d7
00014c 03c9a6d8 DCW 0x03c9,0xa6d8
000150 0401a7a7 DCW 0x0401,0xa7a7
000154 0410a7a1 DCW 0x0410,0xa7a1
000158 0411a7a2 DCW 0x0411,0xa7a2
00015c 0412a7a3 DCW 0x0412,0xa7a3
000160 0413a7a4 DCW 0x0413,0xa7a4
000164 0414a7a5 DCW 0x0414,0xa7a5
000168 0415a7a6 DCW 0x0415,0xa7a6
00016c 0416a7a8 DCW 0x0416,0xa7a8
000170 0417a7a9 DCW 0x0417,0xa7a9
000174 0418a7aa DCW 0x0418,0xa7aa
000178 0419a7ab DCW 0x0419,0xa7ab
00017c 041aa7ac DCW 0x041a,0xa7ac
000180 041ba7ad DCW 0x041b,0xa7ad
000184 041ca7ae DCW 0x041c,0xa7ae
000188 041da7af DCW 0x041d,0xa7af
00018c 041ea7b0 DCW 0x041e,0xa7b0
000190 041fa7b1 DCW 0x041f,0xa7b1
000194 0420a7b2 DCW 0x0420,0xa7b2
000198 0421a7b3 DCW 0x0421,0xa7b3
00019c 0422a7b4 DCW 0x0422,0xa7b4
0001a0 0423a7b5 DCW 0x0423,0xa7b5
0001a4 0424a7b6 DCW 0x0424,0xa7b6
0001a8 0425a7b7 DCW 0x0425,0xa7b7
0001ac 0426a7b8 DCW 0x0426,0xa7b8
0001b0 0427a7b9 DCW 0x0427,0xa7b9
0001b4 0428a7ba DCW 0x0428,0xa7ba
0001b8 0429a7bb DCW 0x0429,0xa7bb
0001bc 042aa7bc DCW 0x042a,0xa7bc
0001c0 042ba7bd DCW 0x042b,0xa7bd
0001c4 042ca7be DCW 0x042c,0xa7be
0001c8 042da7bf DCW 0x042d,0xa7bf
0001cc 042ea7c0 DCW 0x042e,0xa7c0
0001d0 042fa7c1 DCW 0x042f,0xa7c1
0001d4 0430a7d1 DCW 0x0430,0xa7d1
0001d8 0431a7d2 DCW 0x0431,0xa7d2
0001dc 0432a7d3 DCW 0x0432,0xa7d3
0001e0 0433a7d4 DCW 0x0433,0xa7d4
0001e4 0434a7d5 DCW 0x0434,0xa7d5
0001e8 0435a7d6 DCW 0x0435,0xa7d6
0001ec 0436a7d8 DCW 0x0436,0xa7d8
0001f0 0437a7d9 DCW 0x0437,0xa7d9
0001f4 0438a7da DCW 0x0438,0xa7da
0001f8 0439a7db DCW 0x0439,0xa7db
0001fc 043aa7dc DCW 0x043a,0xa7dc
000200 043ba7dd DCW 0x043b,0xa7dd
000204 043ca7de DCW 0x043c,0xa7de
000208 043da7df DCW 0x043d,0xa7df
00020c 043ea7e0 DCW 0x043e,0xa7e0
000210 043fa7e1 DCW 0x043f,0xa7e1
000214 0440a7e2 DCW 0x0440,0xa7e2
000218 0441a7e3 DCW 0x0441,0xa7e3
00021c 0442a7e4 DCW 0x0442,0xa7e4
000220 0443a7e5 DCW 0x0443,0xa7e5
000224 0444a7e6 DCW 0x0444,0xa7e6
000228 0445a7e7 DCW 0x0445,0xa7e7
00022c 0446a7e8 DCW 0x0446,0xa7e8
000230 0447a7e9 DCW 0x0447,0xa7e9
000234 0448a7ea DCW 0x0448,0xa7ea
000238 0449a7eb DCW 0x0449,0xa7eb
00023c 044aa7ec DCW 0x044a,0xa7ec
000240 044ba7ed DCW 0x044b,0xa7ed
000244 044ca7ee DCW 0x044c,0xa7ee
000248 044da7ef DCW 0x044d,0xa7ef
00024c 044ea7f0 DCW 0x044e,0xa7f0
000250 044fa7f1 DCW 0x044f,0xa7f1
000254 0451a7d7 DCW 0x0451,0xa7d7
000258 2014a1aa DCW 0x2014,0xa1aa
00025c 2016a1ac DCW 0x2016,0xa1ac
000260 2018a1ae DCW 0x2018,0xa1ae
000264 2019a1af DCW 0x2019,0xa1af
000268 201ca1b0 DCW 0x201c,0xa1b0
00026c 201da1b1 DCW 0x201d,0xa1b1
000270 2026a1ad DCW 0x2026,0xa1ad
000274 2030a1eb DCW 0x2030,0xa1eb
000278 2032a1e4 DCW 0x2032,0xa1e4
00027c 2033a1e5 DCW 0x2033,0xa1e5
000280 203ba1f9 DCW 0x203b,0xa1f9
000284 2103a1e6 DCW 0x2103,0xa1e6
000288 2116a1ed DCW 0x2116,0xa1ed
00028c 2160a2f1 DCW 0x2160,0xa2f1
000290 2161a2f2 DCW 0x2161,0xa2f2
000294 2162a2f3 DCW 0x2162,0xa2f3
000298 2163a2f4 DCW 0x2163,0xa2f4
00029c 2164a2f5 DCW 0x2164,0xa2f5
0002a0 2165a2f6 DCW 0x2165,0xa2f6
0002a4 2166a2f7 DCW 0x2166,0xa2f7
0002a8 2167a2f8 DCW 0x2167,0xa2f8
0002ac 2168a2f9 DCW 0x2168,0xa2f9
0002b0 2169a2fa DCW 0x2169,0xa2fa
0002b4 216aa2fb DCW 0x216a,0xa2fb
0002b8 216ba2fc DCW 0x216b,0xa2fc
0002bc 2190a1fb DCW 0x2190,0xa1fb
0002c0 2191a1fc DCW 0x2191,0xa1fc
0002c4 2192a1fa DCW 0x2192,0xa1fa
0002c8 2193a1fd DCW 0x2193,0xa1fd
0002cc 2208a1ca DCW 0x2208,0xa1ca
0002d0 220fa1c7 DCW 0x220f,0xa1c7
0002d4 2211a1c6 DCW 0x2211,0xa1c6
0002d8 221aa1cc DCW 0x221a,0xa1cc
0002dc 221da1d8 DCW 0x221d,0xa1d8
0002e0 221ea1de DCW 0x221e,0xa1de
0002e4 2220a1cf DCW 0x2220,0xa1cf
0002e8 2225a1ce DCW 0x2225,0xa1ce
0002ec 2227a1c4 DCW 0x2227,0xa1c4
0002f0 2228a1c5 DCW 0x2228,0xa1c5
0002f4 2229a1c9 DCW 0x2229,0xa1c9
0002f8 222aa1c8 DCW 0x222a,0xa1c8
0002fc 222ba1d2 DCW 0x222b,0xa1d2
000300 222ea1d3 DCW 0x222e,0xa1d3
000304 2234a1e0 DCW 0x2234,0xa1e0
000308 2235a1df DCW 0x2235,0xa1df
00030c 2236a1c3 DCW 0x2236,0xa1c3
000310 2237a1cb DCW 0x2237,0xa1cb
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -