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

IFC

From 0x10c Wiki
Jump to: navigation, search

IFC (If Clear) is one of the opcodes in the DCPU-16 specification. It represents a check that the bitwise AND of the arguments is zero. If the check fails, the following opcode is not executed.

Contents

[edit] Usage

 IFC arg1, arg2

[edit] Example

  :ifc_example
    SET A, [0x1000]   ; sets A to the data at address 0x1000
    SET B, 0          ; sets B to 0
    IFC A, B          ; checks if A & B is zero
      SET Y, 1          ; if A & B is nonzero, 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 0001 (0x11)

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