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