Files
vulcan/vweb/4th/prelude.f
T
2023-01-01 17:57:23 -06:00

26 lines
642 B
FortranFixed

: if $ brz >asm ; immediate
: then resolve ; immediate
: else r> $ jmpr >asm >r resolve ; immediate
: variable create 0 , does> ;
: arshift $ arshift asm ;
: lshift [ $ lshift asm ] ;
: rshift [ $ rshift asm ] ;
: u> [ $ gt ] asm ;
: u< [ $ lt ] asm ;
: rdrop r> pop ;
: over 1 pick ;
: nip swap pop ;
: -rot rot rot ;
: tuck dup -rot ;
: space 32 emit ;
: cr 13 emit 10 emit ;
: +! dup @ rot + swap ! ;
: 2dup 1 pick 1 pick ;
: allot here swap &heap +! ;
: negate -1 ^ 1 + ;
: free negate &heap +! here ;
: c+! dup c@ rot + swap c! ;
: ror dup 1 rshift swap 23 lshift | ;
: rol dup 23 rshift swap 1 lshift | ;
: abs dup 0 < if negate then ;