From: allison: Tuesday, February 11, 2014 4:09 PM
On 02/11/2014 06:24 AM, Rick Murphy wrote:
I had a quick look at the code and it's not
going to be particularly
hard to get rid of the BSW instructions.
I got distracted trying to remember where the three-instruction BSW
subroutine is found. In TSS/8 somewhere IIRC.
CLL RTL ; clear link rotate two left, iterated three times.
CLL RTL
CLL RTL
I'm pretty sure you need RTR, not RTL. Otherwise you're clearing
the bits you want to rotate in, and you'll need to rotate one more
to count the Link. The CLL stuff is probably optional anyway:
/ L 012 345 678 9ab
RTR / a bL0 123 456 789
RTR / 8 9ab L01 234 567
RTR / 6 789 abL 012 345
This assumes the objective is to get 6 bits of "high byte" to
the lsb so they can be used for 8 bit I/O. Your version is
more suitable to a "pack" operation that gets the least
significant 6 bits to the high side of a word, so it can be
merged with another 6 bit "byte" for storage.
Vince