R.O.M.E.68000 Home
Prev. Table of Cont. Help Cont. of This Ch.

This is the R.O.M.E.68000 Manual version 0.51.
This is an experimental version.
Copyright © 1997 by G. Mezzetti; last update: January 1, 1999.


7. Abbreviations for Syntax

The description of each addressing mode will tell you also the syntax to use in 68000 redcode (assembly language) to specify to the assembler that particular mode. This is done by means of some abbreviations that will not be really defined until Chapter VIII; for now, we shall only give a hint about their meaning through the following informal ``definitions'':

rellabel
A label tied to a relative address.
abslabel
A label tied to an absolute number (which must lie between 0 and 65535).
label
A rellabel or an abslabel.
number
An integer between 0 and 65535.
value of a rellabel
The number that gives the displacement between the current address (call it A) and the address to which the label is tied (call it B: hence the value is B Ð A).
value of an abslabel
The number to which it is tied.
value of a label
If label is a rellabel, the value of this rellabel, and if label is an abslabel, the value of this abslabel :-)
relvalue
A number or a rellabel.
absvalue
A number or an absvalue.
value
A relvalue or an absvalue.

In addition, when we say that an absvalue must lie between, say, 0 and +255, we mean that the value of the absvalue (if the absvalue is an abslabel) or the number (if the absvalue is a number) are constrained between those limits. Similarly, when we say that a value must lie between, say, Ð128 and +127, we mean that the value of the label (if the value is a label) or the number (if the value is a number) are constrained between those limits.

I know (and I said it before) that these conventions are very informal, and also rather obscure. The syntax of 68000 redcode (assembly language) won't be fully understood until you read Chapter VIII; I suggest that you ignore for now the details, and concentrate on the general idea; you can go back to this paragraph after you have read Chapter VIII.

Anyway, with these notations we can now list the following abbreviations.

base16
Any value.
base8
A value lying between Ð128 and +127.
off8
An absvalue lying between 0 and +255.
imm
Any absvalue.
Rn
Denotes a register: n is the number of the register (one hexadecimal digit).
Rb
Same as before, but is used to suggest you that the register is the base register and not the index one; b, of course, is always the number of the register (one hexadecimal digit).
Ri
Same as before, but is used to suggest you that the register is the index register and not the base one; i, of course, is always the number of the register (one hexadecimal digit).

Other symbols used in the description of the syntax are the square bracket ``['' (always denotes indirection), the hash ``#'', that is used to mark an immediate value, and the two signs ``>'' and ``<'', which indicate post-increment and pre-decrement respectively.


Prev. Table of Cont. Help Cont. of This Ch.

Gustavo MEZZETTI  /  mezzetti@math.unipd.it