3

What will the instruction move #>$3,var mean in 68k assembly ?

Bleamer
  • 637
  • 9
  • 24
  • 1
    I would say a syntax error. The usage of `>` requires an assembler operand on the left side of it (to compare with the `$3` on the right side - a hexadecimal, `$`, value of `3` which, of course, is just `3`) but that is missing. – FrankH. Jun 27 '12 at 14:40
  • i'm not sure about this but ">" character might be representing the "high byte" or "high word" here. in "$3" case ">$3" equals to zero. but this ">" sign should be evaluated as a compiler level operator, not instruction level. "<" also means low byte/word in many assemblers. since i'm not sure about my answer, i write this as a supportive comment. – Emir Akaydın Jun 27 '12 at 14:58
  • I was wondering about the advanced memory indirect addressing modes the 68020 (or 30?) have. But I am not familiar with those, even less when using AT&T syntax. – Gunther Piez Jun 27 '12 at 16:10
  • @Bleamer, unless this is intended as a kind of puzzle, can you tell us where you saw such a syntax? – Clafou Jun 28 '12 at 14:43
  • It was part of legacy code implementation for a 68K based DSP. – Bleamer Jul 05 '12 at 10:31

1 Answers1

2

I figured it out. The syntax #> is an operator to force long (immediate) addressing mode in 68K and hence my instruction move #>$3,var would mean - move the value $3 (0x03) to variable var forcing the long addressing mode in 68K assembly. I am not certain about the processors supporting this operation.

@drhirsch almost nailed it.

Bleamer
  • 637
  • 9
  • 24