SCHG:ASM-to-Hex Code Reference
From Sonic Retro
(Document originally by Ambil)
Welcome to my Motorola 68000 programming reference. It consists a table containing useful examples of the 68k instructions, and it can be a very nice tool for everyone who is hacking MegaDrive / Genesis games in a hex editor. For your help and confort, the parameters in the ASM commands have been coloured along with their respective places in the 16-bit instruction codes.
| ASM | Binary instruction | Hex code |
|---|---|---|
| Adda.w (a0), a1 | 1101 0010 1101 0000 | D2D0 |
| Adda.w ($FFFFF100) w, a1 | 1101 0010 1111 1000 | D2F8 F100 |
| Adda.l ($FFFFF100).l, a1 | 1101 0011 1111 1001 | D3F9 F100 |
| Adda.w#$1337, a1 | 1101 0010 1111 1100 | D2FC 1337 |
| Addi.b #$20, d1 | 0000 0110 0000 0001 | 0601 0020 |
| Addi.w #$1337, ($FFFFF100).w | 0000 0110 0111 1000 | 0678 1337 F100 |
| Addi.l #$19650917,
($FFFFF100).l | 0000 0110 1011 1001 | 06F9 1965 0917 F100 |
| Addq.b #1, ($FFFFF100).w | 0101 0010 0011 1000 | 5238 F100 |
| Addq.b #2, ($FFFFF100).w | 0101 0100 0011 1000 | 5438 F100 |
| Addq.b #8, ($FFFFF100).w | 0101 0000 0011 1000 | 5038 F100 |
| Andi.b #$36, d1 | 0000 0010 0000 0001 | 0201 0036 |
| Andi.w #$2005, ($FFFFF100).w | 0000 0010 0111 1000 | 0238 2005 F100 |
| Bra.s #$24 | 0110 0000 0010 0100 | 6024 |
| Bra #$4E1A | 0110 0000 0000 0000 | 6000 4E1A |
| Bsr.s #$10 | 0110 0001 0001 0000 | 6110 |
| Bhi.s #$10 | 0110 0010 0001 0000 | 6210 |
| Bls.s #$10 | 0110 0011 0001 0000 | 6310 |
| Bcc.s #$10 | 0110 0100 0001 0000 | 6410 |
| Bcs.s #$10 | 0110 0101 0001 0000 | 6510 |
| Bne.s #$10 | 0110 0110 0001 0000 | 6610 |
| Beq.s #$10 | 0110 0111 0001 0000 |
6710 |
| Bvc.s #$10 | 0110 1000 0001 0000 | 6810 |
| Bvs.s #$10 | 0110 1001 0001 0000 | 6910 |
| Bpl.s #$10 | 0110 1010 0001 0000 | 6A10 |
| Bmi.s #$10 |
0110 1011 0001 0000 | 6B10 |
| Bge.s #$10 | 0110 1100 0001 0000 | 6C10 |
| Blt.s #$10 | 0110 1101 0001 0000 | 6D10 |
| Bgt.s #$10 | 0110 1110 0001 0000 | 6E10 |
| Ble.s #$10 | 0110 1111 0001 0000 | 6F10 |
| Clr.l d0 | 0100 0010 1000 0000 | 4280 |
| Clr.w ($FFFF4500).w | 0100 0010 0111 1000 | 4278 4500 |
| Cmpi.b #$26, ($FFFFFFE4).w | 0000 1100 0011 1000 | 0C38 0026 FFE4 |
| Cmpi.w #$4170, ($FFFFFFB0).w | 0000 1100 0111 1000 | 0C78 4170 FFB0 |
| Cmpi.l #$0, d2 | 0000 1100 1000 0010 | 0C82 0000 0000 |
| Dbf.w d0, $556A | 0101 0001 1100 0000 | 51C0 556A |
| Divs.w #$A, d0 | 1000 0001 1111 1100 | 81FC 000A |
| Divu.w ($FFFFF314).w, d1 | 1000 0010 1111 1000 | 82F8 F314 |
| Eori.b #$80, ($FFFFF00E).w | 0000 1010 0011 1000 | 0A38 0080 F00E |
| Eori.w #$3119, ($FFFFF010).w | 0000 1010 0111 1000 | 0A78 3119 F010 |
| Eori.l #$FFFF, (a0) | 0000 1010 1001 0000 | 0A90 FFFF |
| Exg d 1, d 2 | 1100 0011 0100 0010 | C342 |
| Exg a 3, a 4 | 1100 0111 0100 1100 | C74C |
| Exg d 5, a 6 | 1100 1011 1000 1110 | CB8E |
| Ext.w d0 | 0100 1000 1000 0000 | 4880 |
| Ext.l d1 | 0100 1000 1100 0001 | 48C1 |
| Illegal | 0100 1010 1111 1100 | 4AFC |
| Jmp (a 1) | 0100 1110 1100 0001 | 4EA1 |
| Jmp $65A70 | 0100 1110 1111 1001 | 4EF9 0006 5A70 |
| Jsr $4B98C | 0100 1110 1011 1001 | 4EB9 0004 B98C |
| Lea.l ($FFFFFFF4).w, a0 | 0100 0001 1111 1000 | 41F8 FFF4 |
| Link.w a4, #$1087 | 0100 1110 0101 0100 | 4E54 1087 |
| Lsl.b# 1, d0 | 1110 0011 0000 1001 | E309 |
| Lsr.wd 2, d1 | 1110 0100 0110 1010 | E54A |
| Move.b #$64, ($FFFFFFE0).w | 0001 0001 1111 1100 | 11FC 0064 FFE0 |
| Move.w #$03E8, ($FFFFFFE0).w | 0011 0001 1111 1100 | 31FC 03E8 FFE0 |
| Move.l #$05F5E100, ($FFFFFFE0).l | 0010 0001 1111 1100 | 21FC 05F5 E100 FFE0 |
| Move.b #$20, d1 | 0001 0010 0011 1100 | 123C 0020 |
| Move.w ($FFFF01A5).w, ($FFFFFFE0).w | 0011 0011 1111 1001 | 33F9 01A5 FFE0 |
| Move.l d1, ($FFFFFFE0).w | 0010 0011 1100 0001 | 23C1 FFE0 |
| Movea.w #$6000, a4 | 0011 1000 0111 1100 | 387C 6000 |
| Moveq.l #$80, d1 | 0111 0010 1000 0000 | 7280 |
| Muls.w #$19, d1 | 1100 0011 1111 1100 | E3FC 0019 |
| Mulu.w #$19, d2 | 1100 0100 1111 1100 | E4FC 0019 |
| Neg.w ($FFFFFE26).w | 0100 0100 0111 1000 | 4478 FE26 |
| Neg.l d0 | 0100 0100 1000 0000 | 4480 |
| Nop | 0100 1110 0111 0001 | 4E71 |
| Not.w ($FFFFFE26).w | 0100 0110 0111 1000 | 4678 FE26 |
| Not.l d0 | 0100 0110 1000 0000 | 4680 |
| Ori.b #$36, d1 | 0000 0000 0000 0001 | 0001 0036 |
| Ori.w #$2005, ($FFFFF100).w | 0000 0000 0111 1000 | 0074 2005 F100 |
| Pea ($FFFFE53C).w | 0100 1000 0111 1000 | 4878 E53C |
| Rol.wd 0, d1 | 1110 0001 0111 1001 | E1E9 |
| Ror.l #1, d3 | 1110 0010 1001 1011 | E6EA |
| Rol.w ($FFFFFFE0).w | 1110 0111 1111 1000 | E7F8 FFE0 |
| Rtr | 0100 1110 0111 0111 | 4E77 |
| Rts | 0100 1110 0111 0101 | 4E75 |
| St.b ($FFFFF000).w | 0101 0000 1111 1000 | 50F0 F000 |
| Sf.b ($FFFFF000).w | 0101 0001 1111 1000 | 51F0 F000 |
| Shi.b ($FFFFF000).w | 0101 0010 1111 1000 | 52F0 F000 |
| Sls.b ($FFFFF000).w | 0101 0011 1111 1000 | 53F0 F000 |
| Scc.b ($FFFFF000).w | 0101 0100 1111 1000 | 54F0 F000 |
| Scs.b ($FFFFF000).w | 0101 0101 1111 1000 | 55F0 F000 |
| Sne.b ($FFFFF000).w | 0101 0110 1111 1000 | 56F0 F000 |
| Seq.b ($FFFFF000).w | 0101 0111 1111 1000 | 57F0 F000 |
| Svc.b ($FFFFF000).w | 0101 1000 1111 1000 | 58F0 F000 |
| Svs.b ($FFFFF000).w | 0101 1001 1111 1000 | 59F0 F000 |
| Spl.b ($FFFFF000).w | 0101 1010 1111 1000 | 5AF0 F000 |
| Smi.b ($FFFFF000).w | 0101 1011 1111 1000 | 5BF0 F000 |
| Sge.b ($FFFFF000).w | 0101 1100 1111 1000 | 5CF0 F000 |
| Slt.b ($FFFFF000).w |
0101 1101 1111 1000 | 5DF0 F000 |
| Sgt.b ($FFFFF000).w | 0101 1110 1111 1000 | 5EF0 F000 |
| Sle.b ($FFFFF000).w | 0101 1111 1111 1000 | 5FF0 F000 |
| Suba.w (a0), a1 | 1101 0010 1101 0001 | D2D1 |
| Suba.w ($FFFFF100).w, a2 | 1101 0100 1111 1000 | D2F8 F100 |
| Suba.l ($FFFFF100).l, a3 | 1001 1011 1111 1001 | D3F9 F100 |
| Suba.w #$1337, a4 | 1001 1100 1111 1100 | D2FC 1337 |
| Subi.b #$20, d1 | 0000 0100 0000 0001 | 0601 0020 |
| Subi.w #$1337, ($FFFFF100).w | 0000 0100 0111 1000 | 0678 1337 F100 |
| Subi.l #$19650917,
($FFFFF100).l | 0000 0100 1111 1001 | 06F9 1965 0917 F100 |
| Subq.b #1, ($FFFFF100).w | 0101 0011 0011 1000 | 5238 F100 |
| Subq.b #2, ($FFFFF100).w | 0101 0101 0011 1000 | 5438 F100 |
| Subq.b #8, ($FFFFF100).w | 0101 0001 0011 1000 | 5038 F100 |
| Swap.w d0 | 0100 1000 0100 0000 | 4840 |
| Tas.b ($FFFFFE00).w | 0100 1010 1111 1000 | 4AF8 FE00 |
| Trap #1 | 0100 1110 0100 0001 | 4E41 |
| Trapv | 0100 1110 0111 0110 | 4E76 |
| Tst.ld1 | 0100 1010 1000 0001 | 4A81 |
| Tst.w ($FFFFAA80).w | 0100 1010 0111 1000 | 4A78 AA80 |
| Tst.b ($FFFFAA80).w | 0100 1010 0011 1000 | 4A38 AA80 |
| Unlk a0 | 0100 1110 0101 1000 | 4E58 |


