This wiki is being migrated to http://www.github.com/z88dk/z88dk/wiki

 

Differences

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

libnew:intrinsic [2017/04/11 01:38]
aralbrec
libnew:intrinsic [2017/04/11 01:39] (current)
aralbrec
Line 32: Line 32:
===== void intrinsic_nop(void) ===== ===== void intrinsic_nop(void) =====
- 
-===== void intrinsic_push_af(void) ===== 
- 
-Must be used with care as the compiler will not be aware that an item has been pushed onto the stack. 
- 
-===== void intrinsic_push_bc(void) ===== 
- 
-Must be used with care as the compiler will not be aware that an item has been pushed onto the stack. 
- 
-===== void intrinsic_push_de(void) ===== 
- 
-Must be used with care as the compiler will not be aware that an item has been pushed onto the stack. 
- 
-===== void intrinsic_push_hl(void) ===== 
- 
-Must be used with care as the compiler will not be aware that an item has been pushed onto the stack. 
- 
-===== void intrinsic_push_ix(void) ===== 
- 
-Must be used with care as the compiler will not be aware that an item has been pushed onto the stack. 
- 
-===== void intrinsic_push_iy(void) ===== 
- 
-Must be used with care as the compiler will not be aware that an item has been pushed onto the stack. 
- 
-===== void intrinsic_pop_af(void) ===== 
- 
-Must be used with care as the compiler will not be aware that an item has been popped from the stack. 
- 
-===== void intrinsic_pop_bc(void) ===== 
- 
-Must be used with care as the compiler will not be aware that an item has been popped from the stack. 
- 
-===== void intrinsic_pop_de(void) ===== 
- 
-Must be used with care as the compiler will not be aware that an item has been popped from the stack. 
- 
-===== void intrinsic_pop_hl(void) ===== 
- 
-Must be used with care as the compiler will not be aware that an item has been popped from the stack. 
- 
-===== void intrinsic_pop_ix(void) ===== 
- 
-Must be used with care as the compiler will not be aware that an item has been popped from the stack. 
- 
-===== void intrinsic_pop_iy(void) ===== 
- 
-Must be used with care as the compiler will not be aware that an item has been popped from the stack. 
===== void intrinsic_reti(void) ===== ===== void intrinsic_reti(void) =====
Line 141: Line 93:
Note that sdcc inlines a handful of string functions so if you are writing assuming a library version of one of those functions is run, be sure to invoke the library function's callee or fastcall entry point directly.  Eg, calling "strcpy_callee()" instead of "strcpy()" will select the library function rather than the inlined code that sdcc will produce for strcpy(). Note that sdcc inlines a handful of string functions so if you are writing assuming a library version of one of those functions is run, be sure to invoke the library function's callee or fastcall entry point directly.  Eg, calling "strcpy_callee()" instead of "strcpy()" will select the library function rather than the inlined code that sdcc will produce for strcpy().
- 
-====== INTRINSICS - I/O ====== 
- 
-===== unsigned char intrinsic_in8(port) ===== 
- 
-A macro that inserts a read from an 8-bit i/o port and returns an 8-bit result.  "port" must be a numerical constant or an assembly language label.  SDCC will generate warnings #84 and #112 both of which can be ignored when connected to use of this macro. 
- 
-===== unsigned char intrinsic_in16(port) ===== 
- 
-A macro that inserts a read from an 16-bit i/o port and returns an 8-bit result.  "port" must be a numerical constant or an assembly language label.  SDCC will generate warnings #84 and #112 both of which can be ignored when connected to use of this macro. 
- 
-===== unsigned char intrinsic_out8(port,value) ===== 
- 
-A macro that inserts a write of 8-bit value "value" to 8-bit port "port" and returns "value" as the result.  Both "port" and "value" must be a numerical constant or an assembly language label.  SDCC will generate warnings #84 and #112 both of which can be ignored when connected to use of this macro. 
- 
-===== unsigned char intrinsic_out16(port,value) ===== 
- 
-A macro that inserts a write of 8-bit value "value" to 16-bit port "port" and returns "value" as the result.  Both "port" and "value" must be a numerical constant or an assembly language label.  SDCC will generate warnings #84 and #112 both of which can be ignored when connected to use of this macro. 
- 
====== INTRINSICS - LABELS ====== ====== INTRINSICS - LABELS ======
 
libnew/intrinsic.txt · Last modified: 2017/04/11 01:39 by aralbrec
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki