Dynamic C User’s Manual digi.com 5
11.3 Stand-Alone Assembly Code ................. 177
11.3.1 Stand-Alone Assembly Code in
Extended Memory ........................... 177
11.3.2 Example of Stand-Alone Assembly
Code................................................. 178
11.4 Embedded Assembly Code .................... 178
11.4.1 The Stack Frame....................... 178
11.4.2 Embedded Assembly Example 180
11.4.3 The Disassembled Code Window ..
181
11.4.4 Local Variable Access .............. 182
11.5 C Calling Assembly ............................... 183
11.5.1 Passing Parameters................... 183
11.5.2 Location of Return Results....... 183
11.5.3 Returning a Structure ............... 183
11.6 Assembly Calling C ............................... 185
11.7 Interrupt Routines in Assembly ............. 186
11.7.1 Steps Followed by an ISR ........ 186
11.7.2 Modifying Interrupt Vectors..... 187
11.8 Common Problems................................. 192
12. Keywords......................................................... 193
abandon ............................................... 193
abort .................................................... 193
align..................................................... 194
always_on............................................ 194
anymem............................................... 194
asm ...................................................... 195
auto...................................................... 195
bbram .................................................. 195
break.................................................... 196
c........................................................... 196
case...................................................... 196
char...................................................... 197
cofunc.................................................. 197
const .................................................... 198
continue............................................... 199
costate.................................................. 199
debug................................................... 199
default.................................................. 200
do......................................................... 200
else ...................................................... 200
enum.................................................... 201
extern................................................... 201
firsttime ............................................... 202
float ..................................................... 202
for ........................................................ 203
goto...................................................... 203
if .......................................................... 204
init_on ................................................. 204
int ........................................................ 205
interrupt............................................... 205
interrupt_vector................................... 206
__lcall__.............................................. 208
long...................................................... 208
main..................................................... 208
nodebug............................................... 209
norst..................................................... 209
nouseix ................................................ 209
NULL .................................................. 209
protected.............................................. 210
register ................................................ 210
return................................................... 211
root ...................................................... 211
scofunc ................................................ 211
segchain .............................................. 212
shared.................................................. 212
short .................................................... 213
size ...................................................... 213
sizeof................................................... 213
speed ................................................... 213
static.................................................... 214
struct.................................................... 214
switch.................................................. 215
typedef ................................................ 215
union ................................................... 216
unsigned.............................................. 216
useix .................................................... 216
void ..................................................... 217
volatile ................................................ 217
waitfor................................................. 217
waitfordone
(wfd) ............................................ 218
while.................................................... 218
xdata.................................................... 219
xmem .................................................. 220
xstring ................................................. 220
yield .................................................... 221
12.1 Compiler Directives............................... 222
#asm .................................................... 222
#class................................................... 222
#debug
#nodebug ..................................... 223
#define ................................................ 223
#endasm .............................................. 223
#fatal ................................................... 223
#GLOBAL_INIT ................................ 224
#error................................................... 224
#funcchain........................................... 224
#if
#elif
#else
#endif ........................................... 225
#ifdef................................................... 225
#ifndef................................................. 226
#interleave
#nointerleave ............................... 226
#makechain ......................................... 226
#memmap............................................ 227
#pragma .............................................. 227
#precompile ........................................ 228
#undef ................................................. 228
#use ..................................................... 228
#useix
#nouseix....................................... 229
#warns................................................. 229
#warnt ................................................. 229
#ximport.............................................. 229
#zimport .............................................. 230
13. Operators ......................................................... 231
13.1 Arithmetic Operators ............................. 232
+ .......................................................... 232
– .......................................................... 232
* .......................................................... 233