[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ: Попробовал я Ваш тест на BN722, и вот что получилось.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено trainer 28 января 2002 г. 13:13
В ответ на: Keil и Raisonanse (+) отправлено Absconder 27 января 2002 г. 22:48


RC51 COMPILER V03.03.23, TEST1 01/28/02 13:16:21 PAGE 1

QCW(0x00031E22)

WIN32 RC51 COMPILER V03.03.23, COMPILATION OF MODULE TEST1
OBJECT MODULE PLACED IN c:\programmer\ride\projects\test\test1.obj
COMPILER INVOKED BY: RC51.EXE C:\PROGRAMMER\RIDE\PROJECTS\TEST\TEST1.C OBJECT(C:
-\PROGRAMMER\RIDE\PROJECTS\TEST\TEST1.OBJ) PIN(C:\PROGRAMMER\RIDE\IN
-C) NOAM PR(C:\PROGRAMMER\RIDE\PROJECTS\TEST\TEST1.LST) CD SB NOAREG
-S OE(1) SM OT(7,SIZE) NOIP FP(BCD,FLOAT) PW(80) NOIS NOGENERIC UNSI
-GNEDCHAR

stmt level source
1 // XTAL = 11.0592 mHz Отимизация примерно одинаковая (Small, Speed
- - Level 7)
2
3 #include "math.h"
4 #include "reg51.h"
5
6 #define PI 3.1415927
7 #define KRad 1.745329E-2
8
9 unsigned int azimut_begin_tick,
10 azimut_end_tick,
11 naklon_begin_tick,
12 naklon_end_tick,
13 dlina_begin_tick,
14 dlina_end_tick;
15
16 float azimut_begin_grad,
17 azimut_end_grad,
18 naklon_begin_grad,
19 naklon_end_grad,
20 dlina_begin_m,
21 dlina_end_m;
22
23 float azimut_tick_na_grad,
24 naklon_tick_na_grad,
25 dlina_tick_na_m;
26
27 unsigned int L_tick,
28 a_tick,
29 b_tick;
30
31 float L_m,
32 R_m,
33 H_m,
34 a_grad,
35 a_rad,
36 b_grad,
37 b_rad;
38
39 void main(void)
40 {
41 1 for(;;) {
42 2
43 2 azimut_begin_tick=921;
44 2 azimut_end_tick=3341;
45 2 naklon_begin_tick=561;
46 2 naklon_end_tick=1746;
47 2 dlina_begin_tick=926;
48 2 dlina_end_tick=2711;
49 2 azimut_begin_grad=60;
50 2 azimut_end_grad=240;
51 2 naklon_begin_grad=7.5;
52 2 naklon_end_grad=72.5;
53 2 dlina_begin_m=9.7;
54 2 dlina_end_m=16.5;
55 2 azimut_tick_na_grad=(azimut_end_tick-azimut_begin_tick)/(azimut_en
-d_grad-azimut_begin_grad);
56 2 naklon_tick_na_grad=(naklon_end_tick-naklon_begin_tick)/(naklon_en
-d_grad-naklon_begin_grad);
57 2 dlina_tick_na_m=(dlina_end_tick-dlina_begin_tick)/(dlina_end_m-dli
-na_begin_m);
58 2
59 2 L_tick=1818;
60 2 L_m=dlina_begin_m+((L_tick-dlina_begin_tick)/dlina_tick_na_m);
61 2 a_tick=1153;
62 2 a_grad=naklon_begin_grad+((a_tick-naklon_begin_tick)/naklon_tick_n
-a_grad);
63 2 a_rad=a_grad*KRad;
64 2 H_m=L_m*sin(a_rad);
65 2 R_m=L_m*cos(a_rad);
66 2 }
67 1 }
68
69
70
RC51 COMPILER V03.03.23, TEST1 01/28/02 13:16:22 PAGE 2

ASSEMBLY LISTING OF GENERATED OBJECT CODE

