Hi, better code for stacks hexa vertical. Pito

\ Some new .s
\ by Pito 2010-09-10
\ v3 WITH TOS, TOR ON RIGHT SIDE
\    PRINTED VERTICALLY !!!
\ a little bit optimised

marker -newdots

: u.r       ( s n -- )   0 swap ud.r ;  \ comment if installed

: nibble ( n -- nth_nibbble )
1-  2* 2*  rshift $f and ; 

: ns@ ( n -- tos-n ) \ fetches n-th dstack position from tos
1+ 2* sp@ + @ ;   


\ ONELINE HEXA DSTACK VERTICAL 
: .svh
hex
sp@
base @
depth 1- 1- 

4 0 do

." ["
dup 0 ?do 
dup 1- i  -
2* 3 ns@ + @ 4 j - nibble 1 u.r ."  "
loop
." <S]" cr

loop

drop    \ drop depth
base !  
drop     \ drop sp@
;


: rdepth rp0 rp@ - 2/  1- 1- ; 

\ ONELINE HEXA RSTACK VERTICAL 
: .rvh
hex
rp@ 1-
base @
rdepth 1- 1- 

4 0 do

." ["
dup 0 ?do 
dup 1- i  -
2* 3 ns@ + @ 4 j - nibble 1 u.r ."  "
loop
." <R]" cr

loop

drop    \ drop rdepth
base !  
drop     \ drop rp@
;


: ? .svh .rvh cr ;

: rtest
?
$ABCD $BCDA ? >r ? >r ?
r> ? r> ? 
drop drop ?
;
\ --------------------------

EX:
> $1122 $3344 $5566 $7788 $99FF
ok
> .svh
[1 3 5 7 9 <S]
[1 3 5 7 9 <S]
[2 4 6 8 F <S]
[2 4 6 8 F <S]
ok
> $1122 $3344 $5566 $7788 $99FF
ok
> .svh
[1 3 5 7 9 1 3 5 7 9 <S]
[1 3 5 7 9 1 3 5 7 9 <S]
[2 4 6 8 F 2 4 6 8 F <S]
[2 4 6 8 F 2 4 6 8 F <S]
ok
> .s
0 3FEB 99FF 
1 3FED 7788 
2 3FEF 5566 
3 3FF1 3344 
4 3FF3 1122 
5 3FF5 99FF 
6 3FF7 7788 
7 3FF9 5566 
8 3FFB 3344 
9 3FFD 1122 
ok
> .rvh
[0 1 <R]
[6 E <R]
[0 D <R]
[3 E <R]
ok
> rtest
[<S]
[<S]
[<S]
[<S]
[0 1 1 1 <R]
[6 F F E <R]
[0 1 0 D <R]
[3 6 D E <R]

[A B <S]
[B C <S]
[C D <S]
[D A <S]
[0 1 1 1 <R]
[6 F F E <R]
[0 1 0 D <R]
[3 B D E <R]

[A <S]
[B <S]
[C <S]
[D <S]
[0 B 1 1 1 <R]
[6 C F F E <R]
[0 D 1 0 D <R]
[3 A D D E <R]

[<S]
[<S]
[<S]
[<S]
[0 B A 1 1 1 <R]
[6 C B F F E <R]
[0 D C 1 0 D <R]
[3 A D F D E <R]

[A <S]
[B <S]
[C <S]
[D <S]
[0 B 1 1 1 <R]
[6 C F F E <R]
[0 D 2 0 D <R]
[3 A 1 D E <R]

[A B <S]
[B C <S]
[C D <S]
[D A <S]
[0 1 1 1 <R]
[6 F F E <R]
[0 2 0 D <R]
[3 3 D E <R]

[<S]
[<S]
[<S]
[<S]
[0 1 1 1 <R]
[6 F F E <R]
[0 2 0 D <R]
[3 6 D E <R]

ok
> 


------------------------------------------------------------------------------
Automate Storage Tiering Simply
Optimize IT performance and efficiency through flexible, powerful, 
automated storage tiering capabilities. View this brief to learn how
you can reduce costs and improve performance. 
http://p.sf.net/sfu/dell-sfdev2dev
_______________________________________________
Amforth-devel mailing list
Amforth-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amforth-devel

Reply via email to