--- gforth/prim 2012/07/15 12:03:07 1.273 +++ gforth/prim 2012/09/17 19:58:36 1.277 @@ -1516,6 +1516,10 @@ c_addr2 = c_addr1+1; : dup 1+ swap c@ ; +cell/ ( n1 -- n2 ) gforth cell_divide +""@i{n2} is the number of cells that fit into @i{n1}"" +n2 = n1 / sizeof(Cell); + \g compiler \+f83headerstring @@ -1700,7 +1704,7 @@ wfileid = (Cell)stderr; \+os -form ( -- urows ucols ) gforth +(form) ( -- urows ucols ) gforth paren_form ""The number of lines and columns in the terminal. These numbers may change with the window size. Note that it depends on the OS whether this reflects the actual size and changes with the window size @@ -1735,6 +1739,10 @@ FLUSH_ICACHE((caddr_t)c_addr,u); (bye) ( n -- ) gforth paren_bye SUPER_END; +gforth_FP=fp; +gforth_SP=sp; +gforth_RP=rp; +gforth_LP=lp; return (Label *)n; (system) ( c_addr u -- wretval wior ) gforth paren_system @@ -2471,6 +2479,15 @@ if (flag) { fp[0]=r; } +float/ ( n1 -- n2 ) gforth float_divide +n2 = n1 / sizeof(Float); + +dfloat/ ( n1 -- n2 ) gforth sfloat_divide +n2 = n1 / sizeof(DFloat); + +sfloat/ ( n1 -- n2 ) gforth dfloat_divide +n2 = n1 / sizeof(SFloat); + \+ \ The following words access machine/OS/installation-dependent