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

📄 userlib.txt

📁 SMDK2442所有设备的驱动测试程序。运行monitor程序
💻 TXT
📖 第 1 页 / 共 5 页
字号:
; generated by ARM C Compiler, ADS1.2 [Build 805]

; commandline [-errors .\err\Userlib.err -O0 -asm -g+ -cpu ARM920T -fs "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
                          CODE32

                          AREA ||.text||, CODE, READONLY

                  Manset_Usage PROC
;;;33     void Manset_Usage(void)
;;;34     {
                  |L1.0|
000000  e92d4008          STMFD    sp!,{r3,lr}
;;;35     	int i;
;;;36     
;;;37     	Uart_Printf("dump:memory dump(ex:dump addr length)\n");
000004  e28f004c          ADR      r0,|L1.88|
000008  ebfffffe          BL       Uart_Printf
;;;38     	Uart_Printf("mw:multiple write.\n");
00000c  e28f006c          ADR      r0,|L1.128|
000010  ebfffffe          BL       Uart_Printf
;;;39     	Uart_Printf("hr:halfword read.\n");
000014  e28f0078          ADR      r0,|L1.148|
000018  ebfffffe          BL       Uart_Printf
;;;40     	Uart_Printf("hw:halfword write.\n");
00001c  e28f0084          ADR      r0,|L1.168|
000020  ebfffffe          BL       Uart_Printf
;;;41     	Uart_Printf("hwm:halfword write multi.\n");
000024  e28f0090          ADR      r0,|L1.188|
000028  ebfffffe          BL       Uart_Printf
;;;42     	Uart_Printf("w:word write.\n");
00002c  e28f00a4          ADR      r0,|L1.216|
000030  ebfffffe          BL       Uart_Printf
;;;43     	Uart_Printf("ow:word write with OR logic.\n");
000034  e28f00ac          ADR      r0,|L1.232|
000038  ebfffffe          BL       Uart_Printf
;;;44     	Uart_Printf("r:word read.\n");
00003c  e28f00c4          ADR      r0,|L1.264|
000040  ebfffffe          BL       Uart_Printf
;;;45     	Uart_Printf("fi:memory fill(ex:fi addr length value).\n");
000044  e28f00cc          ADR      r0,|L1.280|
000048  ebfffffe          BL       Uart_Printf
;;;46     	Uart_Printf("P: execute previous command.\n");
00004c  e28f00f0          ADR      r0,|L1.324|
000050  ebfffffe          BL       Uart_Printf
;;;47     
;;;48     }
000054  e8bd8008          LDMFD    sp!,{r3,pc}
                  |L1.88|
000058  706d7564          DCB      "dump"
00005c  6d656d3a          DCB      ":mem"
000060  2079726f          DCB      "ory "
000064  706d7564          DCB      "dump"
000068  3a786528          DCB      "(ex:"
00006c  706d7564          DCB      "dump"
000070  64646120          DCB      " add"
000074  656c2072          DCB      "r le"
000078  6874676e          DCB      "ngth"
00007c  00000a29          DCB      ")\n\0\0"
                  |L1.128|
000080  6d3a776d          DCB      "mw:m"
000084  69746c75          DCB      "ulti"
000088  20656c70          DCB      "ple "
00008c  74697277          DCB      "writ"
000090  000a2e65          DCB      "e.\n\0"
                  |L1.148|
000094  683a7268          DCB      "hr:h"
000098  77666c61          DCB      "alfw"
00009c  2064726f          DCB      "ord "
0000a0  64616572          DCB      "read"
0000a4  00000a2e          DCB      ".\n\0\0"
                  |L1.168|
0000a8  683a7768          DCB      "hw:h"
0000ac  77666c61          DCB      "alfw"
0000b0  2064726f          DCB      "ord "
0000b4  74697277          DCB      "writ"
0000b8  000a2e65          DCB      "e.\n\0"
                  |L1.188|
0000bc  3a6d7768          DCB      "hwm:"
0000c0  666c6168          DCB      "half"
0000c4  64726f77          DCB      "word"
0000c8  69727720          DCB      " wri"
0000cc  6d206574          DCB      "te m"
0000d0  69746c75          DCB      "ulti"
0000d4  00000a2e          DCB      ".\n\0\0"
                  |L1.216|
0000d8  6f773a77          DCB      "w:wo"
0000dc  77206472          DCB      "rd w"
0000e0  65746972          DCB      "rite"
0000e4  00000a2e          DCB      ".\n\0\0"
                  |L1.232|
0000e8  773a776f          DCB      "ow:w"
0000ec  2064726f          DCB      "ord "
0000f0  74697277          DCB      "writ"
0000f4  69772065          DCB      "e wi"
0000f8  4f206874          DCB      "th O"
0000fc  6f6c2052          DCB      "R lo"
000100  2e636967          DCB      "gic."
000104  0000000a          DCB      "\n\0\0\0"
                  |L1.264|
000108  6f773a72          DCB      "r:wo"
00010c  72206472          DCB      "rd r"
000110  2e646165          DCB      "ead."
000114  0000000a          DCB      "\n\0\0\0"
                  |L1.280|
000118  6d3a6966          DCB      "fi:m"
00011c  726f6d65          DCB      "emor"
000120  69662079          DCB      "y fi"
000124  65286c6c          DCB      "ll(e"
000128  69663a78          DCB      "x:fi"
00012c  64646120          DCB      " add"
000130  656c2072          DCB      "r le"
000134  6874676e          DCB      "ngth"
000138  6c617620          DCB      " val"
00013c  2e296575          DCB      "ue)."
000140  0000000a          DCB      "\n\0\0\0"
                  |L1.324|
000144  65203a50          DCB      "P: e"
000148  75636578          DCB      "xecu"
00014c  70206574          DCB      "te p"
000150  69766572          DCB      "revi"
000154  2073756f          DCB      "ous "
000158  6d6d6f63          DCB      "comm"
00015c  2e646e61          DCB      "and."
000160  0000000a          DCB      "\n\0\0\0"
                          ENDP

                  Get_Num PROC
;;;148    U32 Get_Num(char *string)
;;;149    {
000164  e92d43f8          STMFD    sp!,{r3-r9,lr}
000168  e1a04000          MOV      r4,r0
;;;150        int base=10;
00016c  e3a0800a          MOV      r8,#0xa
;;;151        int minus=0;
000170  e3a09000          MOV      r9,#0
;;;152        int lastIndex;
;;;153        int result=0;
000174  e3a05000          MOV      r5,#0
;;;154        int i;
;;;155    
;;;156        if(string[0]=='-')
000178  e5d40000          LDRB     r0,[r4,#0]
00017c  e350002d          CMP      r0,#0x2d
000180  1a000001          BNE      |L1.396|
;;;157        {
;;;158    	minus=1;
000184  e3a09001          MOV      r9,#1
;;;159    	string++;
000188  e2844001          ADD      r4,r4,#1
;;;160        }
;;;161    
;;;162        if(string[0]=='0' && (string[1]=='x' || string[1]=='X'))
                  |L1.396|
00018c  e5d40000          LDRB     r0,[r4,#0]
000190  e3500030          CMP      r0,#0x30
000194  1a000007          BNE      |L1.440|
000198  e5d40001          LDRB     r0,[r4,#1]
00019c  e3500078          CMP      r0,#0x78
0001a0  0a000002          BEQ      |L1.432|
0001a4  e5d40001          LDRB     r0,[r4,#1]
0001a8  e3500058          CMP      r0,#0x58
0001ac  1a000001          BNE      |L1.440|
;;;163        {
;;;164    	base=16;
                  |L1.432|
0001b0  e3a08010          MOV      r8,#0x10
;;;165    	string+=2;
0001b4  e2844002          ADD      r4,r4,#2
;;;166        }
;;;167    
;;;168        lastIndex=strlen(string)-1;
                  |L1.440|
0001b8  e1a00004          MOV      r0,r4
0001bc  ebfffffe          BL       strlen
0001c0  e2407001          SUB      r7,r0,#1
;;;169        if(lastIndex<0)return -1;
0001c4  e3570000          CMP      r7,#0
0001c8  aa000001          BGE      |L1.468|
0001cc  e3e00000          MVN      r0,#0
;;;170    
;;;171        if( string[lastIndex]=='h' || string[lastIndex]=='H' )
;;;172        {
;;;173    	base=16;
;;;174    	string[lastIndex]=0;
;;;175    	lastIndex--;
;;;176        }
;;;177    
;;;178        if(base==10)
;;;179        {
;;;180    	result=atoi(string);
;;;181    	result=minus ? (-1*result):result;
;;;182        }
;;;183        else
;;;184        {
;;;185    	for(i=0;i<=lastIndex;i++)
;;;186    	{
;;;187    	    if(isalpha(string[i]))
;;;188    	    {
;;;189    		if(isupper(string[i]))
;;;190    		    result=(result<<4)+string[i]-'A'+10;
;;;191    		else
;;;192    		    result=(result<<4)+string[i]-'a'+10;
;;;193    	    }
;;;194    	    else
;;;195    	    {
;;;196    		result=(result<<4)+string[i]-'0';
;;;197    	    }
;;;198    	}
;;;199    	result=minus ? (-1*result):result;
;;;200        }
;;;201        return result;
;;;202    }
                  |L1.464|
0001d0  e8bd83f8          LDMFD    sp!,{r3-r9,pc}
                  |L1.468|
0001d4  e7d40007          LDRB     r0,[r4,r7]            ;171
0001d8  e3500068          CMP      r0,#0x68              ;171
0001dc  0a000002          BEQ      |L1.492|              ;171
0001e0  e7d40007          LDRB     r0,[r4,r7]            ;171
0001e4  e3500048          CMP      r0,#0x48              ;171
0001e8  1a000003          BNE      |L1.508|              ;171
                  |L1.492|
0001ec  e3a08010          MOV      r8,#0x10              ;173
0001f0  e3a00000          MOV      r0,#0                 ;174
0001f4  e7c40007          STRB     r0,[r4,r7]            ;174
0001f8  e2477001          SUB      r7,r7,#1              ;175
                  |L1.508|
0001fc  e358000a          CMP      r8,#0xa               ;178
000200  1a000009          BNE      |L1.556|              ;178
000204  e1a00004          MOV      r0,r4                 ;180
000208  ebfffffe          BL       atoi                  ;180
00020c  e1a05000          MOV      r5,r0                 ;180
000210  e3590000          CMP      r9,#0                 ;181
000214  0a000001          BEQ      |L1.544|              ;181
000218  e2650000          RSB      r0,r5,#0              ;181
00021c  ea000000          B        |L1.548|              ;181
                  |L1.544|
000220  e1a00005          MOV      r0,r5                 ;181
                  |L1.548|
000224  e1a05000          MOV      r5,r0                 ;181
000228  ea00001f          B        |L1.684|              ;181
                  |L1.556|
00022c  e3a06000          MOV      r6,#0                 ;185
                  |L1.560|
000230  e1560007          CMP      r6,r7                 ;185
000234  ca000016          BGT      |L1.660|              ;185
000238  ea000001          B        |L1.580|              ;185
                  |L1.572|
00023c  e2866001          ADD      r6,r6,#1              ;185
000240  eafffffa          B        |L1.560|              ;185
                  |L1.580|
000244  e7d40006          LDRB     r0,[r4,r6]            ;187
000248  ebfffffe          BL       isalpha               ;187
00024c  e3500000          CMP      r0,#0                 ;187
000250  0a00000b          BEQ      |L1.644|              ;187
000254  e7d40006          LDRB     r0,[r4,r6]            ;189
000258  ebfffffe          BL       isupper               ;189
00025c  e3500000          CMP      r0,#0                 ;189
000260  0a000003          BEQ      |L1.628|              ;189
000264  e7d40006          LDRB     r0,[r4,r6]            ;190
000268  e0800205          ADD      r0,r0,r5,LSL #4       ;190
00026c  e2405037          SUB      r5,r0,#0x37           ;190
000270  ea000006          B        |L1.656|              ;190
                  |L1.628|
000274  e7d40006          LDRB     r0,[r4,r6]            ;192
000278  e0800205          ADD      r0,r0,r5,LSL #4       ;192
00027c  e2405057          SUB      r5,r0,#0x57           ;192
000280  ea000002          B        |L1.656|              ;192
                  |L1.644|
000284  e7d40006          LDRB     r0,[r4,r6]            ;196
000288  e0800205          ADD      r0,r0,r5,LSL #4       ;196
00028c  e2405030          SUB      r5,r0,#0x30           ;196
                  |L1.656|
000290  eaffffe9          B        |L1.572|              ;198
                  |L1.660|
000294  e3590000          CMP      r9,#0                 ;199
000298  0a000001          BEQ      |L1.676|              ;199
00029c  e2650000          RSB      r0,r5,#0              ;199
0002a0  ea000000          B        |L1.680|              ;199
                  |L1.676|
0002a4  e1a00005          MOV      r0,r5                 ;199
                  |L1.680|
0002a8  e1a05000          MOV      r5,r0                 ;199
                  |L1.684|
0002ac  e1a00005          MOV      r0,r5                 ;201
0002b0  eaffffc6          B        |L1.464|              ;201
                          ENDP

                  Get_Cmd PROC
;;;93     void Get_Cmd(char incmd[])
;;;94     {
0002b4  e92d41f0          STMFD    sp!,{r4-r8,lr}
0002b8  e1a06000          MOV      r6,r0
;;;95     	int cmd_level=0, i, j, overlap=0;
0002bc  e3a07000          MOV      r7,#0
0002c0  e3a08000          MOV      r8,#0
;;;96     
;;;97     	scmd1[0]='\0';
0002c4  e3a00000          MOV      r0,#0
0002c8  e59f12bc          LDR      r1,|L1.1420|
0002cc  e5c10000          STRB     r0,[r1,#0]  ; scmd1
;;;98     	scmd2[0]='\0';
0002d0  e3a00000          MOV      r0,#0
0002d4  e59f12b4          LDR      r1,|L1.1424|
0002d8  e5c10000          STRB     r0,[r1,#0]  ; scmd2
;;;99     	scmd3[0]='\0';
0002dc  e3a00000          MOV      r0,#0
0002e0  e59f12ac          LDR      r1,|L1.1428|
0002e4  e5c10000          STRB     r0,[r1,#0]  ; scmd3
;;;100    	scmd4[0]='\0';
0002e8  e3a00000          MOV      r0,#0
0002ec  e59f12a4          LDR      r1,|L1.1432|
0002f0  e5c10000          STRB     r0,[r1,#0]  ; scmd4
;;;101    

⌨️ 快捷键说明

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