anchor.diff:  \ This is done by writing an arbitrary value back to KQDATA.
   
   t: kia?		$0200000000000000 C@ 1 AND 1 XOR ;
  -t: scan		$0200000000000000 C@ $C0 AND 52 LSHIFT
  +t: scan		$0200000000000000 C@ $C0 AND 56 LSHIFT
   		$0200000000000001 C@ OR ;
   t: popq		DUP $0200000000000001 C! ;
   
  
positive.code: 
  t: ?kia		kia? IF scan -1 popq ELSE 0 0 THEN ;
  
  
negative.code: $D8 tc, $D9 tc, $DA tc, $DB tc, $DC tc, $DD tc, $DE tc, $DF tc, 
  
  tcreate lookups
    t' unshifted t>h cell+ @ t,
    t' ctrled t>h cell+ @ t,		( ctrl )
    t' shifted t>h cell+ @ t,		( shift )
    t' ctrled t>h cell+ @ t,		( ctrl+shift )
    t' alted t>h cell+ @ t,		( alt )
    t' ctrled t>h cell+ @ t,		( ctrl+alt )
    t' shiftalted t>h cell+ @ t,	( shift+alt )
    t' ctrled t>h cell+ @ t,		( ctrl+alt+shift )
  
  \ The KIA interface consists of the KQSTAT register at
  \ address $0100000000000000, and the KQDATA register at
  