We're looking for your comments on how to best organize the wiki's content.

IFE

From 0x10c Wiki
Jump to: navigation, search

IFE (If Equal) is one of the opcodes in the DCPU-16 specification. It represents a check for equality of two arguments. If the two arguments are not equal, the following opcode is not executed.

Contents

[edit] Usage

 IFE arg1, arg2

[edit] Example

  :ife_example
    SET A, [0x1000]   ; sets A to the data at address 0x1000
    SET B, 0          ; sets B to 0
    IFE A, B          ; checks if A and B are equal
      SET Y, 1          ; if A and B aren't equal, this line is skipped and Y isn't set to 1
    SET PC, POP       ; returns subroutine

[edit] Processing

In binary machine code, this Basic opcode's five-bit representation is: 0b1 0010 (0x12)

The instruction has a takes two cycles to execute, plus one cycle if the check fails, plus any additional cycles necessary to evaluate the arguments. If a branching (i.e. an "if-something") instruction is skipped, one more instruction is skipped at the cost of one cycle. This allows conditionals to be chained together.

[edit] References

Personal tools
Namespaces
Variants
Actions
Navigation
Community
Toolbox