From: pito <pi...@vo...> - 2010-09-06 08:49:47
|
Hi, this is a collection of .s variations in various shapes and bases. Have a fun! Pito. \ Some new .s \ by Pito 2010-09-06 marker -newdots : u.r ( s n -- ) 0 swap ud.r ; \ comment if installed \ ONE LINE HEXA STACK : .slh sp@ ." [TOS> " depth 1- 0 ?do dup i 2* + base @ swap hex @ 6 u.r base ! loop drop ." ]" ; \ ONE LINE UNSIGNED STACK : .slu sp@ ." [TOS> " depth 1- 0 ?do dup i 2* + @ 6 u.r loop drop ." ]" \ cr .slh ; \ ONE LINE SIGNED STACK : .sls sp@ ." [TOS> " depth 1- 0 ?do dup i 2* + @ 6 .r loop drop ." ]" \ cr .slh ; \ ONE LINE SIGNED AND HEXA STACK : .sld sp@ ." [TOS> " depth 1- 0 ?do dup i 2* + @ 6 .r loop drop ." ]" cr .slh ; \ ONE LINE SIGNED AND UNSIGNED AND HEXA STACK : .sla sp@ ." [TOS> " depth 1- 0 ?do dup i 2* + @ 6 .r loop drop ." ]" cr .slu cr .slh ; \ IN COLUMNS NO ADDRR UNSIGNED SIGNED HEXA : .sc sp@ depth 1- 0 ?do dup i dup dup 0 = if ." TOS>" drop else negate 4 .r then 2* + \ dup 7 u.r ( prints the address ) dup dup @ 7 u.r @ 7 .r base @ swap hex @ 6 u.r base ! cr loop drop ; \ IN COLUMNS WITH ADDRR UNSIGNED SIGNED HEXA : .sch sp@ depth 1- 0 ?do dup i dup negate 4 .r 2* + dup 7 u.r ( prints the address ) dup dup @ 7 u.r @ 7 .r base @ swap hex @ 6 u.r base ! cr loop drop ; \ AN EXPERIMENT WITH 2DECIMAL : .scd sp@ depth 1- 0 ?do dup i dup u. ( gives the "index" ) 2* + dup u. ( prints the address ) i $0001 and 0 = if dup @ u. 2@ d. else @ u. then ( content ) cr loop drop ; \ AN EXPERIMENT WITH 2DECIMAL and FLOAT : .scf sp@ depth 1- 0 ?do dup i dup 4 u.r ( gives the "index" ) 2* + dup 8 u.r ( prints the address ) i $0001 and 0 = if dup dup @ 8 u.r 2@ 12 d.r ." " f@ fs. else @ 8 u.r then cr loop drop ; \ AN EXPERIMENT WITH 2DECIMAL and FLOAT : .scf1 sp@ depth 1- 0 ?do dup i dup negate 4 .r ( gives the "index" ) 2* + dup 7 u.r ( prints the address ) i $0001 and 0 = if dup dup @ 7 u.r 2@ 13 d.r ." " f@ fs. else @ 7 u.r then cr loop drop ; \ ------------------------------------------------- Ex: > _pi _ln2 -1234567890. ok > .slh [TOS> B669 FD2E 3F31 7217 4049 FDB FD2E 3F31 7217 4049 FDB] ok > .slu [TOS> 46697 64814 16177 29207 16457 4059 64814 16177 29207 16457 4059] ok > .sls [TOS> -18839 -722 16177 29207 16457 4059 -722 16177 29207 16457 4059] ok > .sld [TOS> -18839 -722 16177 29207 16457 4059 -722 16177 29207 16457 4059] [TOS> B669 FD2E 3F31 7217 4049 FDB FD2E 3F31 7217 4049 FDB] ok > .sla [TOS> -18839 -722 16177 29207 16457 4059 -722 16177 29207 16457 4059] [TOS> 46697 64814 16177 29207 16457 4059 64814 16177 29207 16457 4059] [TOS> B669 FD2E 3F31 7217 4049 FDB FD2E 3F31 7217 4049 FDB] ok > .sc TOS> 46697 -18839 B669 -1 64814 -722 FD2E -2 16177 16177 3F31 -3 29207 29207 7217 -4 16457 16457 4049 -5 4059 4059 FDB -6 64814 -722 FD2E -7 16177 16177 3F31 -8 29207 29207 7217 -9 16457 16457 4049 -10 4059 4059 FDB ok > .sch 0 16361 46697 -18839 B669 -1 16363 64814 -722 FD2E -2 16365 16177 16177 3F31 -3 16367 29207 29207 7217 -4 16369 16457 16457 4049 -5 16371 4059 4059 FDB -6 16373 64814 -722 FD2E -7 16375 16177 16177 3F31 -8 16377 29207 29207 7217 -9 16379 16457 16457 4049 -10 16381 4059 4059 FDB ok > .scd 0 16361 46697 -1234567890 1 16363 64814 2 16365 16177 1060205079 3 16367 29207 4 16369 16457 1078530011 5 16371 4059 6 16373 64814 -47300815 7 16375 16177 8 16377 29207 1914126409 9 16379 16457 10 16381 4059 266027005 ok > .scf 0 16361 46697 -1234567890 -3.4867067E-6 1 16363 64814 2 16365 16177 1060205079 6.9314709E-1 3 16367 29207 4 16369 16457 1078530011 3.1415927 5 16371 4059 6 16373 64814 -47300815 -1.4475877E37 7 16375 16177 8 16377 29207 1914126409 2.9958398E30 9 16379 16457 10 16381 4059 266027005 2.1619697E-29 ok > .scf1 0 16361 46697 -1234567890 -3.4867067E-6 -1 16363 64814 -2 16365 16177 1060205079 6.9314709E-1 -3 16367 29207 -4 16369 16457 1078530011 3.1415927 -5 16371 4059 -6 16373 64814 -47300815 -1.4475877E37 -7 16375 16177 -8 16377 29207 1914126409 2.9958398E30 -9 16379 16457 -10 16381 4059 266027005 2.1619697E-29 ok > |