📄 main.lst
字号:
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 + -