as D2 increments, the bit changed walks across D3.L and wraps every 32 iterations. The bit changed in memory (test.L) wraps every 8 bits, affecting only a single byte. Sounds like the opposite of what you describe. Mardell's reference guide is not helpful. Easy 68K Quick Reference v2.1 seems to indicate that there are byte and longword versions for any destination mode.

Sorry, you are correct. I must have been low on caffeine when I responded the first time.

From a 68000 user guide:

A bit in the destination operand is tested and the state of the specified bit is reflected in the Z condition code. After the test, the state of the specified bit is changed in the destination. If a data register is the destination, then the bit numbering is modulo 32 allowing bit manipulation on all bits in a data register. If a memory location is the destination, a byte is read from that location, the bit operation performed using the bit number modulo 8, and the byte written back to the location with zero referring to the least-significant bit. The bit number for this operation may be specified in two different ways: 1. Immediate -- the bit number is specified in a second word of the instruction. 2. Register -- the bit number is contained in a data register specified in the instruction.Condition Codes: N Not affected. Z Set if the bit tested is zero. Cleared otherwise. V Not affected. C Not affected. X Not affected.

When the destination is a data register the size is always .L. This may be specified in the instruction or not with the same result. When the destination is memory the size is always .B. Again the size may be specified in the instruction or omitted with the same result:

Who is online

Users browsing this forum: No registered users and 2 guests

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum