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

📄 main.lst

📁 atmelsam7s64twi完美底层驱动
💻 LST
📖 第 1 页 / 共 2 页
字号:
 0000001A  1C08      MOV         R0,R1
 0000001C  3130      ADD         R1,#0x30
 0000001E  0609      LSL         R1,R1,#0x18
 00000020  0E09      LSR         R1,R1,#0x18
 00000022  A802      ADD         R0,R13,#0x8
 00000024  7001      STRB        R1,[R0,#0x0] ; bpData
   40:          bpData[1] = (bI%100)/10+'0';
 00000026  1C20      MOV         R0,R4 ; bI
 00000028  0600      LSL         R0,R0,#0x18 ; bI
 0000002A  0E00      LSR         R0,R0,#0x18
 0000002C  2164      MOV         R1,#0x64
 0000002E  F7FF      BL          ?C?SDIV?T  ; T=0x0001  (1) ; ?C?SDIV?T
 00000030  FFE7      BL          ?C?SDIV?T  ; T=0x0001  (2) ; ?C?SDIV?T
 00000032  210A      MOV         R1,#0xA
 00000034  F7FF      BL          ?C?SDIV?T  ; T=0x0001  (1) ; ?C?SDIV?T
 00000036  FFE4      BL          ?C?SDIV?T  ; T=0x0001  (2) ; ?C?SDIV?T
 00000038  1C08      MOV         R0,R1
 0000003A  3130      ADD         R1,#0x30
 0000003C  0609      LSL         R1,R1,#0x18
 0000003E  0E09      LSR         R1,R1,#0x18
 00000040  2009      MOV         R0,#0x9
 00000042  4468      ADD         R0,R13
 00000044  7001      STRB        R1,[R0,#0x0] ; bpData+1
   41:          bpData[2] = bI%10+'0'; 
 00000046  1C20      MOV         R0,R4 ; bI
 00000048  0600      LSL         R0,R0,#0x18 ; bI
 0000004A  0E00      LSR         R0,R0,#0x18
 0000004C  210A      MOV         R1,#0xA
 0000004E  F7FF      BL          ?C?SDIV?T  ; T=0x0001  (1) ; ?C?SDIV?T
 00000050  FFD7      BL          ?C?SDIV?T  ; T=0x0001  (2) ; ?C?SDIV?T
 00000052  1C01      MOV         R1,R0
 00000054  3130      ADD         R1,#0x30
 00000056  0609      LSL         R1,R1,#0x18
 00000058  0E09      LSR         R1,R1,#0x18
 0000005A  200A      MOV         R0,#0xA
 0000005C  4468      ADD         R0,R13
 0000005E  7001      STRB        R1,[R0,#0x0] ; bpData+2
   43:         status =AT91F_TWI_WriteByte(AT91C_BASE_TWI, AT91C_EEPROM_I2C_ADDRESS | AT91C_TWI_IADRSZ_2_BYTE, bI, &write, 1);
 00000060  2001      MOV         R0,#0x1
 00000062  B401      PUSH        {R0}
 00000064  1C20      MOV         R0,R4 ; bI
 00000066  0602      LSL         R2,R0,#0x18 ; bI
 00000068  0E12      LSR         R2,R2,#0x18
 0000006A  4800      LDR         R0,=0xFFFB8000
 0000006C  AB01      ADD         R3,R13,#0x4
 0000006E  4800      LDR         R1,=0x500200
 00000070  F7FF      BL          AT91F_TWI_WriteByte?T  ; T=0x0001  (1)
 00000072  FFC6      BL          AT91F_TWI_WriteByte?T  ; T=0x0001  (2)
ARM COMPILER V2.53,  main                                                                  19/07/06  08:38:08  PAGE 5   

 00000074  B001      ADD         R13,#0x4
 00000076  0605      LSL         R5,R0,#0x18 ; AT91F_TWI_WriteByte?T
 00000078  0E2D      LSR         R5,R5,#0x18
 0000007A  ---- Variable 'status' assigned to Register 'R5' ----
   46:         if (status)
 0000007A  1C28      MOV         R0,R5 ; status
 0000007C  2800      CMP         R0,#0x0 ; status
 0000007E  D007      BEQ         L_11  ; T=0x00000090
   49:             USART0_send_string(bpData,3);
 00000080  A802      ADD         R0,R13,#0x8
 00000082  2103      MOV         R1,#0x3
 00000084  F7FF      BL          USART0_send_string?T  ; T=0x0001  (1)
 00000086  FFBC      BL          USART0_send_string?T  ; T=0x0001  (2)
   50:             USART0_send_string("ERROR",5);
 00000088  4800      LDR         R0,=??S_1 ; ??S_1
 0000008A  2105      MOV         R1,#0x5
 0000008C  F7FF      BL          USART0_send_string?T  ; T=0x0001  (1)
 0000008E  FFB8      BL          USART0_send_string?T  ; T=0x0001  (2)
   51:         }
 00000090          L_11:
   53:         wait_ms(100);
 00000090  2064      MOV         R0,#0x64
 00000092  F7FF      BL          wait_ms?T  ; T=0x0001  (1)
 00000094  FFB5      BL          wait_ms?T  ; T=0x0001  (2)
   56:         status =AT91F_TWI_ReadByte(AT91C_BASE_TWI, AT91C_EEPROM_I2C_ADDRESS | AT91C_TWI_IADRSZ_2_BYTE, bI, &read, 1);
 00000096  2001      MOV         R0,#0x1
 00000098  B401      PUSH        {R0}
 0000009A  1C20      MOV         R0,R4 ; bI
 0000009C  0602      LSL         R2,R0,#0x18 ; bI
 0000009E  0E12      LSR         R2,R2,#0x18
 000000A0  4800      LDR         R0,=0xFFFB8000
 000000A2  AB02      ADD         R3,R13,#0x8
 000000A4  4800      LDR         R1,=0x500200
 000000A6  F7FF      BL          AT91F_TWI_ReadByte?T  ; T=0x0001  (1)
 000000A8  FFAB      BL          AT91F_TWI_ReadByte?T  ; T=0x0001  (2)
 000000AA  B001      ADD         R13,#0x4
 000000AC  0605      LSL         R5,R0,#0x18 ; AT91F_TWI_ReadByte?T
 000000AE  0E2D      LSR         R5,R5,#0x18
   59:         if (status)
 000000B0  1C28      MOV         R0,R5 ; status
 000000B2  2800      CMP         R0,#0x0 ; status
 000000B4  D007      BEQ         L_12  ; T=0x000000C6
   62:             USART0_send_string(bpData,3);
 000000B6  A802      ADD         R0,R13,#0x8
 000000B8  2103      MOV         R1,#0x3
 000000BA  F7FF      BL          USART0_send_string?T  ; T=0x0001  (1)
 000000BC  FFA1      BL          USART0_send_string?T  ; T=0x0001  (2)
   63:             USART0_send_string("10 IS ERROR",11);
 000000BE  4800      LDR         R0,=??S_2 ; ??S_2
 000000C0  210B      MOV         R1,#0xB
 000000C2  F7FF      BL          USART0_send_string?T  ; T=0x0001  (1)
 000000C4  FF9D      BL          USART0_send_string?T  ; T=0x0001  (2)
   64:         }
 000000C6          L_12:
   65:         if (read == write)
 000000C6  A800      ADD         R0,R13,#0x0
 000000C8  7800      LDRB        R0,[R0,#0x0] ; write
 000000CA  1C01      MOV         R1,R0
 000000CC  A801      ADD         R0,R13,#0x4
 000000CE  7800      LDRB        R0,[R0,#0x0] ; read
 000000D0  4288      CMP         R0,R1
 000000D2  D108      BNE         L_13  ; T=0x000000E6
   68:             USART0_send_string(bpData,3);
 000000D4  A802      ADD         R0,R13,#0x8
 000000D6  2103      MOV         R1,#0x3
 000000D8  F7FF      BL          USART0_send_string?T  ; T=0x0001  (1)
ARM COMPILER V2.53,  main                                                                  19/07/06  08:38:08  PAGE 6   

 000000DA  FF92      BL          USART0_send_string?T  ; T=0x0001  (2)
   69:             USART0_send_string("OKOKOK",6);
 000000DC  4800      LDR         R0,=??S_3 ; ??S_3
 000000DE  2106      MOV         R1,#0x6
 000000E0  F7FF      BL          USART0_send_string?T  ; T=0x0001  (1)
 000000E2  FF8E      BL          USART0_send_string?T  ; T=0x0001  (2)
   70:             continue ;
 000000E4  E007      B           L_6  ; T=0x000000F6
   71:         }
 000000E6          L_13:
   75:             USART0_send_string(bpData,3);
 000000E6  A802      ADD         R0,R13,#0x8
 000000E8  2103      MOV         R1,#0x3
 000000EA  F7FF      BL          USART0_send_string?T  ; T=0x0001  (1)
 000000EC  FF89      BL          USART0_send_string?T  ; T=0x0001  (2)
   76:             USART0_send_string("HAVE ERROR",10);
 000000EE  4800      LDR         R0,=??S_4 ; ??S_4
 000000F0  210A      MOV         R1,#0xA
 000000F2  F7FF      BL          USART0_send_string?T  ; T=0x0001  (1)
 000000F4  FF85      BL          USART0_send_string?T  ; T=0x0001  (2)
   79:     }
 000000F6          L_6:
 000000F6  3401      ADD         R4,#0x1
 000000F8  0624      LSL         R4,R4,#0x18
 000000FA  0E24      LSR         R4,R4,#0x18
 000000FC          L_8:
 000000FC  1C20      MOV         R0,R4 ; bI
 000000FE  0600      LSL         R0,R0,#0x18 ; bI
 00000100  0E00      LSR         R0,R0,#0x18
 00000102  28F5      CMP         R0,#0xF5
 00000104  DA00      BLT         $+4
 00000106  E77F      B           L_9  ; T=0x00000008
 0000010A            ; SCOPE-END
   80: }
 0000010A  B003      ADD         R13,#0xC
 0000010C  BC30      POP         {R4-R5}
 0000010E  BC08      POP         {R3}
 00000110  4718      BX          R3
 00000112          ENDP ; 'AT91F_TestEEPROM?T'


