en:pfw:dlshift_drshift
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:pfw:dlshift_drshift [2024-04-09 14:28] – [Coded with LSHIFT and RSHIFT] albert | en:pfw:dlshift_drshift [2024-04-09 14:41] (current) – [Test results (noForth t)] albert | ||
---|---|---|---|
Line 13: | Line 13: | ||
tuck lshift >r \ hi' | tuck lshift >r \ hi' | ||
2dup 32 - | 2dup 32 - | ||
- | 2dup lshift >r \ lower lo to upper hi | + | 2dup |
negate rshift >r \ upper lo to lower hi | negate rshift >r \ upper lo to lower hi | ||
lshift | lshift | ||
- | 2r> r> or or ; | + | 2r> r> or or ; |
| | ||
: DRSHIFT ( lo hi n -- lo' hi' ) \ n in [0,32*2] | : DRSHIFT ( lo hi n -- lo' hi' ) \ n in [0,32*2] | ||
tuck 2dup rshift >r \ hi' | tuck 2dup rshift >r \ hi' | ||
32 - | 32 - | ||
- | 2dup rshift >r \ upper hi to lower lo | + | 2dup |
negate lshift >r \ lower hi to upper lo | negate lshift >r \ lower hi to upper lo | ||
- | rshift 2r> or or \ build lo' | + | rshift 2r> or or \ compose |
r> ; \ hi' | r> ; \ hi' | ||
</ | </ | ||
Line 40: | Line 40: | ||
: (TEST) ( ud ud -- ) 2over 2over du.hex du.hex | : (TEST) ( ud ud -- ) 2over 2over du.hex du.hex | ||
cr ." #shifts dlshift--------- drshift---------" | cr ." #shifts dlshift--------- drshift---------" | ||
- | 32 2* 3 + -2 | + | 32 2* 2 + -2 |
do cr i 3 and 0= if cr then i 7 .r space | do cr i 3 and 0= if cr then i 7 .r space | ||
2over 2over i dlshift du.hex i drshift du.hex | 2over 2over i dlshift du.hex i drshift du.hex | ||
Line 136: | Line 136: | ||
40 0000000000000000 0000000000000000 | 40 0000000000000000 0000000000000000 | ||
- | 41 0000000000000000 0000000000000000 | + | 41 0000000000000000 0000000000000000 OK.0 |
- | 42 0000000000000000 0000000000000000 | + | |
</ | </ | ||
< | < | ||
- | |||
@)test2 0000000000000001 8000000000000000 | @)test2 0000000000000001 8000000000000000 | ||
#shifts dlshift--------- drshift--------- | #shifts dlshift--------- drshift--------- | ||
Line 227: | Line 225: | ||
40 0000000000000000 0000000000000000 | 40 0000000000000000 0000000000000000 | ||
- | | + | 41 0000000000000000 0000000000000000 |
- | | + | |
</ | </ | ||
===== Contributions ===== | ===== Contributions ===== |
en/pfw/dlshift_drshift.1712665705.txt.gz · Last modified: 2024-04-09 14:28 by albert