Malcolm Lear wrote:
> Hi
>
> Is this normal behavior for a 68K processor. I'm doing a word comparison
> between a memory location and a data register. It seems that data in the
> most significant word of the register is effecting the result. In the 
> example
> below the test ends up at notequal. Unfortunately I've not got access to
> a real CPU to try this on (only QPC).
>
> Malcolm
>
>
> start     move.l   #$ffff0000,d0
>           lea      test,a4
>           cmp.w    (a4),d0
>           beq.s    equal
>           bra.s    notequal
> test      dc.w     0
> equal     nop
> notequal  nop
>
>   
I suspect you have done a fumble(?) - indeed, "notequal" is always 
reached... especially via the "nop" at "equal"...

There /is/ one anomalous  .L/.W funny. On a MOVEM.L from memory to 
registers, all the registers get a (free!) EXT.L done on them. Normal 
for address registers (a .W operation on one of them /does/ always 
extend to long before an operation) but a little unusual for data registers.

_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to