*** CODE SEGMENT '?PR?main?main':
   81: int main()
 00000000  B500      PUSH        {LR}
   84:     uartinit();
 00000002  F7FF      BL          uartinit?T  ; T=0x0001  (1)
 00000004  FFFD      BL          uartinit?T  ; T=0x0001  (2)
   85:     USART0_send_string("begin to test twi",17);
 00000006  4800      LDR         R0,=??S_5 ; ??S_5
 00000008  2111      MOV         R1,#0x11
 0000000A  F7FF      BL          USART0_send_string?T  ; T=0x0001  (1)
 0000000C  FFF9      BL          USART0_send_string?T  ; T=0x0001  (2)
   86:     USART0_send_string("open twi",8);
 0000000E  4800      LDR         R0,=??S_6 ; ??S_6
 00000010  2108      MOV         R1,#0x8
 00000012  F7FF      BL          USART0_send_string?T  ; T=0x0001  (1)
 00000014  FFF5      BL          USART0_send_string?T  ; T=0x0001  (2)
   87:     while(1)
 00000016          L_17:
   90:         AT91F_TWI_Open();
 00000016  F7FF      BL          AT91F_TWI_Open?T  ; T=0x0001  (1)
 00000018  FFF3      BL          AT91F_TWI_Open?T  ; T=0x0001  (2)
   91:         AT91F_TestEEPROM();
 0000001A  F7FF      BL          AT91F_TestEEPROM?T  ; T=0x0001  (1)
 0000001C  FFF1      BL          AT91F_TestEEPROM?T  ; T=0x0001  (2)
   92:     }
 0000001E  E7FA      B           L_17  ; T=0x00000016
   93: }
ARM COMPILER V2.53,  main                                                                  19/07/06  08:38:08  PAGE 7   

 00000020  BC08      POP         {R3}
 00000022  4718      BX          R3
 00000024          ENDP ; 'main'



Module Information          Static
----------------------------------
  code size            =    ------
  data size            =        84
  const size           =        63
End of Module Information.


ARM COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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