Georg Icking-Konert | 21 Apr 21:29 2015
Picon

Re: stm8flash compile fails under MacOS X

Hi Philipp,

first of thanks a lot for the patch! However, I am new to paths and seem to be unable to apply it :-(   Specifically:

  • I copied the patch from your mail and saved it as Unix textfile to root of folder stm8flash
  • command "patch -p1 < stm8flash.patch“ —> patch: **** malformed patch at line 6: .PHONY: all clean
  • command "git apply --stat stm8flash.patch“ —> fatal: corrupt patch at line 6

—> 
  • where do I need to copy the patch to? I suppose it’s the root of folder stm8flash…?
  • what command do I need to call with what parameters?
  • anything else I have to consider?
  • maybe this is a stupid question, but is there a reason why this patch isn’t simply applied to Valentin’s repository?

For your help thanks a lot in advance!


From: Philipp Klaus Krause <pkk-dH2bkuHepfc@public.gmane.org>
Subject: Re: [Sdcc-user] stm8flash compile fails under MacOS X


Does the attached patch help?

Philipp

-------------- next part --------------
diff --git a/Makefile b/Makefile
index bac211b..c1951e2 100644


------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
Sdcc-user mailing list
Sdcc-user@...
https://lists.sourceforge.net/lists/listinfo/sdcc-user
Philipp Klaus Krause | 20 Apr 17:35 2015
Picon

Passing function arguments in registers on z80 and related, etc

More efficient calling conventions have been a frequently requested
improvement for the z80 port. However, changing the calling convention
breaks compability with exisiting asm libraries, so it should not be
done often. And finding the best calling convention will take a bit of
work. However, for now, I implemented support for the calling
conventions that are already in use by z88dk for the z80, z180, r2k,
r3ka and tlcs90 ports:

__z88dk_fastcall and __z88dk_callee

The first one can be used on functions that have exactly one argument of
at most 32 bits. This argument will be passed in the lower bytes of
dehl. It is now fully supported in sdcc.

The second one omits the stack cleanup for stack parameters in the
caller. It is currently only supported on the caller side (and thus only
useful for calling hand-written asm functions).

Please use sdcc 3.4.3 #9218 or later if you want to try these calling
conventions.

Philipp

------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
Sdcc-user mailing list
Sdcc-user@...
https://lists.sourceforge.net/lists/listinfo/sdcc-user
Georg Icking-Konert | 19 Apr 04:15 2015
Picon

stm8flash compile fails under MacOS X

hi all,

for the STM8 Discovery board I want to use Valentin's stm8flash tool (https://github.com/vdudouyt/stm8flash) for flashing via SWIM / ST-Link. This board has no UART<->USB connection and therefore cannot be programmed via UART boot loader —> need a SWIM tool

Unfortunately I wasn’t able to compile the tool on my Mac. Here's my steps with observations:

  • installed pkg-config and libusb via Homebrew --> worked
  • compile of stlink.c gave 

    • many warning messages like (ignored):
      stlink.c:37:71: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
      --> suppose this is not critical...? Disabled all warnings by CFLAGS += -w in Makefile

    • many error messages like (fixed):
      /usr/local/Cellar/libusb/1.0.19/include/libusb-1.0/libusb.h:1696:10: error: use of undeclared identifier ‚NULL'
      --> fixed by #include <stddef.h> in stlink.c before #include <libusb.h>

    • many error message like (open):
      stlink.c:340:12: error: use of undeclared identifier ‚stderr'
      fprintf(stderr, "Unknown status: %x\n", status);
      In addition it warns that 
      declaration of built-in function 'fprintf' requires inclusion of the header <stdio.h>
      --> it seems like the inclusion of <stdio.h> in line 4 of stlink.c has no effect...  :-(

  • to make sure my toolchain is ok, I compiled a dummy program with fprintf(stderr,"test"); and it was ok
—> I played around a lot but can't get that stdio.h error fixed. Apparently the compiler "forgets“ the stdio.h declarations completely and I have no clue, why…  :-( 


Hardware Setup:
  • iMac running MacOS X 10.10.3
  • "gcc -v“ yields:
    Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
    Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn)
    Target: x86_64-apple-darwin14.3.0
    Thread model: posix
  • HW works under Windows on a VirtualPC, i.e. STVD could flash & debug the board on the same Mac and USB port
Anybody has idea what's going wrong, or maybe even succeeded in compiling the tool for MacOS X? For your help thanks a lot in advance!

Regards, 
Georg Icking

------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
Sdcc-user mailing list
Sdcc-user@...
https://lists.sourceforge.net/lists/listinfo/sdcc-user
Heejeong Ryu | 25 Mar 20:22 2015

How to separate code

Hello.

 

How to separate program area to two; one in external RAM, the other in ROM.

 

We are using total 48Kbyte XRAM for program size. But we want to reduce XRAM size to 32KByte and move some function block of code to hard code area for cost.

 

In this case, how can make makefile? Does SDCC support this?

 

Do you have any similar case?

 

Thanks,

 

Heejeong Ryu

 

Marvell Semiconductor | 5488 Marvell Lane, Santa Clara, CA 95054
M A R V E L L | www.marvell.com | hryu-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Sdcc-user mailing list
Sdcc-user@...
https://lists.sourceforge.net/lists/listinfo/sdcc-user
Kustaa Nyholm | 20 Mar 18:57 2015

(0x300000) is absolute but occurs in more than one file

I was trying to compile a project that compiled cleanly last time I tried
(with SDCC 3.2.0),
meanwhile I've upgraded to 3.4.0:

~/sdcc-3.4.0/bin/sdcc -v
SDCC :
mcs51/z80/z180/r2k/r3ka/gbz80/tlcs90/ds390/pic16/pic14/TININative/ds400/hc0
8/s08/stm8 3.4.0 #8981 (Apr  5 2014) (Mac OS X i386)
published under GNU General Public License (GPL)

my code contains:

__code char __at 0x300000 CONFIG1L = 0x20; // USBDIV=1, CPUDIV=00, PLLDIV
= 000
__code char __at 0x300001 CONFIG1H = 0x0E; // IESO=0, FCMEN=0, FOSC = 1110
__code char __at 0x300002 CONFIG2L = 0x20; // Brown out off, PWRT On
__code char __at 0x300003 CONFIG2H = 0x00; // WDT off
__code char __at 0x300004 CONFIG3L = 0xff; // Unused configuration bits
__code char __at 0x300005 CONFIG3H = 0x80; // MCLR enabled , PORTB
digital, CCP2 - RB2
__code char __at 0x300006 CONFIG4L = 0x80; // ICD off, ext off, LVP off,
stk ovr off
__code char __at 0x300007 CONFIG4H = 0xff; // Unused configuration bits

and the linking fails with:

"(0x300000) is absolute but occurs in more than one file"

now, if comment out all but one of these the compile succeeds, so my
conclusion is that I don't have these defined in multiple files or
above file included multiple times.

A single:

__code char __at 0x300000 CONFIG1L = 0x20; // USBDIV=1, CPUDIV=00, PLLDIV
= 000

in any file in the project seems to be fine but two lines:

__code char __at 0x300000 CONFIG1L = 0x20; // USBDIV=1, CPUDIV=00, PLLDIV
= 000
__code char __at 0x300001 CONFIG1H = 0x0E; // IESO=0, FCMEN=0, FOSC = 1110

anywhere will fail.

I know, I should upgrade myc code to use the CONFIG as I get the warning:
"Warning[212] __CONFIG has been deprecated for PIC18 devices. Use
directive CONFIG."
but right now I would not like to go through the datasheet and figure out
names
for all those bits, especially as not all of them are what I consider
logical,
that is error prone, time consuming and tedious. So is there any way
I can use what I have without Doing The Right Thing(tm) ??

Also, isn't the warning and apparent backwards compatibility a bit futile
if
it does not work, eh?

cheers Kusti

This e-mail may contain confidential or privileged information. If you are not the intended recipient (or
have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any
unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
We will not be liable for direct, indirect, special or consequential damages arising from alteration of
the contents of this message by a third party or as a result of any virus being passed on or as of transmission
of this e-mail in general.

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Georg Icking-Konert | 26 Feb 19:02 2015
Picon

Re: SDCC port of STM8 Standard Peripheral Library

hello Frieder,

thanks a lot for pointing this project out, I was not aware of it  :-)  However, are you sure this tool also works
for STM8? Because I can compile it without issue (OS X 10.10.2), but when I e.g. try to read the device ID I get
the following output:

————
iMac:stm32flash georg$ stm32flash /dev/tty.usbserial-A4009I0O

stm32flash 0.4

http://stm32flash.googlecode.com/

Interface serial_posix: 57600 8E1
Got NACK from device on command 0x01
————

Does it work with STM8 for you? For a brief feedback thanks a lot in advance!

Regards,
Georg

> Hi Georg,
> 
> Am 17.02.2015 um 21:05 schrieb Georg Icking-Konert:
>>  - created Win, Linux, and MacOSX batch scripts to compile and upload via https://github.com/gicking/STM8_serial_flasher
> 
> thanks! Just want to note, that there is another project with overlapping/similar functionality over here:
> https://code.google.com/p/stm32flash/
> Maybe there are synergies.
> 
> Greetings,
> Frieder
> 

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Sdcc-user mailing list
Sdcc-user <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user
陳韋任 | 26 Feb 03:57 2015
Picon

Does stackauto make binary different everytime?

Hi All,

  I have a question about stackauto. When I enable #pragma stackauto
on the entire project, the binary has chance to be different. Most of
those difference are the order of local variable allocated on the
stack. Is it normal, or something goes wrong?

Regards,
chenwj

--

-- 
Wei-Ren Chen (陳韋任)
Homepage: http://people.cs.nctu.edu.tw/~chenwj

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Sdcc-user mailing list
Sdcc-user <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user
Master Postfach | 16 Feb 22:07 2015
Picon

Re: SDCC port of STM8 Standard Peripheral Library

hello,

with the great support by this community I am nearly done with an initial port of the STM8 Standard Peripheral Library to SDCC. 

Technical status:
  - applied SDCC specific changes to some headers and sources (marked with "SDCC“)
  - changed all ISR headers in examples to skip ISR declaration (see open points)
  - added flash r/w for 24b addresses via inline assembly (thanks Philipp!)
  - created a SDCC "template project“ (i.e. Makefile). See $(SPL)/Project/STM8S_StdPeriph_Template/
  - created Win, Linux, and MacOSX batch scripts to compile and upload via https://github.com/gicking/STM8_serial_flasher 
  - added Doxygen input for creating manual from sources, since provided UM is in Windows proprietary .chm format —> run Doxy to create HTML docu
  - all SPL examples can be compiled but require editing of Makefile. Functionality tested partly (see open points)

Open points —> questions to you:
  - I only have access to a STM8 Discovery Board and a custom PCB, so I can't verify all functionality -> additional checking is required
  - since I am used to IDEs, the provided Makefile is far from perfect. For example it lacks automatic dependencies. Any help is appreciated!
  - in the same content: a template project for an IDE would be nice, but which one…?
  - acc. to UM flash block operations must be executed from RAM. How do I compile/link code for RAM execution?
  - the trap handler requires a patch or recent nightly-build. If not present just comment out. However, traps shall be part of the next release (when?)
  - SDCC requires the interrupt token AFTER the function name in ISR declaration. I have fixed all examples, but this requires a manual fix for other libs that rely on SPL (see STM homepage). However, according to Erik and Philipp this would require a change of the SDCC parser with associated risks --> not likely to be changed

Legal status:
  - STM has indicated that they may approve of distribution of the modified sources. But nothing official, yet
  - I would still prefer STM to support SDCC officially to assert future consistency. But so far no news on this

Until one of the above happens, you can download the SDCC patch for the STM8 SPL v2.2.0 from https://github.com/gicking/SPL_2.2.0_SDCC_patch
For instructions on patching see e.g. http://jungels.net/articles/diff-patch-ten-minutes.html. Please let me know if the patch works.

My first impressions of the SPL are quite mixed. It seems much more complicated than e.g. Wiring for Arduino. However it is also much more versatile and, as said before, the STM8 SPL is very similar to the STM32 SPL. And for the latter with 100s of registers, a HW-lib is convenient to say the least. In addition STM provides a lot of ready-made software which is based on the SPL. So I guess it’s worth digging into… Let me know what you think!

Any feedback and/or support on the above open points is highly welcome! 

Regards,
Georg Icking-Konert


I apologize for the ambiguity in my previous message; I was mainly trying
to reassure Philipp about the patch with respect to the non-stm8 backends.
I realize that what you are trying to accomplish probably will require
some modification to SDCC mainline to conform to the expected syntax.

whoops, sorry! That would indeed solve the first of my 2 problems...

The patch has been applied in revision #9163 and will thus be in the
next release (and in the snapshots from tomorrow).

:-)  see above. Do you already know when the next release is due? In any case I?ll download the snapshot

Regards,
Georg Icking-Konert

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
Sdcc-user mailing list
Sdcc-user@...
https://lists.sourceforge.net/lists/listinfo/sdcc-user
Kustaa Nyholm | 18 Feb 06:23 2015

PIC16 port asm listing line numbers do not match

Hi,

it looks to me that the source code line numbers in the .asm file
for PIC16 port do match. Lines are missing and the code
generated does not correspond to the referred to lines.

Is this a known issue? Any workarounds? Worth reporting as bug?

br Kusti

Below is an example, starting from C-source code line 135:

int32_t get_position(uint8_t i) {
 uint8_t stp;
 uint8_t dlt;
 uint32_t pos;
 uint8_t dir;
 do {
  stp = g_low_pri_isr_guard;
  dlt = g_stepper_states[i].last_steps - g_stepper_states[i].steps;
  pos = g_stepper_states[i].position;
  dir = g_stepper_states[i].last_dir;
 } while (stp != g_low_pri_isr_guard);
 if (dir)
  pos += dlt;
 else
  pos -= dlt;
 return pos;
}

This gets compiled to:

; ; Starting pCode block
S_main__get_position code
_get_position:
; .line 135; main.c stp = g_low_pri_isr_guard;
 MOVFF FSR2L, POSTDEC1
 MOVFF FSR1L, FSR2L
 MOVFF r0x00, POSTDEC1
 MOVFF r0x01, POSTDEC1
 MOVFF r0x02, POSTDEC1
 MOVFF r0x03, POSTDEC1
 MOVFF r0x04, POSTDEC1
 MOVFF r0x05, POSTDEC1
 MOVFF r0x06, POSTDEC1
 MOVFF r0x07, POSTDEC1
 MOVFF r0x08, POSTDEC1
 MOVFF r0x09, POSTDEC1
 MOVFF r0x0a, POSTDEC1
 MOVFF r0x0b, POSTDEC1
 MOVFF r0x0c, POSTDEC1
 MOVFF r0x0d, POSTDEC1
 MOVFF r0x0e, POSTDEC1
 MOVLW 0x02
 MOVFF PLUSW2, r0x00
; ;multiply lit val:0x11 by variable r0x00 and store in r0x00
; .line 140; main.c if (dir)
 MOVF r0x00, W
 MULLW 0x11
 MOVF PRODH, W
 MOVWF r0x01
 MOVFF PRODL, r0x00
 MOVLW LOW(_g_stepper_states)
 ADDWF r0x00, F
 MOVLW HIGH(_g_stepper_states)
 ADDWFC r0x01, F
 MOVF r0x00, W
 ADDLW 0x08
 MOVWF r0x02
 MOVLW 0x00
 ADDWFC r0x01, W
 MOVWF r0x03
 MOVF r0x00, W
 ADDLW 0x06
 MOVWF r0x04
 MOVLW 0x00
 ADDWFC r0x01, W
 MOVWF r0x05
 MOVF r0x00, W
 ADDLW 0x0d
 MOVWF r0x06
 MOVLW 0x00
 ADDWFC r0x01, W
 MOVWF r0x07
 MOVLW 0x09
 ADDWF r0x00, F
 BTFSC STATUS, 0
 INCF r0x01, F
_00117_DS_:
; .line 141; main.c pos += dlt;
 MOVFF _g_low_pri_isr_guard, r0x08

This e-mail may contain confidential or privileged information. If you are not the intended recipient (or
have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any
unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
We will not be liable for direct, indirect, special or consequential damages arising from alteration of
the contents of this message by a third party or as a result of any virus being passed on or as of transmission
of this e-mail in general.

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
Tomas Nordin | 16 Feb 22:16 2015
Picon
Picon

Writing an int to the CCPR1 register

Hi

I have a function that look like this:

void set_ccp1_rc2(unsigned int match_cnt)
{
	T1CONbits.TMR1ON = 0; // Stop timer.
	TMR1 = 0; //Clear timer.
	CCPR1 = match_cnt;
	CCP1CON = 0b00001001; // From here pin will be set. Cleared on match.
	T1CONbits.TMR1ON = 1; // Roll the timer.
}

It translates after compile to this:

S_timing__set_ccp1_rc2	code
_set_ccp1_rc2:
;	.line	87; SRC/timing.c	void set_ccp1_rc2(unsigned int match_cnt)
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
;	.line	89; SRC/timing.c	T1CONbits.TMR1ON = 0; // Stop timer.
	BCF	_T1CONbits, 0
;	.line	90; SRC/timing.c	TMR1 = 0; //Clear timer.
	CLRF	_TMR1
;	.line	91; SRC/timing.c	CCPR1 = match_cnt;
	MOVF	r0x00, W
	MOVWF	_CCPR1
;	.line	92; SRC/timing.c	CCP1CON = 0b00001001; // From here pin will be set. Cleared on match.
	MOVLW	0x09
	MOVWF	_CCP1CON
;	.line	93; SRC/timing.c	T1CONbits.TMR1ON = 1; // Roll the timer.
	BSF	_T1CONbits, 0
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

There is a problem with the running code on the device. It occurs to me
that only one byte is written to the _CCPR1 register (MOVWF _CCPR1).
Also I am confused to see direct writes to 16-bit equates in the
assembly code, is that possible?

Should the above translation work as intended or is there something
funky?

/

Tomas

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
Kustaa Nyholm | 16 Feb 20:03 2015

Optimizing code for PIC18F

Hi,

I'm optimising my code, mainly for size. Knowing how much better
code SDCC creates for global variables I made an interesting comparison
which I thought I share here, see code below.

Interestingly the code (bar4) that four times expands the whole
'get position'  calculation is smaller (585 < 622) than the more
conventionally coded subroutine (bar5) based version.

And, maybe not surprisingly, it is about four times faster.
(The execution times are of course estimate based on code
size and the execution path assumption).

Without testing conventional wisdom would have led me to
believe that the macro version would be much bigger than
the subroutine based one.

br Kusti

stepper_state_t g_stepper_states[4];

#define GET_POSITION(i) \
  (g_stepper_states[i].last_dir)?\
  ( g_stepper_states[i].position + (g_stepper_states[i].last_steps -
g_stepper_states[i].steps))\
 :\
  ( g_stepper_states[i].position - (g_stepper_states[i].last_steps -
g_stepper_states[i].steps))\

int32_t get_position(uint8_t i) { // bytes 434 cycles ~217
 return  (g_stepper_states[i].last_dir)?
  ( g_stepper_states[i].position + (g_stepper_states[i].last_steps -
g_stepper_states[i].steps))
 :
  ( g_stepper_states[i].position - (g_stepper_states[i].last_steps -
g_stepper_states[i].steps));
}

int32_t pos=0;

void bar4() { // bytes 582 cycles ~291
 pos=GET_POSITION(0);
 pos=GET_POSITION(1);
 pos=GET_POSITION(2);
 pos=GET_POSITION(3);
}

void bar5() { // bytes 188 cycles 188
 pos=get_position(0);
 pos=get_position(1);
 pos=get_position(2);
 pos=get_position(3);
 }

 // bar 4 = bytes 582               cycles  291
 // bar 5 = bytes 622 = 188 + 434   cycles ~1056 = 188 + 4 * 217~

This e-mail may contain confidential or privileged information. If you are not the intended recipient (or
have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any
unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
We will not be liable for direct, indirect, special or consequential damages arising from alteration of
the contents of this message by a third party or as a result of any virus being passed on or as of transmission
of this e-mail in general.

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk

Gmane