Instruction: Logic. - RainbowUnicon/PISAx32 GitHub Wiki

General

Opcode Format

Syntax:

CCCC IIIII Z L DDDDD SSSSSSSSSSSSSSSS

Where:

  • C: Condition
  • I: Instruction
  • Z: Size Bit
  • L: Immediate Bit
  • D: Destination
  • S: Source

Detail:

  • If Z = 0, instruction will only consider last 8 bits of destination and source.
  • If Z = 1, instruction will consider whole 32 bits of destination and source.
  • If L = 0, source will be register.
  • IF L = 1, source will be immediate.
  • If source is register, then last 5 bits will be used.

Assembly Format

Syntax:

{cond} instr {B} src dest

Where:

  • cond: condition
  • instr: instruction name
  • src: source register or 16 bit immediate
  • dest : destination Register

Detail:

  • If src is a register, L bit won't be set.
  • If src is a 16 bit immediate, L bit will set.
  • This instruction will consider all register as integer type.
  • Any immediate will be considered as integer type.
  • It is not recommended to use different types for src and dest. (WARNING)
  • If B is used, Z bit will be set.
  • If B is used, and src is immediate greater than 256, than NOP will be generated. (WARNING)