Results 1 to 5 of 5
  1. #1
    EmuTalk Member
    Join Date
    Nov 2005
    Posts
    19

    Motorola 68000 opcodes

    I must emulate the 16-bit m68k for my project. Where can I find data on the opcodes' byte values and not the opcodes' names? for example, the value of MOVE, ADD, LEA, etc... I have a reference but it doesn't contain that information.



    • Advertising

      advertising
      EmuTalk.net
      has no influence
      on the ads that
      are displayed
        
       

  2. #2
    EmuTalk Member
    Join Date
    Sep 2005
    Location
    Germany
    Posts
    31
    You can try this, it helped me a lot...

    http://oldwww.nvg.ntnu.no/amiga/MC68...ons/index.HTML

  3. #3
    EmuTalk Member
    Join Date
    Nov 2005
    Posts
    19
    Well that doc is useful to clarify each opcode's function (I saved it) but it doesn't help. I need to know how "PEA" and "LINK" and etc. are represented numerically in memory, and the size of the instructions.

    for instance:

    CLR <ea>

    this instruction will clear the operand to zero. I know how to determine the particular operand from the status register. BUT I can't parse "CLR" out of an array of bytes since I don't know its (CLR) value. CLR is an alias for a byte or 2 bytes??

    example, assuming CLR is E24F:

    E24F 0756 means:
    CLR 0756

    ^ that formatting is probably not correct but I hope you understand.

  4. #4
    EmuTalk Member
    Join Date
    Sep 2005
    Location
    Germany
    Posts
    31
    If i understand you right, then that doc shows you exactly what you want to know.
    On the M68000 every opcode can have many different versions, depending on the operation size, effective address of the operands and other things.
    Each opcode is basically word (2bytes) in size, but depending on the address mode, or opcode, immediate data, or addresses can follow the opcode. All that you can see in the doc.

    For the CLR it shows something like this for example:

    | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | SIZE | MODE | REGISTER

    that means the hex representation of CLR is 0x42xx
    where xx specify the operation size, and the address mode. Those you can find too in the doc.

    So 0x4280 for example would be a CLR , Long size, with the Register D[0] as operand.
    0x4239 a CLR on a byte specified by the Long Word address following after the CLR opcode.

    I hope you understand

  5. #5
    EmuTalk Member
    Join Date
    Nov 2005
    Posts
    19
    hmm okay I now understand. thank you. I will use this doc.

Similar Threads

  1. PowerPC "Gekko" Opcodes and Explanation
    By |\/|-a-\/ in forum General GC Emulation Discussion
    Replies: 4
    Last Post: March 29th, 2005, 22:01
  2. ignore unemulated opcodes
    By ArgJuli in forum Dolphin
    Replies: 6
    Last Post: February 12th, 2005, 21:10
  3. Replies: 3
    Last Post: January 7th, 2005, 17:42
  4. 6502 Opcodes
    By MXP in forum Programming
    Replies: 12
    Last Post: July 11th, 2004, 18:00
  5. Replies: 0
    Last Post: February 22nd, 2003, 20:18

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •