Link Search Menu Expand Document

5ir Reference

The fith compiler uses a very simple intermediary format called 5ir. It is simply a text abstraction over the 5vm binary format which supports position names and offsets.

In 5ir, values are space separated and can take the following forms:

  • Positive or negative integers are literal numbers or addresses.
  • Numbers begining with + are relative addresses, and are used relative to the current machine code address. Negative relative addresses are given by +-.
  • Labels are symbols starting with : and refer to locations given by label lines.
  • Labels can have offsets by adding + and a positive or negative offset after the label.
  • Label definitions are symbols starting with . and are not included in the machine code.

The 5ir format supports comments starting with /* and ending in */

The contents of literal insertions are also in the 5ir format.