home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dream 48
/
Amiga_Dream_48.iso
/
Atari
/
forth
/
forst.zoo
/
forst
/
lib
/
intout.s
< prev
next >
Wrap
Text File
|
1990-12-10
|
840b
|
34 lines
( basic number output words)
( assumes on stack: addr,#chars,integer)
decimal
variable base 10 base !
create ipad 20 allot
ipad 20 + address padend
another u/mod \ copy up from the system
: <# ( integer--addr,0,integer)
>r padend 0 r> ; called
: #> ( addr,#chars,integer--addr,#chars)
drop ;
: hold ( addr,#chars,integer,char--addr',#chars',integer)
{ 4 args ptr #chars value char }
char ptr dec c!
ptr #chars 1+ value ;
: sign 0< if 45 hold then ;
: abs dup 0< if negate then ;
: # ( addr,#chars,integer--addr,#chars',integer')
base @ u/mod swap
dup 10 < if 48 else 55 then + hold ;
: #s ( addr,#chars,integer--addr',#chars',0)
begin # dup 0= until ;
: (u.) <# #s #> ;
: u. (u.) type space ;
: (.) dup >r abs <# #s r> sign #> ;
: . (.) type space ;