; FUNCTION main (BEGIN)
0000 ?FOR1:
; SOURCE LINE # 43
0000 750003 R MOV azimut_begin_tick,#003H
0003 750099 R MOV azimut_begin_tick+01H,#099H
; SOURCE LINE # 44
0006 740D MOV A,#00DH
0008 F500 R MOV azimut_end_tick,A
000A F500 R MOV azimut_end_tick+01H,A
; SOURCE LINE # 45
000C 750002 R MOV naklon_begin_tick,#002H
000F 750031 R MOV naklon_begin_tick+01H,#031H
; SOURCE LINE # 46
0012 750006 R MOV naklon_end_tick,#006H
0015 7500D2 R MOV naklon_end_tick+01H,#0D2H
; SOURCE LINE # 47
0018 750003 R MOV dlina_begin_tick,#003H
001B 75009E R MOV dlina_begin_tick+01H,#09EH
; SOURCE LINE # 48
001E 75000A R MOV dlina_end_tick,#00AH
0021 750097 R MOV dlina_end_tick+01H,#097H
; SOURCE LINE # 49
0024 7900 R MOV R1,#azimut_begin_grad
0026 120000 R LCALL MV4_CS2I1?C
0029 DB 060H, 000H, 000H, 042H
; SOURCE LINE # 50
002D 7900 R MOV R1,#azimut_end_grad
002F 120000 R LCALL MV4_CS2I1?C
0032 DB 024H, 000H, 000H, 043H
; SOURCE LINE # 51
0036 7900 R MOV R1,#naklon_begin_grad
0038 120000 R LCALL MV4_CS2I1?C
003B DB 075H, 000H, 000H, 041H
; SOURCE LINE # 52
003F 7900 R MOV R1,#naklon_end_grad
0041 120000 R LCALL MV4_CS2I1?C
0044 DB 072H, 050H, 000H, 042H
; SOURCE LINE # 53
0048 7900 R MOV R1,#dlina_begin_m
004A 120000 R LCALL MV4_CS2I1?C
004D DB 097H, 000H, 000H, 041H
; SOURCE LINE # 54
0051 7900 R MOV R1,#dlina_end_m
0053 120000 R LCALL MV4_CS2I1?C
0056 DB 016H, 050H, 000H, 042H
; SOURCE LINE # 55
005A E500 R MOV A,azimut_end_tick+01H
005C C3 CLR C
005D 9500 R SUBB A,azimut_begin_tick+01H
005F FB MOV R3,A
0060 E500 R MOV A,azimut_end_tick
0062 9500 R SUBB A,azimut_begin_tick
0064 FA MOV R2,A
0065 E4 CLR A
0066 FC MOV R4,A
0067 FD MOV R5,A
0068 EA MOV A,R2
0069 FE MOV R6,A
006A EB MOV A,R3
006B FF MOV R7,A
006C 120000 R LCALL L2FL?C
006F 120000 R LCALL MV4_RG2SK?C
0072 7900 R MOV R1,#azimut_end_grad
0074 120000 R LCALL STACKPREP4?C
0077 120000 R LCALL MV4_I12SK?C
007A 7900 R MOV R1,#azimut_begin_grad
007C 120000 R LCALL MV4_I12RG?C
007F 120000 R LCALL SUBFL?C
0082 120000 R LCALL DIVFL?C
0085 7800 R MOV R0,#azimut_tick_na_grad
0087 120000 R LCALL MV4_RG2I0?C
; SOURCE LINE # 56
008A E500 R MOV A,naklon_end_tick+01H
008C C3 CLR C
008D 9500 R SUBB A,naklon_begin_tick+01H
008F FB MOV R3,A
0090 E500 R MOV A,naklon_end_tick
0092 9500 R SUBB A,naklon_begin_tick
0094 FA MOV R2,A
0095 E4 CLR A
0096 FC MOV R4,A
0097 FD MOV R5,A
0098 EA MOV A,R2
0099 FE MOV R6,A
009A EB MOV A,R3
009B FF MOV R7,A
009C 120000 R LCALL L2FL?C
009F 120000 R LCALL MV4_RG2SK?C
00A2 7900 R MOV R1,#naklon_end_grad
00A4 120000 R LCALL STACKPREP4?C
00A7 120000 R LCALL MV4_I12SK?C
00AA 7900 R MOV R1,#naklon_begin_grad
00AC 120000 R LCALL MV4_I12RG?C
00AF 120000 R LCALL SUBFL?C
00B2 120000 R LCALL DIVFL?C
00B5 7800 R MOV R0,#naklon_tick_na_grad
00B7 120000 R LCALL MV4_RG2I0?C
; SOURCE LINE # 57
00BA E500 R MOV A,dlina_end_tick+01H
00BC C3 CLR C
00BD 9500 R SUBB A,dlina_begin_tick+01H
00BF FB MOV R3,A
00C0 E500 R MOV A,dlina_end_tick
00C2 9500 R SUBB A,dlina_begin_tick
00C4 FA MOV R2,A
00C5 E4 CLR A
00C6 FC MOV R4,A
00C7 FD MOV R5,A
00C8 EA MOV A,R2
00C9 FE MOV R6,A
00CA EB MOV A,R3
00CB FF MOV R7,A
00CC 120000 R LCALL L2FL?C
00CF 120000 R LCALL MV4_RG2SK?C
00D2 7900 R MOV R1,#dlina_end_m
00D4 120000 R LCALL STACKPREP4?C
00D7 120000 R LCALL MV4_I12SK?C
00DA 7900 R MOV R1,#dlina_begin_m
00DC 120000 R LCALL MV4_I12RG?C
00DF 120000 R LCALL SUBFL?C
00E2 120000 R LCALL DIVFL?C
00E5 7800 R MOV R0,#dlina_tick_na_m
00E7 120000 R LCALL MV4_RG2I0?C
; SOURCE LINE # 59
00EA 750007 R MOV L_tick,#007H
00ED 75001A R MOV L_tick+01H,#01AH
; SOURCE LINE # 60
00F0 E500 R MOV A,L_tick+01H
00F2 C3 CLR C
00F3 9500 R SUBB A,dlina_begin_tick+01H
00F5 FB MOV R3,A
00F6 E500 R MOV A,L_tick
00F8 9500 R SUBB A,dlina_begin_tick
00FA FA MOV R2,A
00FB E4 CLR A
00FC FC MOV R4,A
00FD FD MOV R5,A
00FE EA MOV A,R2
00FF FE MOV R6,A
0100 EB MOV A,R3
0101 FF MOV R7,A
0102 120000 R LCALL L2FL?C
0105 120000 R LCALL MV4_RG2SK?C
0108 7900 R MOV R1,#dlina_tick_na_m
010A 120000 R LCALL MV4_I12RG?C
010D 120000 R LCALL DIVFL?C
0110 7900 R MOV R1,#dlina_begin_m
0112 120000 R LCALL STACKPREP4?C
0115 120000 R LCALL MV4_I12SK?C
0118 120000 R LCALL ADDFL?C
011B 7800 R MOV R0,#L_m
011D 120000 R LCALL MV4_RG2I0?C
; SOURCE LINE # 61
0120 750004 R MOV a_tick,#004H
0123 750081 R MOV a_tick+01H,#081H
; SOURCE LINE # 62
0126 E500 R MOV A,a_tick+01H
0128 C3 CLR C
0129 9500 R SUBB A,naklon_begin_tick+01H
012B FB MOV R3,A
012C E500 R MOV A,a_tick
012E 9500 R SUBB A,naklon_begin_tick
0130 FA MOV R2,A
0131 E4 CLR A
0132 FC MOV R4,A
0133 FD MOV R5,A
0134 EA MOV A,R2
0135 FE MOV R6,A
0136 EB MOV A,R3
0137 FF MOV R7,A
0138 120000 R LCALL L2FL?C
013B 120000 R LCALL MV4_RG2SK?C
013E 7900 R MOV R1,#naklon_tick_na_grad
0140 120000 R LCALL MV4_I12RG?C
0143 120000 R LCALL DIVFL?C
0146 7900 R MOV R1,#naklon_begin_grad
0148 120000 R LCALL STACKPREP4?C
014B 120000 R LCALL MV4_I12SK?C
014E 120000 R LCALL ADDFL?C
0151 7800 R MOV R0,#a_grad
0153 120000 R LCALL MV4_RG2I0?C
; SOURCE LINE # 63
0156 7900 R MOV R1,#a_grad
0158 120000 R LCALL STACKPREP4?C
015B 120000 R LCALL MV4_I12SK?C
015E 7C17 MOV R4,#017H
0160 7D45 MOV R5,#045H
0162 7E33 MOV R6,#033H
0164 7F3F MOV R7,#03FH
0166 120000 R LCALL MULFL?C
0169 7800 R MOV R0,#a_rad
016B 120000 R LCALL MV4_RG2I0?C
; SOURCE LINE # 64
016E 7900 R MOV R1,#a_rad
0170 120000 R LCALL MV4_I12RG?C
0173 120000 R LCALL ?sinf
0176 120000 R LCALL MV4_RG2SK?C
0179 7900 R MOV R1,#L_m
017B 120000 R LCALL MV4_I12RG?C
017E 120000 R LCALL MULFL?C
0181 7800 R MOV R0,#H_m
0183 120000 R LCALL MV4_RG2I0?C
; SOURCE LINE # 65
0186 7900 R MOV R1,#a_rad
0188 120000 R LCALL MV4_I12RG?C
018B 120000 R LCALL ?cosf
018E 120000 R LCALL MV4_RG2SK?C
0191 7900 R MOV R1,#L_m
0193 120000 R LCALL MV4_I12RG?C
0196 120000 R LCALL MULFL?C
0199 7800 R MOV R0,#R_m
019B 120000 R LCALL MV4_RG2I0?C
019E 020000 R LJMP ?FOR1

