MSP
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено lamerok 18 августа 2004 г. 13:41
В ответ на: Пожалуйста, откомпилируйте кто чем может( С для МК ) файл по ссылке и покажите листинг, в картинке листинг для HT-PICC отправлено patton 18 августа 2004 г. 13:13


##############################################################################
# #
# IAR MSP430 C/C++ Compiler V3.10A/W32 [Evaluation] 18/Aug/2004 13:40:45 #
# Copyright 1996-2004 IAR Systems. All rights reserved. #
# #
# __rt_version = 2 #
# __double_size = 32 #
# __reg_r4 = free #
# __reg_r5 = free #
# __pic = no #
# Source file = C:\Мои документы\Main.c #
# Command line = -I "D:\Program Files\IAR Systems\Embedded Workbench #
# Evaluation 4.0\430\INC\" -I "D:\Program Files\IAR #
# Systems\Embedded Workbench Evaluation #
# 4.0\430\INC\CLIB\" -lCN "C:\Мои #
# документы\Debug\List\" -o "C:\Мои #
# документы\Debug\Obj\" -z3 --no_cse --no_unroll #
# --no_inline --no_code_motion --no_tbaa --debug -e #
# --double=32 "C:\Мои документы\Main.c" #
# List file = C:\Мои документы\Debug\List\Main.lst #
# Object file = C:\Мои документы\Debug\Obj\Main.r43 #
# #
# #
##############################################################################

C:\Мои документы\Main.c
1

\ In segment CODE, align 2
2 short test( char* src )
\ test:
3 {
4 short result = *( short* )src;
\ 000000 2F4C MOV.W @R12, R15
5 return result;
\ 000002 0C4F MOV.W R15, R12
\ 000004 3041 RET
6 }
7

\ In segment CODE, align 2
8 short badtest( char* packet )
\ badtest:
9 {
10 short result = packet[0] | (((signed char)packet[1])<<8);
\ 000000 6F4C MOV.B @R12, R15
\ 000002 3FF0FF00 AND.W #0xff, R15
\ 000006 5E4C0100 MOV.B 0x1(R12), R14
\ 00000A 8E11 SXT R14
\ 00000C 3EF0FF00 AND.W #0xff, R14
\ 000010 8E10 SWPB R14
\ 000012 0FDE BIS.W R14, R15
11 return result;
\ 000014 0C4F MOV.W R15, R12
\ 000016 3041 RET
12 }

\ In segment CODE, align 2
13 void main()
\ main:
14 {
\ 000000 0A12 PUSH.W R10
\ 000002 2183 SUB.W #0x2, SP
15 char buf[ 2 ];
16 short result, badresult;
17 *(short*)buf = 0x1234;
\ 000004 B14034120000 MOV.W #0x1234, 0x0(SP)
18 while( 1 )
19 {
20 result = test( buf );
\ ??main_0:
\ 00000A 0C41 MOV.W SP, R12
\ 00000C B012.... CALL #test
\ 000010 0A4C MOV.W R12, R10
21 badresult = badtest( buf );
\ 000012 0C41 MOV.W SP, R12
\ 000014 B012.... CALL #badtest
22 if( result != badresult )
\ 000018 0A9C CMP.W R12, R10
\ 00001A F727 JEQ ??main_0
23 break;
24 }
25 error:
26 goto error;
\ ??main_1:
\ 00001C FF3F JMP ??main_1
27 }
28
29
30

Maximum stack usage in bytes:

Function CSTACK
-------- ------
badtest 2
main 6
-> test 6
-> badtest 6
test 2


Segment part sizes:

Function/Label Bytes
-------------- -----
test 6
badtest 24
main 30


60 bytes in segment CODE

60 bytes of CODE memory

Errors: none
Warnings: none


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

Ответы



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

E-mail: info@telesys.ru