We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

RFJ

From Esolang
Jump to navigation Jump to search

RFJ (or Read Flip Jump) is a derivative of Flip Jump, as a slightly higher level derivative of Flip Jump.

An RFJ script consists of three things:

  • a Read bit (for each bit in the current byte: r <<= 1, r |= bit)
  • a Flip bitpattern (for each bit: if the bit in the bitpattern is on, flip the bit in the current byte)
  • an Address, for jumping to. (16 bits, can also be an expression like: [r?r+3:r])

The memory map for this EL is:

  1. 0000–DFF7 => main memory (variables, arithmetic, control flow, etc.)
  2. DFF8 => do we Print?
  3. DFF9 => stop program?
  4. DFFA–DFFF => padding
  5. E000–FFFF => print buffer

Syntax:

<R>;<F>;<Address/[Expression]>

Memory Model

  1. 65536 possible memory addresses
  2. 8 bit values
  3. The current byte may be implemented as mem[address_pointer]
  4. r is 8 bit
  5. PC will loop the program forever until $DFF9 is on
  6. Alphabetic text are treated as comments

Examples

Hi

0;1;57336
0;72;57344
0;105;57345
0;1;57336
0;1;57337

inf loop

0;0;0

Arithmetic

not sure if its possible, ill see you try it, if you do have addition, edit this text, change the section title, and add more if you did more (sub, mult, div / mod, etc.)