0

How to interpret assembly 68K instruction: MOVE.W #5100!$13ec,-(A7) What is a meaning of symbol '!' between decimal 5100 and hexadecimal 13ec. I have noticed that 5100 is equal to $13ec.

Vlad
  • 11

1 Answers1

2

This is your disassembler being "helpful", and showing you two possible interpretations of a value. Sometimes the decimal view is what you want (e.g. it's a loop counter, or a fixed size, or a decimal constant), and sometimes the hex view is what you want (e.g. it's an address, a block size, flags, or a hex constant). By providing both, the disassembler is just trying to be helpful.

If you were going to assemble this instruction, you'd only use one interpretation, e.g.

MOVE.W #5100,-(A7)

or

MOVE.W $13ec,-(A7)
nneonneo
  • 171,345
  • 36
  • 312
  • 383
  • .. and it must be a specific function of this particular disassembler. Most disassemblers I know (and the ones I wrote myself) use a default scheme, make intelligent choices, or provide the alternate notation as a comment. That way, the produced assembly can be reassembled. – Jongware Sep 08 '14 at 21:12
  • @Jongware: yep. My old 68K disassembler (which I used with ResEdit on my old Mac) didn't do this. – nneonneo Sep 09 '14 at 00:24