Actions

SCHG

68000 ASM-to-Hex Code Reference

From Sonic Retro

Revision as of 10:42, 2 September 2008 by Shobiz (talk | contribs) (Fixing category)

(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
Sonic Community Hacking Guide
General
SonED2 Manual | Subroutine Equivalency List
Game-Specific
Sonic the Hedgehog (16-bit) | Sonic the Hedgehog (8-bit) | Sonic CD (prototype 510) | Sonic CD | Sonic CD (PC) | Sonic CD (2011) | Sonic 2 (Simon Wai prototype) | Sonic 2 (16-bit) | Sonic 2 (Master System) | Sonic 3 | Sonic 3 & Knuckles | Chaotix | Sonic Jam | Sonic Jam 6 | Sonic Adventure | Sonic Adventure DX: Director's Cut | Sonic Adventure DX: PC | Sonic Adventure (2010) | Sonic Adventure 2 | Sonic Adventure 2: Battle | Sonic Adventure 2 (PC) | Sonic Heroes | Sonic Riders | Sonic the Hedgehog (2006) | Sonic & Sega All-Stars Racing | Sonic Unleashed (Xbox 360/PS3) | Sonic Colours | Sonic Generations | Sonic Forces
Technical information
Sonic Eraser | Sonic 2 (Nick Arcade prototype) | Sonic CD (prototype; 1992-12-04) | Dr. Robotnik's Mean Bean Machine | Sonic Triple Trouble | Tails Adventures | Sonic Crackers | Sonic 3D: Flickies' Island | Sonic & Knuckles Collection | Sonic R | Sonic Shuffle | Sonic Advance | Sonic Advance 3 | Sonic Battle | Shadow the Hedgehog | Sonic Rush | Sonic Classic Collection | Sonic Free Riders | Sonic Lost World
Legacy Guides
The Nemesis Hacking Guides The Esrael Hacking Guides
ROM: Sonic 1 | Sonic 2 | Sonic 2 Beta | Sonic 3

Savestate: Sonic 1 | Sonic 2 Beta/Final | Sonic 3

Sonic 1 (English / Portuguese) | Sonic 2 Beta (English / Portuguese) | Sonic 2 and Knuckles (English / Portuguese)
Move to Sega Retro
Number Systems (or scrap) | Assembly Hacking Guide | 68000 Instruction Set | 68000 ASM-to-Hex Code Reference | SMPS Music Hacking Guide | Mega Drive technical information