📄 alamc.lst
字号:
###############################################################################
# #
# 06/Dec/2008 17:12:50 #
# IAR ARM ANSI C/C++ Compiler V5.11.0.20622/W32 EVALUATION #
# Copyright 1999-2007 IAR Systems. All rights reserved. #
# #
# Cpu mode = thumb #
# Endian = little #
# Source file = E:\ELE\yten\pro\app\ALAMC.C #
# Command line = E:\ELE\yten\pro\app\ALAMC.C -D EMB_FLASH -lCN #
# E:\ELE\yten\pro\Debug\List\ -lb #
# E:\ELE\yten\pro\Debug\List\ -o #
# E:\ELE\yten\pro\Debug\Obj\ --no_cse --no_unroll #
# --no_inline --no_code_motion --no_tbaa --no_clustering #
# --no_scheduling --debug --endian little --cpu Cortex-M3 #
# -e --fpu None --dlib_config "C:\Program Files\IAR #
# Systems\Embedded Workbench 5.0 #
# Evaluation\ARM\INC\DLib_Config_Normal.h" -I #
# E:\ELE\yten\pro\ -I E:\ELE\yten\pro\..\LIBRARY\INC\ -I #
# "C:\Program Files\IAR Systems\Embedded Workbench 5.0 #
# Evaluation\ARM\INC\" --section .text=.XML -On #
# List file = E:\ELE\yten\pro\Debug\List\ALAMC.lst #
# Object file = E:\ELE\yten\pro\Debug\Obj\ALAMC.o #
# #
# #
###############################################################################
E:\ELE\yten\pro\app\ALAMC.C
1 #include"ytep.h"
2 #include"ytepfunction.h"
3 #define yt_Alamc_file
\ In section .rodata, align 4
4 const Int16U ALA_TEM_TAB[]={0,4,8, 13,17,21, 26,30,34, 39,43,47, 52,56,60};
\ ALA_TEM_TAB:
\ 00000000 000004000800 DC16 0, 4, 8, 13, 17, 21, 26, 30, 34, 39, 43, 47, 52, 56, 60
\ 0D0011001500
\ 1A001E002200
\ 27002B002F00
\ 340038003C00
\ 0000001E 0000 DC8 0, 0
5 #define BELL_ON GPIOA->ODR|=1
6 #define BELL_OFF GPIOA->ODR&=0XFFFE
7 /////////////////////////////////////////
8
\ In section .XML, align 4, keep-with-next
9 Int16U ALAMCREGISTER(Int8U *HourMin,Int16U *p,TIM *pos,Int16U *point)
10 {
\ ALAMCREGISTER:
\ 00000000 2DE9F143 PUSH {R0,R4-R9,LR}
\ 00000004 8846 MOV R8,R1
\ 00000006 9946 MOV R9,R3
\ 00000008 0100 MOVS R1,R0
11 Int16U a,b,c,d;
12 static Int16U a_buf=0;
13 a=*point|*(point+1)|*(point+2)|*(point+3);
\ 0000000A B9F80070 LDRH R7,[R9, #+0]
\ 0000000E B9F80200 LDRH R0,[R9, #+2]
\ 00000012 3843 ORRS R0,R0,R7
\ 00000014 B9F80470 LDRH R7,[R9, #+4]
\ 00000018 0743 ORRS R7,R7,R0
\ 0000001A B9F80600 LDRH R0,[R9, #+6]
\ 0000001E 3843 ORRS R0,R0,R7
\ 00000020 0300 MOVS R3,R0
14 b=a^a_buf;
\ 00000022 3948 LDR.N R0,??ALAMCREGISTER_0 ;; ??a_buf
\ 00000024 0088 LDRH R0,[R0, #+0]
\ 00000026 5840 EORS R0,R0,R3
\ 00000028 0400 MOVS R4,R0
15 if(b==0)return 0; //
\ 0000002A A4B2 UXTH R4,R4 ;; ZeroExtS R4,R4,#+16,#+16
\ 0000002C 002C CMP R4,#+0
\ 0000002E 01D1 BNE.N ??ALAMCREGISTER_1
\ 00000030 0020 MOVS R0,#+0
\ 00000032 66E0 B.N ??ALAMCREGISTER_2
16 a_buf=a;
\ ??ALAMCREGISTER_1:
\ 00000034 3448 LDR.N R0,??ALAMCREGISTER_0 ;; ??a_buf
\ 00000036 0380 STRH R3,[R0, #+0]
17 for(c=0;c<C_RF_MAX_COUNT;++c)
\ 00000038 0020 MOVS R0,#+0
\ 0000003A 0500 MOVS R5,R0
\ ??ALAMCREGISTER_3:
\ 0000003C ADB2 UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
\ 0000003E 0F2D CMP R5,#+15
\ 00000040 5ED2 BCS.N ??ALAMCREGISTER_4
18 {
19 if((a&1)&&(b&1))
\ 00000042 1800 MOVS R0,R3
\ 00000044 0127 MOVS R7,#+1
\ 00000046 0740 ANDS R7,R7,R0
\ 00000048 BC46 MOV R12,R7
\ 0000004A 2700 MOVS R7,R4
\ 0000004C 0120 MOVS R0,#+1
\ 0000004E 3840 ANDS R0,R0,R7
\ 00000050 6746 MOV R7,R12
\ 00000052 0742 TST R7,R0
\ 00000054 4ED0 BEQ.N ??ALAMCREGISTER_5
20 {
21 d=2*c;
\ 00000056 0220 MOVS R0,#+2
\ 00000058 05FB00F6 MUL R6,R5,R0
22 pos->Tem[d+1]=pos->Tem[d];
\ 0000005C B6B2 UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
\ 0000005E 0220 MOVS R0,#+2
\ 00000060 06FB0020 MLA R0,R6,R0,R2
\ 00000064 B6B2 UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
\ 00000066 0227 MOVS R7,#+2
\ 00000068 06FB0727 MLA R7,R6,R7,R2
\ 0000006C BF8F LDRH R7,[R7, #+60]
\ 0000006E C787 STRH R7,[R0, #+62]
23 pos->Tem[d]=*(p+ALA_TEM_TAB[c]);
\ 00000070 ADB2 UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
\ 00000072 0220 MOVS R0,#+2
\ 00000074 6843 MULS R0,R5,R0
\ 00000076 254F LDR.N R7,??ALAMCREGISTER_0+0x4 ;; ALA_TEM_TAB
\ 00000078 385A LDRH R0,[R7, R0]
\ 0000007A 0227 MOVS R7,#+2
\ 0000007C 00FB0780 MLA R0,R0,R7,R8
\ 00000080 0088 LDRH R0,[R0, #+0]
\ 00000082 B6B2 UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
\ 00000084 0227 MOVS R7,#+2
\ 00000086 06FB0727 MLA R7,R6,R7,R2
\ 0000008A B887 STRH R0,[R7, #+60]
24 pos->HOUR[d+1]=pos->HOUR[d];
\ 0000008C B6B2 UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
\ 0000008E 0220 MOVS R0,#+2
\ 00000090 06FB0020 MLA R0,R6,R0,R2
\ 00000094 7A30 ADDS R0,R0,#+122
\ 00000096 B6B2 UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
\ 00000098 0227 MOVS R7,#+2
\ 0000009A 06FB0727 MLA R7,R6,R7,R2
\ 0000009E 7837 ADDS R7,R7,#+120
\ 000000A0 3F88 LDRH R7,[R7, #+0]
\ 000000A2 0780 STRH R7,[R0, #+0]
25 pos->HOUR[d]=*(HourMin+1);
\ 000000A4 B6B2 UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
\ 000000A6 0220 MOVS R0,#+2
\ 000000A8 06FB0020 MLA R0,R6,R0,R2
\ 000000AC 7830 ADDS R0,R0,#+120
\ 000000AE 4F78 LDRB R7,[R1, #+1]
\ 000000B0 0780 STRH R7,[R0, #+0]
26 pos->MIN[d+1]=pos->MIN[d];
\ 000000B2 B6B2 UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
\ 000000B4 0220 MOVS R0,#+2
\ 000000B6 06FB0020 MLA R0,R6,R0,R2
\ 000000BA B630 ADDS R0,R0,#+182
\ 000000BC B6B2 UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
\ 000000BE 0227 MOVS R7,#+2
\ 000000C0 06FB0727 MLA R7,R6,R7,R2
\ 000000C4 B437 ADDS R7,R7,#+180
\ 000000C6 3F88 LDRH R7,[R7, #+0]
\ 000000C8 0780 STRH R7,[R0, #+0]
27 pos->MIN[d]=*HourMin;
\ 000000CA B6B2 UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
\ 000000CC 0220 MOVS R0,#+2
\ 000000CE 06FB0020 MLA R0,R6,R0,R2
\ 000000D2 B430 ADDS R0,R0,#+180
\ 000000D4 0F78 LDRB R7,[R1, #+0]
\ 000000D6 0780 STRH R7,[R0, #+0]
28
29 pos->Flag[d+1]=pos->Flag[d];
\ 000000D8 B6B2 UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
\ 000000DA 0220 MOVS R0,#+2
\ 000000DC 06FB0020 MLA R0,R6,R0,R2
\ 000000E0 B6B2 UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
\ 000000E2 0227 MOVS R7,#+2
\ 000000E4 7743 MULS R7,R6,R7
\ 000000E6 D75B LDRH R7,[R2, R7]
\ 000000E8 4780 STRH R7,[R0, #+2]
30 pos->Flag[d]=C_TEST_ALA_HIS;
\ 000000EA B6B2 UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
\ 000000EC 0220 MOVS R0,#+2
\ 000000EE 7043 MULS R0,R6,R0
\ 000000F0 FE27 MOVS R7,#+254
\ 000000F2 1752 STRH R7,[R2, R0]
31 }
32 a>>=1,b>>=1;
\ ??ALAMCREGISTER_5:
\ 000000F4 9BB2 UXTH R3,R3 ;; ZeroExtS R3,R3,#+16,#+16
\ 000000F6 5B08 LSRS R3,R3,#+1
\ 000000F8 A4B2 UXTH R4,R4 ;; ZeroExtS R4,R4,#+16,#+16
\ 000000FA 6408 LSRS R4,R4,#+1
33 }
\ 000000FC 6D1C ADDS R5,R5,#+1
\ 000000FE 9DE7 B.N ??ALAMCREGISTER_3
34 return 0;
\ ??ALAMCREGISTER_4:
\ 00000100 0020 MOVS R0,#+0
\ ??ALAMCREGISTER_2:
\ 00000102 01B0 ADD SP,SP,#+4
\ 00000104 BDE8F083 POP {R4-R9,PC} ;; return
\ ??ALAMCREGISTER_0:
\ 00000108 ........ DC32 ??a_buf
\ 0000010C ........ DC32 ALA_TEM_TAB
35 }
\ In section .bss, align 2
\ ??a_buf:
\ 00000000 DS8 2
36
37
38 //////////////////////////////////////////
39
\ In section .XML, align 4, keep-with-next
40 Int16U Fast_TEM_NOTS(Int16U n,Int16U m,Int16U *p,SensorRF *pos)
41 {
\ Fast_TEM_NOTS:
\ 00000000 2DE9F143 PUSH {R0,R4-R9,LR}
\ 00000004 8046 MOV R8,R0
\ 00000006 9146 MOV R9,R2
42 static Int16U FTimer,sw;
43 static Int8U FNOT[C_RF_MAX_COUNT][10];
44 static Boolean B_start=0;
45 Int16U a,b,c;
46 if(B_start==0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -