Difference between revisions of "Motorola 68000"
From SizeCoding
(→Size considerations) |
Dresdenboy (talk | contribs) (Added 2 resource links related to Easy68k) |
||
Line 37: | Line 37: | ||
== Resources == | == Resources == | ||
* [http://www.beycan.net/eklenen/M68000_Instruction_Set.pdf M68000 Instruction Set] | * [http://www.beycan.net/eklenen/M68000_Instruction_Set.pdf M68000 Instruction Set] | ||
+ | * [http://www.easy68k.com/ EASy68K Editor/Assembler/Simulator for the 68000] | ||
+ | * [http://www.easy68k.com/paulrsm/index.html Various Motorola 68k resources] | ||
== Motorola M68K Platforms == | == Motorola M68K Platforms == |
Revision as of 15:24, 6 February 2023
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
Here are some general rule of thumbs when it comes to size consideration when programming the M68000
- 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
- M68000 Instruction Set
- EASy68K Editor/Assembler/Simulator for the 68000
- Various Motorola 68k resources
Motorola M68K Platforms
- Atari ST - Atari ST Sizecoding information
- Atari Jaguar - Atari Jaguar Sizecoding information
- Commodore Amiga - Commodore Amiga Sizecoding information