4

How does the 68000 internally represent instructions. I've read that there are different types of instructions: single effective operation word format instructions, brief and full extension word format instructions. The single effective operation word instruction seems to represent the instruction and the lower 6 bits of this instruction the addressing mode and register. Does this addressing mode and register tell you if there follows a brief or full extension word format instruction, which on his turn represents the operands for the instruction. Do you know a better manual than the 68000 programming reference manual.

Thanks in advance

Crosslyfire
  • 41
  • 1
  • 2
  • 3
    Section 4 of the [68000 programming reference manual](http://www.freescale.com/files/archives/doc/ref_manual/M68000PRM.pdf) shows the instruction code format for all instructions - which is the information you are missing from that description? – Andreas Fester Aug 08 '13 at 10:42
  • Link rot. This is the new link for it: [M68000 FAMILY Programmer’s Reference Manual](https://www.nxp.com/docs/en/reference-manual/M68000PM.pdf) – QB kyu Jun 08 '21 at 23:14

2 Answers2

7

The actual internal representation is a combination of "microcode" and "nanocode". The 68000 has 544 17-bit microcode words which dispaches to 366 68-bit nanocode words.

While this may not be what you wanted to know, this link may provide some insights:

http://www.easy68k.com/paulrsm/doc/dpbm68k1.htm

Lars Brinkhoff
  • 13,542
  • 2
  • 28
  • 48
0

right, on m68000 indexed modes uses the brief extension. In "Address Register Indirect with Index (8-Bit Displacement) Mode" (d8, An, Xn), the BEW is filled with D/A (if Xn is a data or address register), Xn (the register number), W/L (to threat Xn contents as 16 or 32bits), scale to 0 (see note), and the 8-bit displacement.

on other hand, other modes, like the 16bit displacement, "Address with displacement" (d16,An) , the extension is only a word with the displacement.

the note is: brief extension word - m68k doesn't support the 2bits for scale so is set to 0; scale on BEW using the scale bits, and full extensions are only suported m68020,40,-> cpus. http://etd.dtu.dk/thesis/264182/bac10_19.pdf

user66296
  • 9
  • 2