; FUNCTION main (END)

RC51 COMPILER V03.03.23, TEST1 01/28/02 13:16:22 PAGE 3

NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====

azimut_begin_tick. . . . . . . . . . . PUBLIC DATA U_INT 0000H 2
azimut_end_tick. . . . . . . . . . . . PUBLIC DATA U_INT 0002H 2
naklon_begin_tick. . . . . . . . . . . PUBLIC DATA U_INT 0004H 2
naklon_end_tick. . . . . . . . . . . . PUBLIC DATA U_INT 0006H 2
dlina_begin_tick . . . . . . . . . . . PUBLIC DATA U_INT 0008H 2
dlina_end_tick . . . . . . . . . . . . PUBLIC DATA U_INT 000AH 2
azimut_begin_grad. . . . . . . . . . . PUBLIC DATA FLOAT 000CH 4
azimut_end_grad. . . . . . . . . . . . PUBLIC DATA FLOAT 0010H 4
naklon_begin_grad. . . . . . . . . . . PUBLIC DATA FLOAT 0014H 4
naklon_end_grad. . . . . . . . . . . . PUBLIC DATA FLOAT 0018H 4
dlina_begin_m. . . . . . . . . . . . . PUBLIC DATA FLOAT 001CH 4
dlina_end_m. . . . . . . . . . . . . . PUBLIC DATA FLOAT 0020H 4
azimut_tick_na_grad. . . . . . . . . . PUBLIC DATA FLOAT 0024H 4
naklon_tick_na_grad. . . . . . . . . . PUBLIC DATA FLOAT 0028H 4
dlina_tick_na_m. . . . . . . . . . . . PUBLIC DATA FLOAT 002CH 4
L_tick . . . . . . . . . . . . . . . . PUBLIC DATA U_INT 0030H 2
a_tick . . . . . . . . . . . . . . . . PUBLIC DATA U_INT 0032H 2
b_tick . . . . . . . . . . . . . . . . PUBLIC DATA U_INT 0034H 2
L_m. . . . . . . . . . . . . . . . . . PUBLIC DATA FLOAT 0036H 4
R_m. . . . . . . . . . . . . . . . . . PUBLIC DATA FLOAT 003AH 4
H_m. . . . . . . . . . . . . . . . . . PUBLIC DATA FLOAT 003EH 4
a_grad . . . . . . . . . . . . . . . . PUBLIC DATA FLOAT 0042H 4
a_rad. . . . . . . . . . . . . . . . . PUBLIC DATA FLOAT 0046H 4
b_grad . . . . . . . . . . . . . . . . PUBLIC DATA FLOAT 004AH 4
b_rad. . . . . . . . . . . . . . . . . PUBLIC DATA FLOAT 004EH 4
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
sinf . . . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
cosf . . . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
RC51 COMPILER V03.03.23, TEST1 01/28/02 13:16:22 PAGE 4

MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 417 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 82 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru