|
##############################################################################
# #
# IAR MSP430 C/C++ Compiler V3.20A/W32 [Evaluation] 18/Aug/2004 15:38:18 #
# Copyright 1996-2004 IAR Systems. All rights reserved. #
# #
# __rt_version = 2 #
# __double_size = 32 #
# __reg_r4 = free #
# __reg_r5 = free #
# __pic = no #
# __core = 64kb #
# Source file = F:\MSP430\Test\test\c.c #
# Command line = -I "C:\Compil\IAR Embedded Workbench 4.0\430\INC\" -I #
# "C:\Compil\IAR Embedded Workbench 4.0\430\INC\CLIB\" #
# -lCN F:\MSP430\Test\test\Release\List\ -o #
# F:\MSP430\Test\test\Release\Obj\ -s9 --no_code_motion #
# -e --double=32 F:\MSP430\Test\test\c.c #
# List file = F:\MSP430\Test\test\Release\List\c.lst #
# Object file = F:\MSP430\Test\test\Release\Obj\c.r43 #
# #
# #
##############################################################################F:\MSP430\Test\test\c.c
1
2 #include
3
4
5 short test( char* src );
6 short badtest( char* packet );
7\ In segment CODE, align 2
8 void main()
\ main:
9 {
\ 000000 0A12 PUSH.W R10
\ 000002 2183 SUB.W #0x2, SP
10 char buf[ 2 ];
11 short result, badresult;
12 *(short*)buf = 0x1234;
\ 000004 B14034120000 MOV.W #0x1234, 0x0(SP)
13 while( 1 )
14 {
15 result = test( buf );
\ ??main_0:
\ 00000A 0C41 MOV.W SP, R12
\ 00000C B012.... CALL #test
\ 000010 0A4C MOV.W R12, R10
16 badresult = badtest( buf );
17 if( result != badresult )
\ 000012 0C41 MOV.W SP, R12
\ 000014 B012.... CALL #badtest
\ 000018 0A9C CMP.W R12, R10
\ 00001A F727 JEQ ??main_0
18 break;
19 }
20 error:
21 goto error;
\ ??main_1:
\ 00001C FF3F JMP ??main_1
22 }Maximum stack usage in bytes:
Function CSTACK
-------- ------
main 6
-> test 6
-> badtest 6
Segment part sizes:Function/Label Bytes
-------------- -----
main 30
30 bytes in segment CODE
30 bytes of CODE memoryErrors: none
Warnings: none##############################################################################
# #
# IAR MSP430 C/C++ Compiler V3.20A/W32 [Evaluation] 18/Aug/2004 15:38:18 #
# Copyright 1996-2004 IAR Systems. All rights reserved. #
# #
# __rt_version = 2 #
# __double_size = 32 #
# __reg_r4 = free #
# __reg_r5 = free #
# __pic = no #
# __core = 64kb #
# Source file = F:\MSP430\Test\test\cc.c #
# Command line = -I "C:\Compil\IAR Embedded Workbench 4.0\430\INC\" -I #
# "C:\Compil\IAR Embedded Workbench 4.0\430\INC\CLIB\" #
# -lCN F:\MSP430\Test\test\Release\List\ -o #
# F:\MSP430\Test\test\Release\Obj\ -s9 --no_code_motion #
# -e --double=32 F:\MSP430\Test\test\cc.c #
# List file = F:\MSP430\Test\test\Release\List\cc.lst #
# Object file = F:\MSP430\Test\test\Release\Obj\cc.r43 #
# #
# #
##############################################################################F:\MSP430\Test\test\cc.c
1
2 #include
3
4\ In segment CODE, align 2
5 short test( char* src )
\ test:
6 {
7 short result = *( short* )src;
8 return result;
\ 000000 2C4C MOV.W @R12, R12
\ 000002 3041 RET
9 }
10\ In segment CODE, align 2
11 short badtest( char* packet )
\ badtest:
12 {
13 short result = packet[0] | (((signed char)packet[1])<<8);
14 return result;
\ 000000 6F4C MOV.B @R12, R15
\ 000002 5E4C0100 MOV.B 0x1(R12), R14
\ 000006 8E10 SWPB R14
\ 000008 0FDE BIS.W R14, R15
\ 00000A 0C4F MOV.W R15, R12
\ 00000C 3041 RET
15 }Maximum stack usage in bytes:
Function CSTACK
-------- ------
badtest 2
test 2
Segment part sizes:Function/Label Bytes
-------------- -----
test 4
badtest 14
18 bytes in segment CODE
18 bytes of CODE memoryErrors: none
Warnings: none
E-mail: info@telesys.ru