Search code examples
assembly68000

Why is LEA 0x89AB(%A0),%A0 an Illegal Instruction in 68000 assembly


enter image description here

here is the programming card : https://files.fm/u/7pfmqca9

Why is LEA 0x89AB(%A0),%A0 an Illegal Instruction in 68000 assembly?


Solution

  • Based on the examples given, I infer that a 16-bit immediate is sign extended. From that, I would guess that the 16-bit offset in the indexed addressing mode is also signed. Thus, 0x89ab is an invalid offset, because it doesn't fit in a 16-bit signed number.