📄 iis.txt
字号:
; generated by ARM C Compiler, ADS1.2 [Build 805]
; commandline [-errors .\err\iis.err -O0 -asm -g+ -cpu ARM920T -fs "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
CODE32
AREA ||.text||, CODE, READONLY
IIS_Test PROC
;;;72 void IIS_Test(void)
;;;73 {
|L1.0|
000000 e92d4010 STMFD sp!,{r4,lr}
;;;74 int i;
;;;75
;;;76 while(1)
000004 e1a00000 NOP
|L1.8|
000008 e1a00000 NOP
;;;77 {
;;;78 i=0;
00000c e3a04000 MOV r4,#0
;;;79 Uart_Printf("\n\n================== IIS Function Test =====================\n\n");
000010 e28f00a0 ADR r0,|L1.184|
000014 ebfffffe BL Uart_Printf
;;;80
;;;81 while(1)
000018 e1a00000 NOP
|L1.28|
00001c e1a00000 NOP
;;;82 { //display menu
;;;83 Uart_Printf("%2d:%s",i,func_iis_test[i][1]);
000020 e59f00d0 LDR r0,|L1.248|
000024 e0800184 ADD r0,r0,r4,LSL #3
000028 e1a01004 MOV r1,r4
00002c e5902004 LDR r2,[r0,#4]
000030 e28f00c4 ADR r0,|L1.252|
000034 ebfffffe BL Uart_Printf
;;;84 i++;
000038 e2844001 ADD r4,r4,#1
;;;85 if((int)(func_iis_test[i][0])==0)
00003c e59f00b4 LDR r0,|L1.248|
000040 e7900184 LDR r0,[r0,r4,LSL #3]
000044 e3500000 CMP r0,#0
000048 1a000002 BNE |L1.88|
;;;86 {
;;;87 Uart_Printf("\n");
00004c e28f00b0 ADR r0,|L1.260|
000050 ebfffffe BL Uart_Printf
;;;88 break;
000054 ea000004 B |L1.108|
;;;89 }
;;;90 if((i%2)==0)
|L1.88|
000058 e3140001 TST r4,#1
00005c 1a000001 BNE |L1.104|
;;;91 Uart_Printf("\n");
000060 e28f009c ADR r0,|L1.260|
000064 ebfffffe BL Uart_Printf
;;;92 }
|L1.104|
000068 eaffffeb B |L1.28|
;;;93 Uart_Printf("\n==========================================================\n");
|L1.108|
00006c e28f0094 ADR r0,|L1.264|
000070 ebfffffe BL Uart_Printf
;;;94 Uart_Printf("\nPress Enter key to exit : ");
000074 e28f00cc ADR r0,|L1.328|
000078 ebfffffe BL Uart_Printf
;;;95 i = Uart_GetIntNum();
00007c ebfffffe BL Uart_GetIntNum
000080 e1a04000 MOV r4,r0
;;;96 if(i==-1) break; // return.
000084 e3740001 CMN r4,#1
000088 1a000000 BNE |L1.144|
00008c ea000008 B |L1.180|
;;;97 if(i>=0 && (i<((sizeof(func_iis_test)-1)/8)) ) // select and execute...
|L1.144|
000090 e3540000 CMP r4,#0
000094 ba000005 BLT |L1.176|
000098 e3540003 CMP r4,#3
00009c 2a000003 BCS |L1.176|
;;;98 ( (void (*)(void)) (func_iis_test[i][0]) )();
0000a0 e59f1050 LDR r1,|L1.248|
0000a4 e7910184 LDR r0,[r1,r4,LSL #3]
0000a8 e1a0e00f MOV lr,pc
0000ac e1a0f000 MOV pc,r0
;;;99 }
|L1.176|
0000b0 eaffffd4 B |L1.8|
;;;100
;;;101 }
|L1.180|
0000b4 e8bd8010 LDMFD sp!,{r4,pc}
|L1.184|
0000b8 3d3d0a0a DCB "\n\n=="
0000bc 3d3d3d3d DCB "===="
0000c0 3d3d3d3d DCB "===="
0000c4 3d3d3d3d DCB "===="
0000c8 3d3d3d3d DCB "===="
0000cc 53494920 DCB " IIS"
0000d0 6e754620 DCB " Fun"
0000d4 6f697463 DCB "ctio"
0000d8 6554206e DCB "n Te"
0000dc 3d207473 DCB "st ="
0000e0 3d3d3d3d DCB "===="
0000e4 3d3d3d3d DCB "===="
0000e8 3d3d3d3d DCB "===="
0000ec 3d3d3d3d DCB "===="
0000f0 3d3d3d3d DCB "===="
0000f4 00000a0a DCB "\n\n\0\0"
|L1.248|
0000f8 00000000 DCD func_iis_test
|L1.252|
0000fc 3a643225 DCB "%2d:"
000100 00007325 DCB "%s\0\0"
|L1.260|
000104 0000000a DCB "\n\0\0\0"
|L1.264|
000108 3d3d3d0a DCB "\n==="
00010c 3d3d3d3d DCB "===="
000110 3d3d3d3d DCB "===="
000114 3d3d3d3d DCB "===="
000118 3d3d3d3d DCB "===="
00011c 3d3d3d3d DCB "===="
000120 3d3d3d3d DCB "===="
000124 3d3d3d3d DCB "===="
000128 3d3d3d3d DCB "===="
00012c 3d3d3d3d DCB "===="
000130 3d3d3d3d DCB "===="
000134 3d3d3d3d DCB "===="
000138 3d3d3d3d DCB "===="
00013c 3d3d3d3d DCB "===="
000140 0a3d3d3d DCB "===\n"
000144 00000000 DCB "\0\0\0\0"
|L1.328|
000148 6572500a DCB "\nPre"
00014c 45207373 DCB "ss E"
000150 7265746e DCB "nter"
000154 79656b20 DCB " key"
000158 206f7420 DCB " to "
00015c 74697865 DCB "exit"
000160 00203a20 DCB " : \0"
ENDP
IIS_Port_Return PROC
;;;195 void IIS_Port_Return(void)
;;;196 {
000164 e59f03b0 LDR r0,|L1.1308|
;;;197 rGPBCON = save_B;
000168 e5900000 LDR r0,[r0,#0] ; save_B
00016c e3a01456 MOV r1,#0x56000000
000170 e5810010 STR r0,[r1,#0x10]
;;;198 rGPECON = save_E;
000174 e59f03a4 LDR r0,|L1.1312|
000178 e5900000 LDR r0,[r0,#0] ; save_E
00017c e3a01456 MOV r1,#0x56000000
000180 e5810040 STR r0,[r1,#0x40]
;;;199 rGPBUP = save_PB;
000184 e59f0398 LDR r0,|L1.1316|
000188 e5900000 LDR r0,[r0,#0] ; save_PB
00018c e3a01456 MOV r1,#0x56000000
000190 e5810018 STR r0,[r1,#0x18]
;;;200 rGPEUP = save_PE;
000194 e59f038c LDR r0,|L1.1320|
000198 e5900000 LDR r0,[r0,#0] ; save_PE
00019c e3a01456 MOV r1,#0x56000000
0001a0 e5810048 STR r0,[r1,#0x48]
;;;201 }
0001a4 e1a0f00e MOV pc,lr
ENDP
_WrL3Data PROC
;;;504 void _WrL3Data(U8 data,int halt)
;;;505 {
0001a8 e52de004 STR lr,[sp,#-4]!
;;;506 S32 i,j;
;;;507
;;;508 if(halt)
0001ac e3510000 CMP r1,#0
0001b0 0a00000a BEQ |L1.480|
;;;509 {
;;;510 rGPBDAT = rGPBDAT & ~(L3D | L3M | L3C) | L3C; //L3C=H(while tstp, L3 interface halt condition)
0001b4 e3a0c456 MOV r12,#0x56000000
0001b8 e59cc014 LDR r12,[r12,#0x14]
0001bc e3ccc01c BIC r12,r12,#0x1c
0001c0 e38cc010 ORR r12,r12,#0x10
0001c4 e3a0e456 MOV lr,#0x56000000
0001c8 e58ec014 STR r12,[lr,#0x14]
;;;511 for(j=0;j<4;j++); //tstp(L3) > 190ns
0001cc e3a02000 MOV r2,#0
|L1.464|
0001d0 e3520004 CMP r2,#4
0001d4 aa000001 BGE |L1.480|
0001d8 e2822001 ADD r2,r2,#1
0001dc eafffffb B |L1.464|
;;;512 }
;;;513
;;;514 rGPBDAT = rGPBDAT & ~(L3D | L3M | L3C) | (L3C | L3M); //L3M=H(in data transfer mode)
|L1.480|
0001e0 e3a0c456 MOV r12,#0x56000000
0001e4 e59cc014 LDR r12,[r12,#0x14]
0001e8 e3ccc01c BIC r12,r12,#0x1c
0001ec e38cc014 ORR r12,r12,#0x14
0001f0 e3a0e456 MOV lr,#0x56000000
0001f4 e58ec014 STR r12,[lr,#0x14]
;;;515 for(j=0;j<4;j++); //tsu(L3)D > 190ns
0001f8 e3a02000 MOV r2,#0
|L1.508|
0001fc e3520004 CMP r2,#4
000200 aa000001 BGE |L1.524|
000204 e2822001 ADD r2,r2,#1
000208 eafffffb B |L1.508|
;;;516
;;;517 //GPB[4:2]=L3C:L3D:L3M
;;;518 for(i=0;i<8;i++)
|L1.524|
00020c e3a03000 MOV r3,#0
|L1.528|
000210 e3530008 CMP r3,#8
000214 aa00003d BGE |L1.784|
000218 ea000001 B |L1.548|
|L1.540|
00021c e2833001 ADD r3,r3,#1
000220 eafffffa B |L1.528|
;;;519 {
;;;520 if(data & 0x1) //if data's LSB is 'H'
|L1.548|
000224 e3100001 TST r0,#1
000228 0a000018 BEQ |L1.656|
;;;521 {
;;;522 rGPBDAT &= ~L3C; //L3C=L
00022c e3a0c456 MOV r12,#0x56000000
000230 e59cc014 LDR r12,[r12,#0x14]
000234 e3ccc010 BIC r12,r12,#0x10
000238 e3a0e456 MOV lr,#0x56000000
00023c e58ec014 STR r12,[lr,#0x14]
;;;523 rGPBDAT |= L3D; //L3D=H
000240 e3a0c456 MOV r12,#0x56000000
000244 e59cc014 LDR r12,[r12,#0x14]
000248 e38cc008 ORR r12,r12,#8
00024c e3a0e456 MOV lr,#0x56000000
000250 e58ec014 STR r12,[lr,#0x14]
;;;524
;;;525 for(j=0;j<4;j++); //tcy(L3) > 500ns
000254 e3a02000 MOV r2,#0
|L1.600|
000258 e3520004 CMP r2,#4
00025c aa000001 BGE |L1.616|
000260 e2822001 ADD r2,r2,#1
000264 eafffffb B |L1.600|
;;;526 rGPBDAT |= (L3C | L3D); //L3C=H,L3D=H
|L1.616|
000268 e3a0c456 MOV r12,#0x56000000
00026c e59cc014 LDR r12,[r12,#0x14]
000270 e38cc018 ORR r12,r12,#0x18
000274 e3a0e456 MOV lr,#0x56000000
000278 e58ec014 STR r12,[lr,#0x14]
;;;527 for(j=0;j<4;j++); //tcy(L3) > 500ns
00027c e3a02000 MOV r2,#0
|L1.640|
000280 e3520004 CMP r2,#4
000284 aa00001f BGE |L1.776|
000288 e2822001 ADD r2,r2,#1
00028c eafffffb B |L1.640|
;;;528 }
;;;529 else //If data's LSB is 'L'
;;;530 {
;;;531 rGPBDAT &= ~L3C; //L3C=L
|L1.656|
000290 e3a0c456 MOV r12,#0x56000000
000294 e59cc014 LDR r12,[r12,#0x14]
000298 e3ccc010 BIC r12,r12,#0x10
00029c e3a0e456 MOV lr,#0x56000000
0002a0 e58ec014 STR r12,[lr,#0x14]
;;;532 rGPBDAT &= ~L3D; //L3D=L
0002a4 e3a0c456 MOV r12,#0x56000000
0002a8 e59cc014 LDR r12,[r12,#0x14]
0002ac e3ccc008 BIC r12,r12,#8
0002b0 e3a0e456 MOV lr,#0x56000000
0002b4 e58ec014 STR r12,[lr,#0x14]
;;;533 for(j=0;j<4;j++); //tcy(L3) > 500ns
0002b8 e3a02000 MOV r2,#0
|L1.700|
0002bc e3520004 CMP r2,#4
0002c0 aa000001 BGE |L1.716|
0002c4 e2822001 ADD r2,r2,#1
0002c8 eafffffb B |L1.700|
;;;534 rGPBDAT |= L3C; //L3C=H
|L1.716|
0002cc e3a0c456 MOV r12,#0x56000000
0002d0 e59cc014 LDR r12,[r12,#0x14]
0002d4 e38cc010 ORR r12,r12,#0x10
0002d8 e3a0e456 MOV lr,#0x56000000
0002dc e58ec014 STR r12,[lr,#0x14]
;;;535 rGPBDAT &= ~L3D; //L3D=L
0002e0 e3a0c456 MOV r12,#0x56000000
0002e4 e59cc014 LDR r12,[r12,#0x14]
0002e8 e3ccc008 BIC r12,r12,#8
0002ec e3a0e456 MOV lr,#0x56000000
0002f0 e58ec014 STR r12,[lr,#0x14]
;;;536 for(j=0;j<4;j++); //tcy(L3) > 500ns
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -