Motorola 68000
From SizeCoding
Contents
Introduction
Wanting to start sizecoding on a Motorola 68k platform in this day and age can be tough.
So here is a bit of help to get you started:
The Motorola 68k processor
The Motorola 68k processor is a 16-bit Big-Endian format processor, using 32-bit register and addresses.
This means that instruction sizes on average are either 2 or 4 bytes each, and 6 bytes for longword / 32-bit instructions.
Note: The assigment direction is source,dest instead of dest,source !!!
Registers
- D0..D7 - 8 x 32 bit General Purpose Registers
- A0..A6 - 7 x 32 bit Address Registers
- A7 - 32-bit Stack-Address Register
Instructions timing
The number of cycles for each instruction is different depending of processor model in M68K family.
Size considerations
Moving/Calculating Register from/to registers - 2 bytes Moving/Calculating with byte or word values - 4 bytes Moving/Calculating with long values - 6 bytes
Shorter variants:
- moveq #value, reg : 2 bytes - Moves a values -128...127 to a register
- addq #value, reg : 2 bytes - Adds a values 0..8 to a register
- subq #value, reg : 2 bytes - Subtracts a values 0..8 from a register
Resources
Motorola M68K Platforms
- Atari ST - Atari ST Sizecoding information
- Atari Jaguar - Atari Jaguar Sizecoding information
- Commodore Amiga - Commodore Amiga Sizecoding information