?? ad9958.lst
字號:
00000044 D101 BNE L_13 ; T=0x0000004A
00000046 2580 MOV R5,#0x80
00000048 E003 B L_12 ; T=0x00000052
0000004A L_13:
136: else if(chan==2)chan_temp=0xf0;
0000004A 1C18 MOV R0,R3 ; chan
0000004C 2802 CMP R0,#0x2 ; chan
0000004E D100 BNE L_12 ; T=0x00000052
00000050 25F0 MOV R5,#0xF0
00000052 L_12:
138: freq*=(double)17.179869184;
00000052 1C10 MOV R0,R2 ; freq
00000054 4800 LDR R1,=0x4189705F
00000056 F7FF BL ?C?FPMUL?T ; T=0x0001 (1) ; ?C?FPMUL?T
00000058 FFD3 BL ?C?FPMUL?T ; T=0x0001 (2) ; ?C?FPMUL?T
0000005A 1C02 MOV R2,R0 ; freq
140: freq_temp.int_value=(unsigned int)freq;
0000005C F7FF BL ?C?CASTF?T ; T=0x0001 (1) ; ?C?CASTF?T
0000005E FFD0 BL ?C?CASTF?T ; T=0x0001 (2) ; ?C?CASTF?T
00000060 9000 STR R0,[R13,#0x0] ; freq_temp
143: AD9958_CS_OFF
00000062 4800 LDR R1,=0x800000
00000064 4800 LDR R0,=0xE002801C
00000066 6001 STR R1,[R0,#0x0]
144: AD9958_UPDATE_OFF
00000068 4800 LDR R0,=0xE002800C
0000006A 6001 STR R1,[R0,#0x0]
147: send_data_to_spi(INSTRUCTION_CSR);
0000006C 2000 MOV R0,#0x0
0000006E F7FF BL send_data_to_spi?T ; T=0x0001 (1)
00000070 FFC7 BL send_data_to_spi?T ; T=0x0001 (2)
148: send_data_to_spi(chan_temp);
00000072 1C28 MOV R0,R5 ; chan_temp
ARM COMPILER V2.53, AD9958 23/07/06 16:59:03 PAGE 9
00000074 0600 LSL R0,R0,#0x18 ; chan_temp
00000076 0E00 LSR R0,R0,#0x18
00000078 F7FF BL send_data_to_spi?T ; T=0x0001 (1)
0000007A FFC2 BL send_data_to_spi?T ; T=0x0001 (2)
151: send_data_to_spi(INSTRUCTION_CTW0);
0000007C 2004 MOV R0,#0x4
0000007E F7FF BL send_data_to_spi?T ; T=0x0001 (1)
00000080 FFBF BL send_data_to_spi?T ; T=0x0001 (2)
152: send_data_to_spi(freq_temp.char_value._4);
00000082 2003 MOV R0,#0x3
00000084 4468 ADD R0,R13
00000086 7800 LDRB R0,[R0,#0x0] ; freq_temp+3
00000088 F7FF BL send_data_to_spi?T ; T=0x0001 (1)
0000008A FFBA BL send_data_to_spi?T ; T=0x0001 (2)
153: send_data_to_spi(freq_temp.char_value._3);
0000008C 2002 MOV R0,#0x2
0000008E 4468 ADD R0,R13
00000090 7800 LDRB R0,[R0,#0x0] ; freq_temp+2
00000092 F7FF BL send_data_to_spi?T ; T=0x0001 (1)
00000094 FFB5 BL send_data_to_spi?T ; T=0x0001 (2)
154: send_data_to_spi(freq_temp.char_value._2);
00000096 2001 MOV R0,#0x1
00000098 4468 ADD R0,R13
0000009A 7800 LDRB R0,[R0,#0x0] ; freq_temp+1
0000009C F7FF BL send_data_to_spi?T ; T=0x0001 (1)
0000009E FFB0 BL send_data_to_spi?T ; T=0x0001 (2)
155: send_data_to_spi(freq_temp.char_value._1);
000000A0 A800 ADD R0,R13,#0x0
000000A2 7800 LDRB R0,[R0,#0x0] ; freq_temp
000000A4 F7FF BL send_data_to_spi?T ; T=0x0001 (1)
000000A6 FFAC BL send_data_to_spi?T ; T=0x0001 (2)
157: AD9958_UPDATE_ON
000000A8 4800 LDR R1,=0x800000
000000AA 4800 LDR R0,=0xE0028004
000000AC 6001 STR R1,[R0,#0x0]
158: AD9958_CS_ON
000000AE 4800 LDR R0,=0xE0028014
000000B0 6001 STR R1,[R0,#0x0]
160: set_ad9958_synchronization();
000000B2 F7FF BL set_ad9958_synchronization?T ; T=0x0001 (1)
000000B4 FFA5 BL set_ad9958_synchronization?T ; T=0x0001 (2)
161: return 1;
000000B6 2001 MOV R0,#0x1
000000B8 ; SCOPE-END
162: }
000000B8 L_8:
000000B8 B001 ADD R13,#0x4
000000BA BC30 POP {R4-R5}
000000BC BC08 POP {R3}
000000BE 4718 BX R3
000000C0 ENDP ; 'set_frequency?T'
*** CODE SEGMENT '?PR?set_phase?T?AD9958':
175: int set_phase(int chan,double pha)
00000000 B530 PUSH {R4-R5,LR}
00000002 1C0A MOV R2,R1 ; pha
00000004 ---- Variable 'pha' assigned to Register 'R2' ----
00000004 1C03 MOV R3,R0 ; chan
00000006 ---- Variable 'chan' assigned to Register 'R3' ----
176: {
00000006 ; SCOPE-START
177: unsigned char chan_temp=0;
00000006 2500 MOV R5,#0x0
00000008 ---- Variable 'chan_temp' assigned to Register 'R5' ----
180: if(chan<0 || chan>2)return 0;
00000008 1C18 MOV R0,R3 ; chan
0000000A 2800 CMP R0,#0x0 ; chan
ARM COMPILER V2.53, AD9958 23/07/06 16:59:03 PAGE 10
0000000C DB02 BLT L_17 ; T=0x00000014
0000000E 1C18 MOV R0,R3 ; chan
00000010 2802 CMP R0,#0x2 ; chan
00000012 DD01 BLE L_16 ; T=0x00000018
00000014 L_17:
00000014 2000 MOV R0,#0x0
00000016 E04E B L_18 ; T=0x000000B6
00000018 L_16:
181: if(pha>359.9 || pha<0)return 0;
00000018 4800 LDR R4,=0x43B3F333
0000001A 1C10 MOV R0,R2 ; pha
0000001C 1C21 MOV R1,R4
0000001E F7FF BL ?C?FPCMP?T ; T=0x0001 (1) ; ?C?FPCMP?T
00000020 FFEF BL ?C?FPCMP?T ; T=0x0001 (2) ; ?C?FPCMP?T
00000022 D805 BHI L_20 ; T=0x00000030
00000024 2400 MOV R4,#0x0
00000026 1C10 MOV R0,R2 ; pha
00000028 1C21 MOV R1,R4
0000002A F7FF BL ?C?FPCMP?T ; T=0x0001 (1) ; ?C?FPCMP?T
0000002C FFE9 BL ?C?FPCMP?T ; T=0x0001 (2) ; ?C?FPCMP?T
0000002E D201 BCS L_19 ; T=0x00000034
00000030 L_20:
00000030 2000 MOV R0,#0x0
00000032 E040 B L_18 ; T=0x000000B6
00000034 L_19:
184: if(chan==0)chan_temp=0x40;
00000034 1C18 MOV R0,R3 ; chan
00000036 2800 CMP R0,#0x0 ; chan
00000038 D101 BNE L_21 ; T=0x0000003E
0000003A 2540 MOV R5,#0x40
0000003C E008 B L_22 ; T=0x00000050
0000003E L_21:
185: else if(chan==1)chan_temp=0x80;
0000003E 1C18 MOV R0,R3 ; chan
00000040 2801 CMP R0,#0x1 ; chan
00000042 D101 BNE L_23 ; T=0x00000048
00000044 2580 MOV R5,#0x80
00000046 E003 B L_22 ; T=0x00000050
00000048 L_23:
186: else if(chan==2)chan_temp=0xf0;
00000048 1C18 MOV R0,R3 ; chan
0000004A 2802 CMP R0,#0x2 ; chan
0000004C D100 BNE L_22 ; T=0x00000050
0000004E 25F0 MOV R5,#0xF0
00000050 L_22:
188: pha*=45.511111111111111111111111111111;
00000050 1C10 MOV R0,R2 ; pha
00000052 4800 LDR R1,=0x42360B61
00000054 F7FF BL ?C?FPMUL?T ; T=0x0001 (1) ; ?C?FPMUL?T
00000056 FFD4 BL ?C?FPMUL?T ; T=0x0001 (2) ; ?C?FPMUL?T
00000058 1C02 MOV R2,R0 ; pha
190: pha_temp=(unsigned short)pha;
0000005A F7FF BL ?C?CASTF?T ; T=0x0001 (1) ; ?C?CASTF?T
0000005C FFD1 BL ?C?CASTF?T ; T=0x0001 (2) ; ?C?CASTF?T
0000005E 1C04 MOV R4,R0 ; pha_temp
00000060 ---- Variable 'pha_temp' assigned to Register 'R4' ----
193: AD9958_CS_OFF
00000060 4800 LDR R1,=0x800000
00000062 4800 LDR R0,=0xE002801C
00000064 6001 STR R1,[R0,#0x0]
194: AD9958_UPDATE_OFF
00000066 4800 LDR R0,=0xE002800C
00000068 6001 STR R1,[R0,#0x0]
197: send_data_to_spi(INSTRUCTION_CSR);
0000006A 2000 MOV R0,#0x0
0000006C F7FF BL send_data_to_spi?T ; T=0x0001 (1)
ARM COMPILER V2.53, AD9958 23/07/06 16:59:03 PAGE 11
0000006E FFC8 BL send_data_to_spi?T ; T=0x0001 (2)
198: send_data_to_spi(chan_temp);
00000070 1C28 MOV R0,R5 ; chan_temp
00000072 0600 LSL R0,R0,#0x18 ; chan_temp
00000074 0E00 LSR R0,R0,#0x18
00000076 F7FF BL send_data_to_spi?T ; T=0x0001 (1)
00000078 FFC3 BL send_data_to_spi?T ; T=0x0001 (2)
201: send_data_to_spi(INSTRUCTION_CPW0);
0000007A 2005 MOV R0,#0x5
0000007C F7FF BL send_data_to_spi?T ; T=0x0001 (1)
0000007E FFC0 BL send_data_to_spi?T ; T=0x0001 (2)
202: send_data_to_spi((unsigned char)((pha_temp&0xff00)>>8));
00000080 1C20 MOV R0,R4 ; pha_temp
00000082 0400 LSL R0,R0,#0x10 ; pha_temp
00000084 0C00 LSR R0,R0,#0x10
00000086 4800 LDR R1,=0xFF00
00000088 4008 AND R0,R1
0000008A 1200 ASR R0,R0,#0x8
0000008C 0600 LSL R0,R0,#0x18
0000008E 0E00 LSR R0,R0,#0x18
00000090 0600 LSL R0,R0,#0x18
00000092 0E00 LSR R0,R0,#0x18
00000094 F7FF BL send_data_to_spi?T ; T=0x0001 (1)
00000096 FFB4 BL send_data_to_spi?T ; T=0x0001 (2)
203: send_data_to_spi((unsigned char)(pha_temp&0x00ff));
00000098 1C20 MOV R0,R4 ; pha_temp
0000009A 0400 LSL R0,R0,#0x10 ; pha_temp
0000009C 0C00 LSR R0,R0,#0x10
0000009E 21FF MOV R1,#0xFF
000000A0 4008 AND R0,R1
000000A2 F7FF BL send_data_to_spi?T ; T=0x0001 (1)
000000A4 FFAD BL send_data_to_spi?T ; T=0x0001 (2)
206: AD9958_UPDATE_ON
000000A6 4800 LDR R1,=0x800000
000000A8 4800 LDR R0,=0xE0028004
000000AA 6001 STR R1,[R0,#0x0]
207: AD9958_CS_ON
000000AC 4800 LDR R0,=0xE0028014
000000AE 6001 STR R1,[R0,#0x0]
208: set_ad9958_synchronization();
000000B0 F7FF BL set_ad9958_synchronization?T ; T=0x0001 (1)
000000B2 FFA6 BL set_ad9958_synchronization?T ; T=0x0001 (2)
209: return 1;
000000B4 2001 MOV R0,#0x1
000000B6 ; SCOPE-END
210: }
000000B6 L_18:
000000B6 BC30 POP {R4-R5}
000000B8 BC08 POP {R3}
000000BA 4718 BX R3
000000BC ENDP ; 'set_phase?T'
Module Information Static
----------------------------------
code size = ------
data size = ------
const size = ------
End of Module Information.
ARM COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -