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

📄 sff8472_table.lst

📁 ADI公司的关于光通讯模块的监控程序,在KEIL FOR ARM 的编译环境编译.程序大小约12K,芯片是ADu7020.
💻 LST
📖 第 1 页 / 共 5 页
字号:
  246   2                  for(i=0; i<63; i++){            // sum byte 0 to 62
  247   3                      sum += A0h[i];
  248   3                  }
  249   2                  A0h[63] = (BYTE)(sum & 0x00FF);        
  250   2                  break;
  251   2              case 2:
  252   2                  for(i=64; i<95; i++){           // sum byte 64 to 94
  253   3                      sum += A0h[i];
  254   3                  }
  255   2                  A0h[95] = (BYTE)(sum & 0x00FF);
  256   2                  break;
  257   2              case 3:
ARM COMPILER V2.32a,  sff8472_table                                                        08/08/05  09:50:23  PAGE 5   

  258   2                  for(i=0; i<95; i++){            // sum byte 0 to 94
  259   3                      sum += A2h[i];
  260   3                  }
  261   2                  A2h[95] = (BYTE)(sum & 0x00FF);
  262   2                  break;
  263   2          }
  264   1      }
  265          
  266          /********************************************************************/
  267          /*                                                                  */
  268          /*      Write Protect                                               */
  269          /*                                                                  */
  270          /********************************************************************/
  271          BYTE WriteProtect(BYTE i2c_addr, BYTE byte_addr){
  272   1      
  273   1          BYTE res=0;
  274   1      
  275   1          // A0 bank
  276   1          if(i2c_addr == 0xA0){
  277   2              res=0;
  278   2          }
  279   1      
  280   1          // A2 bank
  281   1          if(i2c_addr == 0xA2){
  282   2              if(0x5F<byte_addr && byte_addr<0x7A) res=1;
  283   2              else res=0;
  284   2          }
  285   1      
  286   1          return res;
  287   1      }
ARM COMPILER V2.32a,  sff8472_table                                                        08/08/05  09:50:23  PAGE 6   

ASSEMBLY LISTING OF GENERATED OBJECT CODE



*** EXTERNALS:
 EXTERN DATA (A0h)
 EXTERN DATA (A2h)



*** PUBLICS:
 PUBLIC         sff8472_table?T
 PUBLIC         Checksum?T
 PUBLIC         WriteProtect?T



