On 02/11/2014 07:53 PM, Vincent Slyngstad wrote:
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:
The CLL is was often used. RTR and RTL are symetric. Same operation in
opposing directions.
Its a Rotate not a Shift.
/ 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.
Maybe...
It might also be to get 6buts to the low half word.
Allison