It turns out they left out a lot. But not in a bad way. Now the architecture really is much more a RISC-like load-store machine.
Operand size changes:
- except for CLR, TST, and MOV, and a few inherently byte-oriented instructions (such as Scc and TAS), all instructions only work on long operands
- single operand instructions - NEG, NOT, ASL, ASR, etc - and immediate instructions - ANDI, ORI, etc - only work on D registers
- BCD arithmetic (no surprise)
- DBcc - decrement and branch
- CHK
- CMPM
- EXG
- MOVEP
- RESET
- ROL, ROR, ROXL, and ROXR (hmm - because they don't exist in C?)
- RTD, RTR
- TRAPV - again, we're programming in C, not Pascal ;-)
- BITREV
- BYTEREV
- FF1 (find first one bit)
- MOV3Q (move 3 bit immediate to EA)
- MVS (move with sign-extend)
- MVZ (move with zero-extend)
- TPF - trap false - a nop that can consume one or two following instructions!
I have a badge for you. Somebody at the dorkbot meeting that you seem to busy to attend brought a few to give away. If you come down to the parts meeting on saturday (were the old school guys who might actually know a thing or two about the 08 family) I can give it to you.
ReplyDelete