0.3.1
Instruction Emitters

Functions

static void cpu_instr_trapa (const uint8_t vector)
 Emit a trap instruction.
 
static uint32_t cpu_instr_swapb (uint32_t x)
 Emit a swap.b instruction.
 
static uint32_t cpu_instr_swapw (uint32_t x)
 Emit a swap.w instruction.
 
static void cpu_instr_clrmac (void)
 Emit a clrmac instruction.
 
static void cpu_instr_macw (void *a, void *b)
 Emit a mac.w instruction.
 
static void cpu_instr_macl (void *a, void *b)
 Emit a mac.l instruction.
 
static uint32_t cpu_instr_sts_mach (void)
 Emit a sts instruction to fetch mach.
 
static uint32_t cpu_instr_sts_macl (void)
 Emit a sts instruction to fetch macl.
 
static uint32_t cpu_instr_extsw (const uint32_t rm)
 Emit a exts.w instruction.
 
static uint32_t cpu_instr_neg (uint32_t rm)
 Emit a neg instruction.
 
static uint32_t cpu_instr_rotl (uint32_t rn)
 Emit a rotl instruction.
 
static uint32_t cpu_instr_rotr (uint32_t rn)
 Emit a rotr instruction.
 
static uint32_t cpu_instr_xtrct (uint32_t rm, uint32_t rn)
 Emit a xtrct instruction.
 
static void cpu_instr_nop (void)
 Emit a nop instruction.
 

Detailed Description

Description goes here.

Function Documentation

◆ cpu_instr_trapa()

static void cpu_instr_trapa ( const uint8_t  vector)
inlinestatic

Emit a trap instruction.

Parameters
vectorInterrupt vector number (rn).

◆ cpu_instr_swapb()

static uint32_t cpu_instr_swapb ( uint32_t  x)
inlinestatic

Emit a swap.b instruction.

Swap the upper and lower bytes of a 2-byte value.

Parameters
xValue to be swapped.
See also
cpu_bswap16
Returns
Not yet documented.

◆ cpu_instr_swapw()

static uint32_t cpu_instr_swapw ( uint32_t  x)
inlinestatic

Emit a swap.w instruction.

Swap the upper and lower 2-bytes of a 4-byte value.

Parameters
xValue to be swapped.
Returns
Not yet documented.

◆ cpu_instr_macw()

static void cpu_instr_macw ( void *  a,
void *  b 
)
inlinestatic

Emit a mac.w instruction.

Parameters
aThe rm register.
bThe rn register.

◆ cpu_instr_macl()

static void cpu_instr_macl ( void *  a,
void *  b 
)
inlinestatic

Emit a mac.l instruction.

Parameters
aThe rm register.
bThe rn register.

◆ cpu_instr_sts_mach()

static uint32_t cpu_instr_sts_mach ( void  )
inlinestatic

Emit a sts instruction to fetch mach.

Returns
The value of the mach register.

◆ cpu_instr_sts_macl()

static uint32_t cpu_instr_sts_macl ( void  )
inlinestatic

Emit a sts instruction to fetch macl.

Returns
The value of the macl register.

◆ cpu_instr_extsw()

static uint32_t cpu_instr_extsw ( const uint32_t  rm)
inlinestatic

Emit a exts.w instruction.

Parameters
rmThe rm register.
Returns
The sign-extended 32-bit value.

◆ cpu_instr_neg()

static uint32_t cpu_instr_neg ( uint32_t  rm)
inlinestatic

Emit a neg instruction.

Parameters
rmThe rm register.
Returns
The negated 32-bit value.

◆ cpu_instr_rotl()

static uint32_t cpu_instr_rotl ( uint32_t  rn)
inlinestatic

Emit a rotl instruction.

Parameters
rnThe rn register.
Returns
The rotated to the left 32-bit value.

◆ cpu_instr_rotr()

static uint32_t cpu_instr_rotr ( uint32_t  rn)
inlinestatic

Emit a rotr instruction.

Parameters
rnThe rn register.
Returns
The rotated to the right 32-bit value.

◆ cpu_instr_xtrct()

static uint32_t cpu_instr_xtrct ( uint32_t  rm,
uint32_t  rn 
)
inlinestatic

Emit a xtrct instruction.

Parameters
rmThe rm register.
rnThe rn register.
Returns
The 32-bit extracted value between the 64-bits of coupled rm and rn registers.