202b
<< <> >>
 
De letter R in een comando geeft aan dat het getal 'rechtsgericht in een veld van r posities' afgedrukt wordt.
) -1  33 .R [rtn]
) -1  32 U.R [rtn]
) -1. 31 D.R [rtn]
) -1. 30 DU.R [rtn]
Ook DU.R wordt niet genoemd in de standaard.

2. Definities voor de acht punt-commando's

Het afdrukken van getallen gaat in twee fases:
  1. Het omzetten (Signed of Unsigned) van het bitpatroon op Stack in een String;
  2. Het afdrukken van de String, al dan niet 'rechtsgericht'.
Voor fase 1 maak ik twee woordjes:
: DU.STRING (ulo uhi -- adr len )
  <# #S #> ;
: D.STRING ( xlo xhi -- adr len )
  TUCK     \ Onthoud het teken
  DABS
  <# #S
  ROT SIGN \ Zet eventueel een minteken
           \ voor de String
  #> ;
<# ( ulo uhi -- ulo uhi ) "less number sign"
Reserveer een buffer voor het omzetten van het bitpatroon uhi,ulo naar een leesbare String. Tijdens het omzetten kunnen #S en SIGN hun werk doen en #> sluit het omzetten af.

#> ( ulo uhi -- adr len ) "number sign greater"
Sluit het omzetten af. De String adr,len is het resultaat van de omzetting.

#S ( ulo uhi -- 0 0 ) "number sign S"
Zet het dubbelgetal op Stack om in een string. Gebruik #S alleen tussen <# en #>.

SIGN ( x -- )
Voeg, alleen als x negatief is, vooraan de String in wording een minteken toe. Gebruik SIGN alleen tussen <# en #>.
>>