Diff for /gforth/prim between versions 1.262 and 1.265

version 1.262, 2011/12/02 22:06:13 version 1.265, 2012/02/21 21:34:10
Line 1 Line 1
 \ Gforth primitives  \ Gforth primitives
   
 \ Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,2006,2007,2008,2009,2010 Free Software Foundation, Inc.  \ Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,2006,2007,2008,2009,2010,2011 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
Line 1103  lshift ( u1 n -- u2 )  core l_shift Line 1103  lshift ( u1 n -- u2 )  core l_shift
 :  :
     0 ?DO 2* LOOP ;      0 ?DO 2* LOOP ;
   
   umax    ( u1 u2 -- u )  core
   if (u1<u2)
     u = u2;
   else
     u = u1;
   :
    2dup u< IF swap THEN drop ;
   
   umin    ( u1 u2 -- u )  core
   if (u1<u2)
     u = u1;
   else
     u = u2;
   :
    2dup u> IF swap THEN drop ;
   
 \g compare  \g compare
   
 \ comparisons(prefix, args, prefix, arg1, arg2, wordsets...)  \ comparisons(prefix, args, prefix, arg1, arg2, wordsets...)
Line 2555  u = (c_addr[0] << 8) | (c_addr[1]); Line 2571  u = (c_addr[0] << 8) | (c_addr[1]);
   
 be-ul@ ( c_addr -- u )  gforth l_fetch_be  be-ul@ ( c_addr -- u )  gforth l_fetch_be
 ""@i{u} is the zero-extended 32-bit big endian value stored at @i{c_addr}.""  ""@i{u} is the zero-extended 32-bit big endian value stored at @i{c_addr}.""
 u = (c_addr[0] << 24) | (c_addr[1] << 16) | (c_addr[2] << 8) | (c_addr[3]);  u = ((Cell)c_addr[0] << 24) | (c_addr[1] << 16) | (c_addr[2] << 8) | (c_addr[3]);
   
 le-uw@ ( c_addr -- u )  gforth w_fetch_le  le-uw@ ( c_addr -- u )  gforth w_fetch_le
 ""@i{u} is the zero-extended 16-bit little endian value stored at @i{c_addr}.""  ""@i{u} is the zero-extended 16-bit little endian value stored at @i{c_addr}.""
Line 2563  u = (c_addr[1] << 8) | (c_addr[0]); Line 2579  u = (c_addr[1] << 8) | (c_addr[0]);
   
 le-ul@ ( c_addr -- u )  gforth l_fetch_le  le-ul@ ( c_addr -- u )  gforth l_fetch_le
 ""@i{u} is the zero-extended 32-bit little endian value stored at @i{c_addr}.""  ""@i{u} is the zero-extended 32-bit little endian value stored at @i{c_addr}.""
 u = (c_addr[3] << 24) | (c_addr[2] << 16) | (c_addr[1] << 8) | (c_addr[0]);  u = ((Cell)c_addr[3] << 24) | (c_addr[2] << 16) | (c_addr[1] << 8) | (c_addr[0]);
   
 \+64bit  \+64bit
   

Removed from v.1.262  
changed lines
  Added in v.1.265


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>