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