Rotate a value without using carry.
mov W, <<RAM ;initialize carry with MSb of RAM rl RAM ;rotate, MSb from carry is shifted into LSb of RAM
The normal Rotate-instructions are 9-bit (Carry into lowest bit, highest bit into Carry). This modification creates a 8-bit Rotate. (Highest bit into Lowest bit). The first line places the MSBit of RAM into Carry and then the second actually performs the rotate.
If you would like to rotate without affection the carry you can do it like that:
;right cycle shift mov W, >>RAM rr RAM rl WREG ;restore carry
;left cycle shift mov W, <<RAM rl RAM rr WREG ;restore carry
Note that bit 7 (RTW) of OPTION should be cleared to allow access to working register as a file register.
file: /Techref/scenix/lib/math/bit/rnocarry_sx.htm, 1KB, , updated: 2004/6/10 13:40, local time: 2024/11/5 11:34,
13.59.156.15:LOG IN ©2024 PLEASE DON'T RIP! THIS SITE CLOSES OCT 28, 2024 SO LONG AND THANKS FOR ALL THE FISH!
|
©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://linistepper.com/techref/scenix/lib/math/bit/rnocarry_sx.htm"> SX Microcontroller Bit Math Method - Rotate a value without using carry.</A> |
Did you find what you needed? |