> if (!(opcode&0xFF0)) /*No shift*/
> {
> addbyte(0x8A); addbyte(0x0D); addlong(pcpsr+3); /*MOVB
> *pcpsr,%cl*/
> generateload(opcode&0xF);
> addbyte(0x80); addbyte(0xE1); addbyte(~0xC0); /*AND
> $ZFLAG+NFLAG,%cl*/
> return 1;
> }
>
>No shift but clears C flag.
There's an '~' missing from the comment but clearly visible in the code - it's
clearing Z and N but leaving C intact.
>Second example:
>
> addbyte(0x80); addbyte(0xE1); addbyte(~0xC0); /*AND
> $ZFLAG+NFLAG,%cl*/
> Here if temp is 0, there is no shift but it clears C flag.
Same here.
Tom
_______________________________________________
Rpcemu mailing list
[email protected]
http://www.riscos.info/cgi-bin/mailman/listinfo/rpcemu