Is there a reason that when using rshift or 2/ the most significant bit isn't zero padded? lshift and 2* do this correctly. I was trying to implement a simple back and forth led on a port by starting with a value of 1 in the the port. Moving from right to left in the port works perfectly but when moving from left to right using either rshift or 2/ every other bit is set high so after a couple of back and forths the port is filled with 1s.
I can see that the lshift says it is zero padded but the rshift doesn't say that it is. Is there a reason for this? The 2012 specs seem to say that rshift is zero padded as well. http://lars.nocrew.org/forth2012/core/RSHIFT.html Perhaps it's just my noob code that is the problem. : cylon > $ff ddra ! 1 porta ! > begin 40 ms > 8 0 do porta @ 2* porta ! 40 ms loop > 8 0 do porta @ 2/ porta ! 40 ms loop > key? until ; It appears to work correctly in one direction but not the other. Thanks, Mark _______________________________________________ Amforth-devel mailing list for http://amforth.sf.net/ Amforth-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amforth-devel