\ systraputil 10/18/97 gwj \ simplify use of SysTrap \ a couple of useful double constants 0 s>d 2constant 0L -1 s>d 2constant -1L \ call systrap & return a double : SysTrap>d ( n -- d ) systrap d0 ; \ call systrap & return a single : SysTrap>n ( n -- n' ) systrap d0 drop ; \ call systrap & return a long address : SysTrap>a ( n -- absaddr ) systrap a0 ; \ convert addr count into a long \ address and a double count : str>lstr ( addr cnt -- absaddr dcnt ) swap >abs rot 0 ; \ working with systraps requires a \ lot of stack cleanup : 3drop ( a b c -- ) drop 2drop ; : 4drop ( a b c n -- ) 2drop 2drop ; : 6drop ( a b c n e f -- ) 2drop 2drop 2drop ; : 3nip ( a b c n -- n ) >r 3drop r> ; : 4nip ( a b c f n -- n ) >r 4drop r> ;