operation; sm
}(nop,mov,cmp,add,bit,bic,bis,nop,clr,com,inc,dec,neg,adc,sbc,tst,ror,rol,asr,asl)[2Bopin]
nop: }0
mov: rl1 { od1
       v { 0
     }exit
cmp: rl1 { (16R2)Nsm { (twoc od1)-twoc od2
       c { (2*16)$(2Bod1)+1+2B(~od2)
       v { (2*15)$|sm
     }exit
add: rl1 { (16R2)Nsm { (twoc od1)+twoc od2
       c { (2*16)$(2Bod1)+2Bod2
       v { (2*15)$|sm
     }exit
bit: rl1 { od1^od2
       v { 0
     }exit
bic: rl1 { od2^(~od1)
       v { 0
     }exit
bis: rl1 { od1Vod2
       v { 0
     }exit
clr: rl1 { 16R0
       c { v { n { 0
       z { 1
     }0
com: rl1 { ~od1
       c { 1
       v { 0
     }exit
inc: rl1 { (16R2)Nsm { 1+twoc od1
       v { sm=2*15
     }exit
dec: rl1 { (16R2)Nsm { `1+twoc od1
       v { sm$ - 2*15
     }exit
neg: rl1 { (16R2)Nsm { -twoc od1
       c { sm#0
       v { sm = 2*15
     }exit
adc: rl1 { (16R2)Nsm { c+twoc od1
       v { c^sm=2*15
       c { (sm=0)^c
     }exit
sbc: rl1 { (16R2)Nsm { (- c)+twoc od1
       c { sm=`1
       v { sm = (2*15)-1
     }exit
asr: rl1 { od1[0],`1Uod1
       c { `1Yod1
       v { (`1Yod1)#(rl1[0])
     }exit
asl: rl1 { 1Uod1,0
       c { 1Yod1
       v { (1Yod1)#(rl1[0])
     }exit
ror: rl1 { c,`1Uod1
       c { `1Yod1
       v { (`1Yod1)#(rl1[0])
     }exit
rol: rl1 { 1Uod1,c
       c { 1Yod1
       v { (1Yod1)#(rl1[0])
     }exit
exit: n { rl1[0]
      z { ~ V/rl1
     }0