*** CODE SEGMENT '?PR?sff8472_table?T?sff8472_table':
   12: A0h[0] = 0x03;
 00000000  2103      MOV         R1,#0x3
 00000002  4800      LDR         R0,=A0h ; A0h
 00000004  7001      STRB        R1,[R0,#0x0] ; A0h
   13: A0h[1] = 0x04;
 00000006  2104      MOV         R1,#0x4
 00000008  4800      LDR         R0,=A0h + 0x1 ; A0h+1
 0000000A  7001      STRB        R1,[R0,#0x0] ; A0h+1
   14: A0h[2] = 0x07;
 0000000C  2107      MOV         R1,#0x7
 0000000E  4800      LDR         R0,=A0h + 0x2 ; A0h+2
 00000010  7001      STRB        R1,[R0,#0x0] ; A0h+2
   15: A0h[3] = 0x00;
 00000012  2100      MOV         R1,#0x0
 00000014  4800      LDR         R0,=A0h + 0x3 ; A0h+3
 00000016  7001      STRB        R1,[R0,#0x0] ; A0h+3
   16: A0h[4] = 0x01;
 00000018  2101      MOV         R1,#0x1
 0000001A  4800      LDR         R0,=A0h + 0x4 ; A0h+4
 0000001C  7001      STRB        R1,[R0,#0x0] ; A0h+4
   17: A0h[5] = 0x00;
 0000001E  2100      MOV         R1,#0x0
 00000020  4800      LDR         R0,=A0h + 0x5 ; A0h+5
 00000022  7001      STRB        R1,[R0,#0x0] ; A0h+5
   18: A0h[6] = 0x00;
 00000024  2100      MOV         R1,#0x0
 00000026  4800      LDR         R0,=A0h + 0x6 ; A0h+6
 00000028  7001      STRB        R1,[R0,#0x0] ; A0h+6
   19: A0h[7] = 0x00;
 0000002A  2100      MOV         R1,#0x0
 0000002C  4800      LDR         R0,=A0h + 0x7 ; A0h+7
 0000002E  7001      STRB        R1,[R0,#0x0] ; A0h+7
   33: A0h[8] = 0x02;
 00000030  2102      MOV         R1,#0x2
 00000032  4800      LDR         R0,=A0h + 0x8 ; A0h+8
 00000034  7001      STRB        R1,[R0,#0x0] ; A0h+8
   34: A0h[9] = 0x00;
 00000036  2100      MOV         R1,#0x0
 00000038  4800      LDR         R0,=A0h + 0x9 ; A0h+9
 0000003A  7001      STRB        R1,[R0,#0x0] ; A0h+9
   35: A0h[10] = 0x00;
 0000003C  2100      MOV         R1,#0x0
 0000003E  4800      LDR         R0,=A0h + 0xA ; A0h+10
 00000040  7001      STRB        R1,[R0,#0x0] ; A0h+10
   36: A0h[11] = 0x03;
 00000042  2103      MOV         R1,#0x3
 00000044  4800      LDR         R0,=A0h + 0xB ; A0h+11
 00000046  7001      STRB        R1,[R0,#0x0] ; A0h+11
   37: A0h[12] = 0x19;
 00000048  2119      MOV         R1,#0x19
 0000004A  4800      LDR         R0,=A0h + 0xC ; A0h+12
 0000004C  7001      STRB        R1,[R0,#0x0] ; A0h+12
   38: A0h[13] = 0x00;
ARM COMPILER V2.32a,  sff8472_table                                                        08/08/05  09:50:23  PAGE 7   

 0000004E  2100      MOV         R1,#0x0
 00000050  4800      LDR         R0,=A0h + 0xD ; A0h+13
 00000052  7001      STRB        R1,[R0,#0x0] ; A0h+13
   39: A0h[14] = 0x02;     A0h[15] = 0x14;
 00000054  2102      MOV         R1,#0x2
 00000056  4800      LDR         R0,=A0h + 0xE ; A0h+14
 00000058  7001      STRB        R1,[R0,#0x0] ; A0h+14
 0000005A  2114      MOV         R1,#0x14
 0000005C  4800      LDR         R0,=A0h + 0xF ; A0h+15
 0000005E  7001      STRB        R1,[R0,#0x0] ; A0h+15
   40: A0h[16] = 0x00;     A0h[17] = 0x00;
 00000060  2100      MOV         R1,#0x0
 00000062  4800      LDR         R0,=A0h + 0x10 ; A0h+16
 00000064  7001      STRB        R1,[R0,#0x0] ; A0h+16
 00000066  2100      MOV         R1,#0x0
 00000068  4800      LDR         R0,=A0h + 0x11 ; A0h+17
 0000006A  7001      STRB        R1,[R0,#0x0] ; A0h+17
   41: A0h[18] = 0x00;     A0h[19] = 0x00;
 0000006C  2100      MOV         R1,#0x0
 0000006E  4800      LDR         R0,=A0h + 0x12 ; A0h+18
 00000070  7001      STRB        R1,[R0,#0x0] ; A0h+18
 00000072  2100      MOV         R1,#0x0
 00000074  4800      LDR         R0,=A0h + 0x13 ; A0h+19
 00000076  7001      STRB        R1,[R0,#0x0] ; A0h+19
   42: A0h[20] = 0x41;     A0h[21] = 0x44;     // Vendor Name
 00000078  2141      MOV         R1,#0x41
 0000007A  4800      LDR         R0,=A0h + 0x14 ; A0h+20
 0000007C  7001      STRB        R1,[R0,#0x0] ; A0h+20
 0000007E  2144      MOV         R1,#0x44
 00000080  4800      LDR         R0,=A0h + 0x15 ; A0h+21
 00000082  7001      STRB        R1,[R0,#0x0] ; A0h+21
   43: A0h[22] = 0x49;     A0h[23] = 0x20;
 00000084  2149      MOV         R1,#0x49
 00000086  4800      LDR         R0,=A0h + 0x16 ; A0h+22
 00000088  7001      STRB        R1,[R0,#0x0] ; A0h+22
 0000008A  2120      MOV         R1,#0x20
 0000008C  4800      LDR         R0,=A0h + 0x17 ; A0h+23
 0000008E  7001      STRB        R1,[R0,#0x0] ; A0h+23
   44: A0h[24] = 0x20;     A0h[25] = 0x20;
 00000090  2120      MOV         R1,#0x20
 00000092  4800      LDR         R0,=A0h + 0x18 ; A0h+24
 00000094  7001      STRB        R1,[R0,#0x0] ; A0h+24
 00000096  2120      MOV         R1,#0x20
 00000098  4800      LDR         R0,=A0h + 0x19 ; A0h+25
 0000009A  7001      STRB        R1,[R0,#0x0] ; A0h+25
   45: A0h[26] = 0x20;     A0h[27] = 0x20;
 0000009C  2120      MOV         R1,#0x20
 0000009E  4800      LDR         R0,=A0h + 0x1A ; A0h+26
 000000A0  7001      STRB        R1,[R0,#0x0] ; A0h+26
 000000A2  2120      MOV         R1,#0x20
 000000A4  4800      LDR         R0,=A0h + 0x1B ; A0h+27
 000000A6  7001      STRB        R1,[R0,#0x0] ; A0h+27
   46: A0h[28] = 0x20;     A0h[29] = 0x20;
 000000A8  2120      MOV         R1,#0x20
 000000AA  4800      LDR         R0,=A0h + 0x1C ; A0h+28
 000000AC  7001      STRB        R1,[R0,#0x0] ; A0h+28
 000000AE  2120      MOV         R1,#0x20
 000000B0  4800      LDR         R0,=A0h + 0x1D ; A0h+29
 000000B2  7001      STRB        R1,[R0,#0x0] ; A0h+29
   47: A0h[30] = 0x20;     A0h[31] = 0x20;
 000000B4  2120      MOV         R1,#0x20
 000000B6  4800      LDR         R0,=A0h + 0x1E ; A0h+30
 000000B8  7001      STRB        R1,[R0,#0x0] ; A0h+30
 000000BA  2120      MOV         R1,#0x20
 000000BC  4800      LDR         R0,=A0h + 0x1F ; A0h+31
 000000BE  7001      STRB        R1,[R0,#0x0] ; A0h+31
ARM COMPILER V2.32a,  sff8472_table                                                        08/08/05  09:50:23  PAGE 8   

   48: A0h[32] = 0x20;     A0h[33] = 0x20;
 000000C0  2120      MOV         R1,#0x20
 000000C2  4800      LDR         R0,=A0h + 0x20 ; A0h+32
 000000C4  7001      STRB        R1,[R0,#0x0] ; A0h+32
 000000C6  2120      MOV         R1,#0x20
 000000C8  4800      LDR         R0,=A0h + 0x21 ; A0h+33
 000000CA  7001      STRB        R1,[R0,#0x0] ; A0h+33
   49: A0h[34] = 0x20;     A0h[35] = 0x20;
 000000CC  2120      MOV         R1,#0x20
 000000CE  4800      LDR         R0,=A0h + 0x22 ; A0h+34
 000000D0  7001      STRB        R1,[R0,#0x0] ; A0h+34
 000000D2  2120      MOV         R1,#0x20
 000000D4  4800      LDR         R0,=A0h + 0x23 ; A0h+35
 000000D6  7001      STRB        R1,[R0,#0x0] ; A0h+35
   50: A0h[36] = 0x00;     A0h[37] = 0x00;
 000000D8  2100      MOV         R1,#0x0
 000000DA  4800      LDR         R0,=A0h + 0x24 ; A0h+36
 000000DC  7001      STRB        R1,[R0,#0x0] ; A0h+36
 000000DE  2100      MOV         R1,#0x0
 000000E0  4800      LDR         R0,=A0h + 0x25 ; A0h+37
 000000E2  7001      STRB        R1,[R0,#0x0] ; A0h+37
   51: A0h[38] = 0x00;     A0h[39] = 0x00;
 000000E4  2100      MOV         R1,#0x0
 000000E6  4800      LDR         R0,=A0h + 0x26 ; A0h+38
 000000E8  7001      STRB        R1,[R0,#0x0] ; A0h+38
 000000EA  2100      MOV         R1,#0x0
 000000EC  4800      LDR         R0,=A0h + 0x27 ; A0h+39
 000000EE  7001      STRB        R1,[R0,#0x0] ; A0h+39
   52: A0h[40] = 0x41;     A0h[41] = 0x44;     // Vendor PM
 000000F0  2141      MOV         R1,#0x41
 000000F2  4800      LDR         R0,=A0h + 0x28 ; A0h+40
 000000F4  7001      STRB        R1,[R0,#0x0] ; A0h+40
 000000F6  2144      MOV         R1,#0x44
 000000F8  4800      LDR         R0,=A0h + 0x29 ; A0h+41
 000000FA  7001      STRB        R1,[R0,#0x0] ; A0h+41
   53: A0h[42] = 0x75;     A0h[43] = 0x43;
 000000FC  2175      MOV         R1,#0x75
 000000FE  4800      LDR         R0,=A0h + 0x2A ; A0h+42
 00000100  7001      STRB        R1,[R0,#0x0] ; A0h+42
 00000102  2143      MOV         R1,#0x43
 00000104  4800      LDR         R0,=A0h + 0x2B ; A0h+43
 00000106  7001      STRB        R1,[R0,#0x0] ; A0h+43
   54: A0h[44] = 0x37;     A0h[45] = 0x30;
 00000108  2137      MOV         R1,#0x37
 0000010A  4800      LDR         R0,=A0h + 0x2C ; A0h+44
 0000010C  7001      STRB        R1,[R0,#0x0] ; A0h+44
 0000010E  2130      MOV         R1,#0x30
 00000110  4800      LDR         R0,=A0h + 0x2D ; A0h+45
 00000112  7001      STRB        R1,[R0,#0x0] ; A0h+45
   55: A0h[46] = 0x32;     A0h[47] = 0x30;
 00000114  2132      MOV         R1,#0x32
 00000116  4800      LDR         R0,=A0h + 0x2E ; A0h+46
 00000118  7001      STRB        R1,[R0,#0x0] ; A0h+46
 0000011A  2130      MOV         R1,#0x30
 0000011C  4800      LDR         R0,=A0h + 0x2F ; A0h+47
 0000011E  7001      STRB        R1,[R0,#0x0] ; A0h+47
   56: A0h[48] = 0x2D;     A0h[49] = 0x53;
 00000120  212D      MOV         R1,#0x2D
 00000122  4800      LDR         R0,=A0h + 0x30 ; A0h+48
 00000124  7001      STRB        R1,[R0,#0x0] ; A0h+48
 00000126  2153      MOV         R1,#0x53
 00000128  4800      LDR         R0,=A0h + 0x31 ; A0h+49
 0000012A  7001      STRB        R1,[R0,#0x0] ; A0h+49
   57: A0h[50] = 0x46;     A0h[51] = 0x50;
 0000012C  2146      MOV         R1,#0x46
 0000012E  4800      LDR         R0,=A0h + 0x32 ; A0h+50
ARM COMPILER V2.32a,  sff8472_table                                                        08/08/05  09:50:23  PAGE 9   

 00000130  7001      STRB        R1,[R0,#0x0] ; A0h+50
 00000132  2150      MOV         R1,#0x50
 00000134  4800      LDR         R0,=A0h + 0x33 ; A0h+51
 00000136  7001      STRB        R1,[R0,#0x0] ; A0h+51
   58: A0h[52] = 0x2D;     A0h[53] = 0x52;

⌨️ 快捷键说明

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