Annotation of 43BSD/contrib/apl/lib/fn/operation, revision 1.1.1.1

1.1       root        1: operation; sm
                      2: }(nop,mov,cmp,add,bit,bic,bis,nop,clr,com,inc,dec,neg,adc,sbc,tst,ror,rol,asr,asl)[2Bopin]
                      3: nop: }0
                      4: mov: rl1 { od1
                      5:        v { 0
                      6:      }exit
                      7: cmp: rl1 { (16R2)Nsm { (twoc od1)-twoc od2
                      8:        c { (2*16)$(2Bod1)+1+2B(~od2)
                      9:        v { (2*15)$|sm
                     10:      }exit
                     11: add: rl1 { (16R2)Nsm { (twoc od1)+twoc od2
                     12:        c { (2*16)$(2Bod1)+2Bod2
                     13:        v { (2*15)$|sm
                     14:      }exit
                     15: bit: rl1 { od1^od2
                     16:        v { 0
                     17:      }exit
                     18: bic: rl1 { od2^(~od1)
                     19:        v { 0
                     20:      }exit
                     21: bis: rl1 { od1Vod2
                     22:        v { 0
                     23:      }exit
                     24: clr: rl1 { 16R0
                     25:        c { v { n { 0
                     26:        z { 1
                     27:      }0
                     28: com: rl1 { ~od1
                     29:        c { 1
                     30:        v { 0
                     31:      }exit
                     32: inc: rl1 { (16R2)Nsm { 1+twoc od1
                     33:        v { sm=2*15
                     34:      }exit
                     35: dec: rl1 { (16R2)Nsm { `1+twoc od1
                     36:        v { sm$ - 2*15
                     37:      }exit
                     38: neg: rl1 { (16R2)Nsm { -twoc od1
                     39:        c { sm#0
                     40:        v { sm = 2*15
                     41:      }exit
                     42: adc: rl1 { (16R2)Nsm { c+twoc od1
                     43:        v { c^sm=2*15
                     44:        c { (sm=0)^c
                     45:      }exit
                     46: sbc: rl1 { (16R2)Nsm { (- c)+twoc od1
                     47:        c { sm=`1
                     48:        v { sm = (2*15)-1
                     49:      }exit
                     50: asr: rl1 { od1[0],`1Uod1
                     51:        c { `1Yod1
                     52:        v { (`1Yod1)#(rl1[0])
                     53:      }exit
                     54: asl: rl1 { 1Uod1,0
                     55:        c { 1Yod1
                     56:        v { (1Yod1)#(rl1[0])
                     57:      }exit
                     58: ror: rl1 { c,`1Uod1
                     59:        c { `1Yod1
                     60:        v { (`1Yod1)#(rl1[0])
                     61:      }exit
                     62: rol: rl1 { 1Uod1,c
                     63:        c { 1Yod1
                     64:        v { (1Yod1)#(rl1[0])
                     65:      }exit
                     66: exit: n { rl1[0]
                     67:       z { ~ V/rl1
                     68:      }0

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.