Specifications

CAVR-4
Part 2. Compiler reference
237
Intrinsic functions
This chapter gives reference information about the intrinsic functions.
The intrinsic functions provide direct access to low-level processor operations
and can be very useful in, for example, time-critical routines. The intrinsic
functions compile into inline code, either as a single instruction or as a short
sequence of instructions.
Intrinsic functions summary
The following table summarizes the intrinsic functions:
Intrinsic function Description
__delay_cycles Inserts a time delay
__disable_interrupt Disables interrupts
__enable_interrupt Enables interrupts
__extended_load_program_memory Returns one byte from code memory
__fractional_multiply_signed Generates an FMULS instruction
__fractional_multiply_signed_
with_unsigned
Generates an FMULSU instruction
__fractional_multiply_unsigned Generates an FMUL instruction
__indirect_jump_to Generates an IJMP instruction
__insert_opcode Assigns a value to a processor register
__load_program_memory Returns one byte from code memory
__multiply_signed Generates a MULS instruction
__multiply_signed_with_unsigned Generates a MULSU instruction
__multiply_unsigned Generates a MUL instruction
__no_operation Generates a NOP instruction
__require Sets a constant literal
__restore_interrupt Restores the interrupt flag
__reverse Reverses the byte order of a value
__save_interrupt Saves the state of the interrupt flag
__segment_begin Returns the start address of a segment
Table 72: Intrinsic functions summary