User Tools

Site Tools


how_to_mix_c_and_asm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
how_to_mix_c_and_asm [2006/10/15 09:35]
127.0.0.1 (old revision restored)
how_to_mix_c_and_asm [2008/09/29 12:27]
wackazong
Line 1: Line 1:
-It's actually quite easy! 
-As you can see in the example below, just enclose the ASM part with //​_////​_asm//​ and //​_////​_endasm;//​ 
- 
-You might have to declare some additional variables, but the concept is quite straightforward. 
- 
- 
-<code c> 
-unsigned char Scale_7bit(unsigned char evnt2, unsigned char min, unsigned char max) 
-{ 
-  // scaled value is (<8-bit random> * ) >> 8 
-  PRODL = evnt2 << 1; // 8bit value 
-  PRODH = max-min+1; ​ // range 
-__asm 
-    movf _PRODL, W 
-    mulwf _PRODH, 0 
-__endasm; 
- 
-  return min + PRODH; 
-} 
-</​code>​ 
  
how_to_mix_c_and_asm.txt ยท Last modified: 2008/09/29 12:27 by wackazong