← Back to context

Comment by unwind

17 hours ago

For people not used to reading MC8k assembly [1], it's helpful to point out the basic fact that the syntax is in general

    opcode  source, destination

which is the other way around from most contemporary ISA:s. So a line like

    move.l d0, -(a7)

will first decrement the value of register a7, then write the contents of register d0 to the resulting address (it's a "push" for a downwards-growing stack).

Edit: added Wiki-linkage.

[1]: https://en.wikipedia.org/wiki/Motorola_68000#Instruction_set...

68K style always made more sense to me: we read left-to-right, after all. Why should we suddenly switch directions for the operand order? It's confusing.