DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦349f6dfa5⟧ TextFile

    Length: 231936 (0x38a00)
    Types: TextFile
    Names: »rc3503testl«

Derivation

└─⟦2c55ea56f⟧ Bits:30001844 SW-save af projekt 1000, Alarm-system
    └─⟦093e2ad1c⟧ 
        └─⟦this⟧ »rc3503testl« 

TextFile

\f

 0001 m3503
                             
                             ; rc3503 microprogram description.
                             ;
                             ; date 1980.11.11       kneh.
                             ; listing       rcsl 52 - aa 1005
                             ; source tape   rcsl 52 - aa 1006
                             ; macro source  rcsl 52 - aa 1007
                             ;
                             ; des35 source  rcsl 52 - aa 1008
                             ; def1  source  rcsl 52 - aa 1009
                             ;
                             ; slice register layout.
                             ; ac0   save current w0.
                             ; ac1   current level number.
                             ; ac2   save read address (m:ram).
                             ; ac3   ea (effective address)
                             ; ac4   op (operand).
                             ; ac5  current i/o level.
                             ; ac6  enable/disable flag; =4 if enable else =5.
                             ; ac7  scratch register.
                             ; ac10  constant 8.177000
                             ; ac11  constant 8.400
                             ; ac12  constant 8.2
                             ; ac13 module select.
                             ; ac14  constant 8.37
                             ; ac15  current level shift logical left 3 positions.
                             ; ac16  memory address to mem read/write routines.
                             ; ac17  data to/from mem read/write routines.
                             
                                     
\f

!0002 m3503
                             
                             ; rc3503 microprogram description.
                             ; the microprogram listing has the following format:
                             ;
                             ; microaddress  word1   word2   word3   word4
                             ; xxxx          xxxx    xxxx    xxxx    xxxx
                             ; x means hex ciffer.
                             ; xxxx --> bit 0-15
                             ;
                             ; word1 :
                             ;--------
                             ; bit 0-3       next i0-3       next microinstruction.
                             ; 0             jz              jump zero.
                             ; 1             cjs             cond jsb pl.
                             ; 2             jmap            jump map.
                             ; 3             cjp             cond jump pl.
                             ; 4             push            push/cond ld cntr
                             ; 5             jsrp            cond jsb r/pl.
                             ; 6             cjv             cond jump vector.
                             ; 7             jrp             cond jump r/pl.
                             ; 8             rfct            repeat loop,cntr<>0
                             ; 9             rpct            repeat pl,cntr<>0.
                             ; a             crtn            cond rtn.
                             ; b             cjpp            cond jump pl&pop.
                             ; c             ldct            ld cntr&continue.
                             ; d             loop            test end loop
                             ; e             cont            continue.
                             ; f             twb             three-way branch.
                             ;
                             ; bit 4-7       cond 0-3        condition select.
                             ; bit 8-11      asel 0-3        a-slice register select.
                             ; bit 12-15     bsel 0-3        b-slice register select.
\f

!0003 m3503
                             
                             ; rc3503 microprogram description.
                             ; word2 :
                             ; -------
                             ; bit 0-2       slice 0-2       alu destination control.
                             ; bit 3-6       alu func 0-2,c  alu function and carry.
                             ; bit 7-9       alu op 0-2      alu source operand.
                             ; bit10         enable hold
                             ; bit 11-12     cload 0-1       carry load control field
                             ; bit 13-15     wreg 0-2        w-register ram address control.
                             ;
                             ; word 3 :
                             ; --------
                             ; bit 0-3       dummy
                             ; bit 4         escape/polx
                             ; bit5          -,sup itr.
                             ; bit 6         test ack.
                             ; bit 7         -,byte en/nxt mar 0.
                             ; bit 8         -,update alu status.
                             ; bit 9         -,update carry.
                             ; bit 10                -,set base
                             ; bit 11                -,syn itr/-,sign extend.
                             ; bit12         -,reg load.
                             ; bit 13        -,ccen
                             ; bit14         -,forward read.
                             ; bit 15        -,inta.
\f

!0004 m3503
                             
                             ; rc3503 microprogram description.
                             ;
                             ; word 4 :
                             ; -------
                             ; bit 0-2               bus source control field.
                             ; bit 3-5       bus destination field.
                             ; bit 6-15      nxt mar 1-10.
\f

!0005 m3503
                             ;       log:    rcm35 03b  -- bj --
                             ;
                             ;       date 1980-11-11
                             ;
           0010              .rdxo 16
           0010              .rdx 16
                             ;       constants
           01ff              aucon= 1ff
           0040              citr= 40        ;
           003b              cpuve= 3b       ; cpu number, micro-version.
           03ff              fi5= 3ff
           03fe              fi4= 3fe
           03fd              fi3= 3fd
           03fc              fi2= 3fc
           03fb              fi1= 3fb
           03fa              fi0= 3fa
           03ef              fia=    3ef     ; save of parity error inforation.
           03ee              fib=    3ee
           03ed              fic=    3ed
           03ec              fid=    3ec
           03eb              fie=    3eb
           03ea              fif= 3ea        ; save of ac17 during parity error routine.
           0041              perro= 41       ; parity error frame
           0000              ritr= 0         ; 
           0020              sitr= 20        ; set interrupt (bus 10)
           0140              timer= 140      ; timeout 
           0006              waits= 06       ; sup-itr wait 
           0008              wctim= 08
           0008              .rdx 8
                             
                             
\f

!0006 m3503
                             ; 1980.11.04     kneh.
                                     .title  m3503
                             
                             ; rc3503 microprogram.
                             ; initialization routine.
                             ; place the following constants in slice registers:
                             ; ac12:= 2
                             ; ac11:= 400
                             ; ac06:= 4
                             ; ac13:= 1
                             ; ac14:= 37
                             ; ac10:= 1000
                             ; enable interrupt
                             
    0000 e0aa 61f8 05fe 6002 init: cont cs00,ar12,br12,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,2
    0001 e099 61f8 05fe 6100       cont cs00,ar11,br11,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,400
    0002 e0bb 61f8 05fe 6001       cont cs00,ar13,br13,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,1
    0003 e0cc 61f8 05fe 601f       cont cs00,ar14,br14,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,37
    0004 e088 61f8 05fe 6200       cont cs00,ar10,br10,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,1000
    0005 e006 61f8 05fe 7404       cont cs00,ar00,br06,ldbf,addz,rsdo,cb,waw,bs3,bd5,doxx,4
    0006 e0dd 61f8 05fe 7c80       cont cs00,ar15,br15,ldbf,addz,rsdo,cb,waw,bs3,bd7,doxx,200
    0007 3011 7138 05fe aeb9       jp cs00,ar01,br01,ldbf,ands,rsoa,cb,waw,bs5,bd3,doxx,uptab
                             
                             ; debug initialization routine.
    0008 6600 2138 05fe a3cc debug:   jv cs06,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,map45
                             
    0009 3e00 2138 05fa a009 dupdat:  cjp cs16,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&ccen,dupdat
    000a 3600 2138 0dfa a008          cjp cs06,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,debug
    000b e000 2138 05fe e000         cont cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,0
    000c 3000 2138 05ee a3ec           jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&sextend,fetch
                             
                             ; exec one instruction.
    000d 3e6b 3078 057a a00d fetcd: cjp cs16,ar06,br13,nonf,ands,rsab,cb,waw,bs5,bd0,doxx&ccen&alustat,fetcd
    000e 3000 2138 05fe 03ed          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs0,bd0,doxx,fetca
    000f e0ff 3fff f5ff 03ff       nop
\f

!0007 m3503
                             
                             
                             
                             ; rc3503 microprogram.   1979.10.07   kneh.
                             
                             ; shift rotate-instructions with ir(7:8)=00.
                             ; the number of shifts of shifts is specified by ir(12:15).
                             
    0010 e0bf 71a8 057e 600f shiti: cont cs00,ar13,br17,ldbf,ands,rsdq,cl,waw,bs3,bd0,doxx&alustat,17 
                             ;               ;b01:= w(current level).
    0011 3800 2138 05fa a1ed shlop:  cjp cs10,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&ccen,nupdat
    0012 c0ff 24e8 05f6 a000        ldct cs00,ar17,br17,nonf,sunz,rsob,cl,waw,bs5,bd0,ldcoun,0
                             ;               ; q and a13 -----> a17. a17-1 ----> n-counter (am2910).
    0013 3777 61e8 0d7a 4015         cjp cs07,ar07,br07,ldbf,addz,rsdo,cl,waw,bs2,bd0,(xdox+nccen)&alustat,shrop
    0014 6d00 21e8 05fe a3a0          jv cs15,ar00,br00,nonf,addz,rsdo,cl,waw,bs5,bd0,doxx,rleft
                             ;               ; if ir11=1 then jump vector "rleft" else continue.
    0015 6d00 20e8 05fe a394 shrop:   jv cs15,ar00,br00,nonf,addz,rsob,cl,waw,bs5,bd0,doxx,rright
    0016 e0ff 3fff f5ff 03ff         nop
    0017 e0ff 3fff f5ff 03ff         nop
    0018 e0ff 3fff f5ff 03ff         nop
                             
                             
                             ; shift rotate-instructions with ir(7:8) <> 00.
                             ; the number of shifts is specified by x(12:15).
                             
    0019 e077 61f8 05fe 600f shitx: cont cs00,ar07,br07,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,17
    001a 307f 716a 057e 4011         jp cs00,ar07,br17,ldbf,ands,rsda,cl,wax,bs2,bd0,xdox&alustat,shlop
                             ;               ; (x) and a07 -----> a17.
    001b e0ff 3fff f5ff 03ff        nop
                             
\f

!0008 m3503
                             
                             ; rc3503 microprogram.
                             ; main loop.fetch routine.
    001c 3ec1 61f8 0dfa 0008 yfetch:  cjp cs16,ar14,br01,ldbf,addz,rsdo,cb,waw,bs0,bd0,(doxx+nccen),debug
    001d 1011 2138 05fe bdf5          js cs00,ar01,br01,nonf,addz,rsoa,cb,waw,bs5,bd7,doxx,gint1
    001e e000 61ff 05be 4000 xfetca: cont cs00,ar00,br00,ldbf,addz,rsdo,cb,war,bs2,bd0,xdox&ucarry,0
    001f e000 2118 05fe 64c0        cont cs00,ar00,br00,nonf,addz,rsoa,xcb,waw,bs3,bd1,doxx,300
    0020 e00e 6108 05fc b000        cont cs00,ar00,br16,ldbf,addz,rsoa,xcl,waw,bs5,bd4,doxx&forread,0
    0021 e000 2118 05fe 7405        cont cs00,ar00,br00,nonf,addz,rsoa,xcb,waw,bs3,bd5,doxx,5
    0022 e0ff 01df 076e 8000        cont cs00,ar17,br17,ldqf,addz,rsdo,xcb,war,bs4,bd0,tack&alustat&sextend,0
    0023 6362 5138 05fe b7e4          jv cs03,ar06,br02,ldba,ands,rsoa,cb,waw,bs5,bd5,doxx,sparf
    0024 20a0 6067 05fe a800 fetrd:       jmap cs00,ar12,br00,ldbf,addz,rsab,cr,war,bs5,bd2,xdox,0
    0025 e0ff 3fff f5ff 03ff         nop
                             
\f

!0009 m3503
                             ; rc 3503 microprogram
                             ; jump to address calculation map.
                             ;             ir                                      jump to routine:
                             ;  78901234
                             ;  00xxxxxx ir(0:4)<24  format a, x=0                 fax0
                             ;  01xxxxxx ir(0:4)<24  format a, x<>0                faxn
                             ;  10xxxxxx ir(0:4)<24  format a ,x<>0                faxn
                             ;  11xxxxxx ir(0:4)<24  format a, x<>0                faxn
                             ;  00011110 format b,x=0,i=0                          bx001
                             ;  00111110 format b,x=0,i=1                          bx0i1
                             ;  01011110 format b,x<>0,i=0                         bxn01
                             ;  10011110 format b,x<>0,i=0                         bxn01
                             ;  11011110 format b,x<>0,i=0                         bxn01
                             ;  01111110 format b,x<>0,i=1                         bxni1
                             ;  10111110 format b,x<>0,i=1                         bxni1
                             ;  11111110 format b,x<>0,i=1                         bxni1
                             ;  00011111 format c,x=0,i=0                          cx001
                             ;  00111111 format c,x=0,i=1                          cx0i1
                             ;  01011111 format c,x<>0,i=0                         cxn01
                             ;  10011111 format c,x<>0,i=0                         cxn01
                             ;  11011111 format c,x<>0,i=0                         cxn01
                             ;  01111111 format c,x<>0,i=1                         cxni1
                             ;  10111111 format c,x<>0,i=1                         cxni1
                             ;  11111111 format c,x<>0,i=1                         cxni1
                             ;  xx011000 read status/word                            rxc
                             ;  xx111000 read block of bytes/word                    rbx
                             ;  00011001 write control/word,x=0                      wxcx0
                             ;  01011001 write control/word,x<>0                     wxcxn
                             ;  10011001 write control/word,x<>0                     wxcxn
                             ;  11011001 write control/word,x<>0                     wxcxn
                             ;  xx111001 write block of bytes/word                   wbx
                             ;  00x11100 shift/rotate,x=0                            shiti
                             ;  01x11100 shift/rotate,x<>0                           shitx
                             ;  10x11100 shift/rotate,x<>0                           shitx
                             ;  11x11100 shift/rotate,x<>0                           shitx
                             ;  xxx11010 interlevel load                             ild
                             ;  xxx11011 interlevel store                            ist
                             ;  xxx11101 not used                                    update
                             ;  xxx01110 not used                                    update
                             
\f

!0010 m3503
                             
                             
                             
                             ; rc3503 microprogram.
                             ; address calculation. format a. x=0.
                             ; when called:
                             ; ac0=w0(current);
                             ; q=d(sign extended);
                             ; return:
                             ; ac3=ea; ac4=operand
    0026 e033 60b8 05fe a000 fax0: cont cs00,ar03,br03,ldbf,addz,rsoq,cb,waw,bs5,bd0,doxx,0
    0027 2044 60b8 0dfe a000       jmap cs00,ar04,br04,ldbf,addz,rsoq,cb,waw,bs5,bd0,doxx+escape,0
                             
                             ; address calculation. format a. x<>0.
                             ; call: ac0=w0(current); q=d(displacement sign extended);
                             ; return: ac3=ea; ac4=operand;
                             
    0028 e033 61ba 05fe 4000 faxn: cont cs00,ar03,br03,ldbf,addz,rsdq,cb,wax,bs2,bd0,xdox,0
    0029 103e 610a 05fc b20f         js cs00,ar03,br16,ldbf,addz,rsoa,xcl,wax,bs5,bd4,doxx&forread,ywread
    002a 20f4 6138 0dfe a000       jmap cs00,ar17,br04,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx+escape,0
\f

!0011 m3503
                             
                             
                             
                             ; rc3503 microprogram.
                             ; address calculation. format c.(ir(0:4))=31. x<>0.i=0.
                             ; call: ac0=w0(current); q=d(displacement sign extended);
                             ; return: ac3=ea; ac4=operand;
    002b 100e 6108 05fc b20f cxn01:   js cs00,ar00,br16,ldbf,addz,rsoa,xcl,waw,bs5,bd4,doxx&forread,ywread
                             ;               ;      ac17:= a( next word);
    002c e0f3 617a 05fe 4000        cont cs00,ar17,br03,ldbf,addz,rsda,cb,wax,bs2,bd0,xdox,0
                             ;               ;      ac3:= ea;
    002d 103e 6108 05fc b20f          js cs00,ar03,br16,ldbf,addz,rsoa,xcl,waw,bs5,bd4,doxx&forread,ywread
    002e e0a0 6067 05fe a800        cont cs00,ar12,br00,ldbf,addz,rsab,cr,war,bs5,bd2,xdox,0
                             ;               ;      ac17:= st( xn+a);
    002f 28f4 6138 0dfe a000        jmap cs10,ar17,br04,ldbf,addz,rsoa,cb,waw,bs5,bd0,(doxx+escape),0
                             
                             ; address calculation. format c. ir(0:4)=31. x<>0. i=1.
                             ; call: ac0=w0(current); q=d(displacement sign extended);
                             ; return: ac3= ea; ac4= operand = ea;
                             
    0030 100e 6108 05fc b20f cxni1:   js cs00,ar00,br16,ldbf,addz,rsoa,xcl,waw,bs5,bd4,doxx&forread,ywread
    0031 e0f3 617a 05fe 4000        cont cs00,ar17,br03,ldbf,addz,rsda,cb,wax,bs2,bd0,xdox,0
    0032 e0a0 6067 05fe a800        cont cs00,ar12,br00,ldbf,addz,rsab,cr,war,bs5,bd2,xdox,0
    0033 2834 6138 05fe a000        jmap cs10,ar03,br04,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             
\f

!0012 m3503
                             
                             
                             
                             ; rc3503 microprogram.
                             ; address calculation. format c. ir(0:4)=31. x=0. i=0.
                             ; call: ac0=w0(current); q=d(displacement sign extended);
                             ; return: ac3=ea; ac4=operand= st(ea);
                             
    0034 100e 6108 05fc b20f cx001:   js cs00,ar00,br16,ldbf,addz,rsoa,xcl,waw,bs5,bd4,doxx&forread,ywread
    0035 e0f3 6138 05fe a000        cont cs00,ar17,br03,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
    0036 10fe 6108 05fc b20f          js cs00,ar17,br16,ldbf,addz,rsoa,xcl,waw,bs5,bd4,doxx&forread,ywread
    0037 e0a0 6067 05fe a800        cont cs00,ar12,br00,ldbf,addz,rsab,cr,war,bs5,bd2,xdox,0
    0038 28f4 6138 0dfe a000        jmap cs10,ar17,br04,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx+escape,0
                             
                             ; address calculation .format c. ir(0:4)=31. x=0. i=1.
                             ; call: ac0=w0(current); q=d(displacement sign extended);
                             ; return: ac3=ea; ac4=operand;
                             
    0039 100e 6108 05fc b20f cx0i1:   js cs00,ar00,br16,ldbf,addz,rsoa,xcl,waw,bs5,bd4,doxx&forread,ywread
    003a e0f3 6138 05fe a000        cont cs00,ar17,br03,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
    003b e0a0 6067 05fe a800        cont cs00,ar12,br00,ldbf,addz,rsab,cr,war,bs5,bd2,xdox,0
    003c 28f4 6138 0dfe a000        jmap cs10,ar17,br04,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx+escape,0
\f

!0013 m3503
                             
                             ; rc3503 microprogram.
                             ; address calculation. format b. ir(0:4)=30. x<>0. i=0.
                             ; call: ac0=w0(current); 
                             ; return: ac3=ea ; ac4=operand;
                             
    003d e033 61fa 05fe 4000 bxn01: cont cs00,ar03,br03,ldbf,addz,rsdo,cb,wax,bs2,bd0,xdox,0
    003e 103e 6108 05fc b20f          js cs00,ar03,br16,ldbf,addz,rsoa,xcl,waw,bs5,bd4,doxx&forread,ywread
    003f 28f4 6138 0dfe a000        jmap cs10,ar17,br04,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx+escape,0
                             
                             ; address calculation. format b. ir(0:4)=30. x<>0. i=1.
                             ; call: ac0=w0(current);
                             ; return: ac3=ea; ac4=operand;
                             
    0040 e033 61fa 05fe 4000 bxni1: cont cs00,ar03,br03,ldbf,addz,rsdo,cb,wax,bs2,bd0,xdox,0
    0041 2834 6138 05fe a000        jmap cs10,ar03,br04,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             
                             ; rc3503 microprogram.
                             ; address calculation. format b. ir(0:4)=30. x=0. i=1.
                             
    0042 e033 7138 05fe a000 bx0i1: cont cs00,ar03,br03,ldbf,ands,rsoa,cb,waw,bs5,bd0,doxx,0
    0043 2834 6138 0dfe a000        jmap cs10,ar03,br04,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx+escape,0
                             
                                ; address calculation. format b. ir(0:4)=30. x=0. i=1.
                             ; call: ac0=w0(current);
                             ; return: ac3=ea; ac4=operand.
                             
    0044 e033 7138 05fe a000 bx001: cont cs00,ar03,br03,ldbf,ands,rsoa,cb,waw,bs5,bd0,doxx,0
    0045 103e 7108 05fc b20f          js cs00,ar03,br16,ldbf,ands,rsoa,xcl,waw,bs5,bd4,doxx&forread,ywread
    0046 28f4 6138 0dfe a000        jmap cs10,ar17,br04,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx+escape,0
    0047 e0ff 3fff f5ff 03ff         nop
    0048 e0ff 3fff f5ff 03ff         nop
    0049 e0ff 3fff f5ff 03ff         nop
    004a e0ff 3fff f5ff 03ff         nop
    004b e0ff 3fff f5ff 03ff         nop
    004c e0ff 3fff f5ff 03ff         nop
    004d e0ff 3fff f5ff 03ff         nop
    004e e0ff 3fff f5ff 03ff         nop
\f

!0014 m3503
                             ; interlevel store (ist).
                             ; store the w-register into the working register specified by x
                             ; from interruption level n. the contents of w remain unchanged.
                             ; control the status of the interruption system as follows:
                             ; x(nth level):= w(current level).
                             ; if code= d then enable:=0.
                             ; if code= e then enable:=1.
                             ; if code= s then interrupt(n):=1.
                             
    004f e077 61e8 05fe 4000 ist: cont cs00,ar07,br07,ldbf,addz,rsdo,cl,waw,bs2,bd0,xdox,0
                             ;               ; b07:= w(current level).
    0050 e0c3 7028 05fe bc00      cont cs00,ar14,br03,ldbf,ands,rsaq,cl,waw,bs5,bd7,doxx,0
                             ;               ; q and a14 ---> wadd register.
    0051 e0ee 61ff 05fe 4000 istx:     cont cs00,ar16,br16,ldbf,addz,rsdo,cb,war,bs2,bd0,xdox,0
    0052 e0ee 2138 05fe bc00      cont cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd7,doxx,0
    0053 e077 20ea 05fe a800      cont cs00,ar07,br07,nonf,addz,rsob,cl,wax,bs5,bd2,xdox,0
                             ;               ; b07 ---> x(nth level).
    0054 6ddd 20e8 05fe bf90        jv cs15,ar15,br15,nonf,addz,rsob,cl,waw,bs5,bd7,doxx,upitr
                             ;               ; b15 ---> wadd register (set cur level).
    0055 e0ff 3fff f5ff 03ff       nop
    0056 e0ff 3fff f5ff 03ff       nop
                             
                             
                             
                             ; interlevel load (ild).
                             ; load the w-register with the working register specified by x from
                             ; interruption level n.control the status of the interruption system as
                             ; follows:
                             ; w(current level):= x(nth level).
                             ; if code= d then enable:= 0.
                             ; if code= e then enable:= 1.
                             ; if code= s then interrupt(n):=1.
                             
    0057 e0c3 702a 05fe bc00 ild: cont cs00,ar14,br03,ldbf,ands,rsaq,cl,wax,bs5,bd7,doxx,0
                             ;               ; q and a14 --> wadd,b16.
    0058 e0ee 61ff 05fe 4000 ildx:     cont cs00,ar16,br16,ldbf,addz,rsdo,cb,war,bs2,bd0,xdox,0
    0059 e0ee 6138 05fe bc00      cont cs00,ar16,br16,ldbf,addz,rsoa,cb,waw,bs5,bd7,doxx,0
    005a e077 61ea 05fe 4000      cont cs00,ar07,br07,ldbf,addz,rsdo,cl,wax,bs2,bd0,xdox,0
                             ;               ; b02:= (x).
    005b e0dd 20e8 05fe bc00      cont cs00,ar15,br15,nonf,addz,rsob,cl,waw,bs5,bd7,doxx,0
                             ;               ; b15 --> wadd.
    005c 6d77 20e8 05fe ab90        jv cs15,ar07,br07,nonf,addz,rsob,cl,waw,bs5,bd2,xdox,upitr
                             ;               ; b02---> w(current level).
    005d e0ff 3fff f5ff 03ff       nop
    005e e0ff 3fff f5ff 03ff       nop
                             
\f

!0015 m3503
                             
                             
                             
                             ; rc3503 microprogram.
                             ; subroutines.
                             ; routine to set the interrupt level specified in a16(9:15).
                             
    005f e0e8 2060 05fe a600 sitrn: cont cs00,ar16,br10,nonf,addz,rsab,cr,waw,bs5,bd1,doxx,1000
                             ;               ; a17:= a16+(-, iors0=1,-,iors1=0).
    0060 e0ff 61e0 05fe 6020        cont cs00,ar17,br17,ldbf,addz,rsdo,cr,waw,bs3,bd0,doxx,sitr
                             ;               ; load set condition in reg 17 (bus 10= 1).
    0061 a0fe 2c40 07fe b000         rtn cs00,ar17,br16,nonf,rors,rsab,xcr,waw,bs5,bd4,tack,0
                             ;               ; set intr. and return.
    0062 e0ff 3fff f5ff 03ff        nop
                             
                             ; routine to reset the interrupt level specified in a16(9:15).
                             
    0063 e0e8 2060 05fe a600 citrn: cont cs00,ar16,br10,nonf,addz,rsab,cr,waw,bd5,bd1,doxx,1000
                             ;               ; a17:= a16 +(-,iors0=1,-,iors1=0).
                             ;               ; modul select + set/clear condition 
    0064 a0ce 3044 07fe b000         rtn cs00,ar14,br16,nonf,ands,rsab,xcr,wap,bs5,bd4,tack,0
                             ;               ; clear interrupt and return.
    0065 e0ff 3fff f5ff 03ff       nop
    0066 e0ff 3fff f5ff 03ff         nop
    0067 e0ff 3fff f5ff 03ff         nop
    0068 e0ff 3fff f5ff 03ff         nop
                             
\f

!0016 m3503
                             
                             ; rc3503 microprogram.
                             ; arithmetic and logical instructions.
                             ; ldr. load register. format a.
    0069 3044 2128 05fe a9f7 ldr1:  jp cs00,ar04,br04,nonf,addz,rsoa,cl,waw,bs5,bd2,xdox,cupdat
    006a e0ff 3fff f5ff 03ff       nop
    006b e0ff 3fff f5ff 03ff       nop
    006c e0ff 3fff f5ff 03ff       nop
    006d e0ff 3fff f5ff 03ff       nop
                             
                             ; arithmetic and logical instructions.
                             ; ldr. load register. format b&c.
                             
    006e 3144 2128 0dfa a9f7 ldr23: cjp cs01,ar04,br04,nonf,addz,rsoa,cl,waw,bs5,bd2,(xdox+nccen),cupdat
    006f e0a4 617a 05fe 4000       cont cs00,ar12,br04,ldbf,addz,rsda,cb,wax,bs2,bd0,xdox,0
    0070 3044 212a 05fe a9f7         jp cs00,ar04,br04,nonf,addz,rsoa,cl,wax,bs5,bd2,xdox,cupdat
    0071 e0ff 3fff f5ff 03ff        nop
    0072 e0ff 3fff f5ff 03ff        nop
    0073 e0ff 3fff f5ff 03ff        nop
    0074 e0ff 3fff f5ff 03ff        nop
\f

!0017 m3503
                             
                             
                             ; rc3503 microprogram.
                             ; arithmetic and logical instructions.
                             ; ldc. load complement. format a.
                             ; w:= -operand (ac4); carry:= alu carry.
                             
    0075 e044 2b28 057e a800 ldc1: cont cs00,ar04,br04,nonf,subo,rsoa,cl,waw,bs5,bd2,(xdox&alustat),0
    0076 3044 2b30 05be a1ed         jp cs00,ar04,br04,nonf,subo,rsoa,ca,waw,bs5,bd0,doxx&ucarry,nupdat
    0077 e0ff 3fff f5ff 03ff        nop
    0078 e0ff 3fff f5ff 03ff        nop
    0079 e0ff 3fff f5ff 03ff        nop
                             
                             ; arithmetic and logical instructions.
                             ; ldc. load complement. format b&c.
                             
    007a e044 2b28 057e a800 ldc23: cont cs00,ar04,br04,nonf,subo,rsoa,cl,waw,bs5,bd2,(xdox&alustat),0
    007b 3144 2b30 0dba a1ed         cjp cs01,ar04,br04,nonf,subo,rsoa,ca,waw,bs5,bd0,doxx&ucarry+nccen,nupdat
    007c e0a4 617a 05fe 4000        cont cs00,ar12,br04,ldbf,addz,rsda,cb,wax,bs2,bd0,xdox,0
    007d 3044 212a 05fe a9ed          jp cs00,ar04,br04,nonf,addz,rsoa,cl,wax,bs5,bd2,xdox,nupdat
    007e e0ff 3fff f5ff 03ff         nop
                             
                             
                             
                             ; rc3503 microprogram.
                             ; arithmetic and logical instructions.
                             ; ldi. load indirect.
                             
    007f 104e 6108 05fc b20f ldi1: js cs00,ar04,br16,ldbf,addz,rsoa,xcl,waw,bs5,bd4,doxx&forread,ywread
    0080 30f4 6128 05fe a9ed       jp cs00,ar17,br04,ldbf,addz,rsoa,cl,waw,bs5,bd2,xdox,nupdat
    0081 3000 2138 05fe a3ec       jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,fetch
    0082 e0ff 3fff f5ff 03ff      nop
                             
                             ; arithmetic and logical instructions.
                             ; ldi. load indirect. format b&c.
                             
    0083 104e 6108 05fc b20f ldi23:   js cs00,ar04,br16,ldbf,addz,rsoa,xcl,waw,bs5,bd4,doxx&forread,ywread
    0084 31ff 2128 0dfa a9ed         cjp cs01,ar17,br17,nonf,addz,rsoa,cl,waw,bs5,bd2,(xdox+nccen),nupdat
    0085 e0a4 616a 05fe 4000        cont cs00,ar12,br04,ldbf,addz,rsda,cl,wax,bs2,bd0,xdox,0
    0086 3044 212a 05fe a9ed          jp cs00,ar04,br04,nonf,addz,rsoa,cl,wax,bs5,bd2,xdox,nupdat
    0087 e0ff 3fff f5ff 03ff         nop
    0088 e0ff 3fff f5ff 03ff         nop
                             
\f

!0018 m3503
                             ; rc3503 microprogram.
                             ; arithmetic and logical instructions.
                             ; str.store register. format a.
                             ; st(ea):= w.
                             
    0089 e03e 6138 05fe a000 str1:   cont cs00,ar03,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
    008a 10ff 61f8 05fe 4177           js cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs2,bd0,xdox,wwrite
    008b 3000 61e7 05fe 41ee           jp cs00,ar00,br00,ldbf,addz,rsdo,cr,war,bs2,bd0,xdox,qupdat
    008c e0ff 3fff f5ff 03ff          nop
    008d e0ff 3fff f5ff 03ff          nop
                             
                             ; arithmetic and logical instructions.
                             ; str. store register. format b&c.
                             ; if i=0 then st(ea):= w;
                             ; if i=1 and x<>0 then x:=w;
                             ; if i=1 and x=0 then st(ea):=w;
                             ; if n=1 then x:=x+2;
    008e e03e 6138 05fe a000 stri0: cont cs00,ar03,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
    008f 10ff 61f8 05fe 4177          js cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs2,bd0,xdox,wwrite
    0090 31a4 617a 0dfa 41ed         cjp cs01,ar12,br04,ldbf,addz,rsda,cb,wax,bs2,bd0,(xdox+nccen),nupdat
    0091 3044 212a 05fe a9ed          jp cs00,ar04,br04,nonf,addz,rsoa,cl,wax,bs5,bd2,xdox,nupdat
    0092 e044 61f8 05fe 4000 strix: cont cs00,ar04,br04,ldbf,addz,rsdo,cb,waw,bs2,bd0,xdox,0
    0093 3144 212a 0dfa a9ed         cjp cs01,ar04,br04,nonf,addz,rsoa,cl,wax,bs5,bd2,(xdox+nccen),nupdat
    0094 30a4 206a 05fe a9ed          jp cs00,ar12,br04,nonf,addz,rsab,cl,wax,bs5,bd2,xdox,nupdat
    0095 e0ff 3fff f5ff 03ff         nop
    0096 e0ff 3fff f5ff 03ff         nop
                             ; rc3503 microprogram.
                             ; arithmetic and logical instructions.
                             ; store indirect. format a.
                             ; st(operand):= w;
    0097 e04e 6138 05fe a000 sti1: cont cs00,ar04,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
    0098 10ff 61f8 05fe 4177         js cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs2,bd0,xdox,wwrite
    0099 3000 61e7 05fe 41ee         jp cs00,ar00,br00,ldbf,addz,rsdo,cr,war,bs2,bd0,xdox,qupdat
    009a e0ff 3fff f5ff 03ff        nop
    009b e0ff 3fff f5ff 03ff        nop
                             
                             ; arithmetic and logical instructions.
                             ; store indirect. format b&c.
                             
    009c e04e 6138 05fe a000 sti23: cont cs00,ar04,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
    009d 10ff 61f8 05fe 4177          js cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs2,bd0,xdox,wwrite
    009e 31a4 617a 0dfa 41ed         cjp cs01,ar12,br04,ldbf,addz,rsda,cb,wax,bs2,bd0,(xdox+nccen),nupdat
    009f 3044 212a 05fe a9ed          jp cs00,ar04,br04,nonf,addz,rsoa,cl,wax,bs5,bd2,xdox,nupdat
    00a0 e0ff 3fff f5ff 03ff         nop
    00a1 e0ff 3fff f5ff 03ff         nop
                             
\f

!0019 m3503
                             
                             ; rc3503 microprogram.
                             ; arithmetic and logical instructions.
                             ; xsr. exchange register and store. format a.
                             ; i=1(x=0); st(ea):=w; w:=ea;
                             ; i=0(x<>0); a:=st(ea);st(ea):=w;w:=a;
    00a2 e03e 6138 05fe a000 xsrai: cont cs00,ar03,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
    00a3 10ff 61f8 05fe 4177          js cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs2,bd0,xdox,wwrite
    00a4 3044 2128 05fe a9ed          jp cs00,ar04,br04,nonf,addz,rsoa,cl,waw,bs5,bd2,xdox,nupdat
    00a5 e0ff 3fff f5ff 03ff         nop
    00a6 e0ff 3fff f5ff 03ff         nop
                             
                             ; arithmetic and logical instructions.
                             ; xsr.exchange register and store. format b&c.
                             ; if i=0 then a:=st(ea);st(ea):=w;w:=a;
                             ; if i=1 and x=0 then st(ea):=w;w:=ea.
                             ; if i=1 and x<>0 then a:=x;x:=w;w:=a;
                             
    00a7 e03e 6138 05fe a000 xsrb0: cont cs00,ar03,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
    00a8 10ff 61f8 05fe 4177          js cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs2,bd0,xdox,wwrite
    00a9 3144 2128 0dfa a9ed         cjp cs01,ar04,br04,nonf,addz,rsoa,cl,waw,bs5,bd2,(xdox+nccen),nupdat
    00aa e0a4 617a 05fe 4000        cont cs00,ar12,br04,ldbf,addz,rsda,cb,wax,bs2,bd0,xdox,0
    00ab 3044 212a 05fe a9ed          jp cs00,ar04,br04,nonf,addz,rsoa,cl,wax,bs5,bd2,xdox,nupdat
    00ac e033 61f8 05fe 4000 xsrbx: cont cs00,ar03,br03,ldbf,addz,rsdo,cb,waw,bs2,bd0,xdox,0
    00ad e044 2128 05fe a800        cont cs00,ar04,br04,nonf,addz,rsoa,cl,waw,bs5,bd2,xdox,0
    00ae 3133 212a 0dfa a9ed         cjp cs01,ar03,br03,nonf,addz,rsoa,cl,wax,bs5,bd2,(xdox+nccen),nupdat
    00af 30a3 206a 05fe a9ed          jp cs00,ar12,br03,nonf,addz,rsab,cl,wax,bs5,bd2,xdox,nupdat
    00b0 e0ff 3fff f5ff 03ff         nop
    00b1 e0ff 3fff f5ff 03ff         nop
\f

!0020 m3503
                             
                             ; rc3503 microprogram.
                             ; arithmetic and logical instructions.
                             
                             ;ldb. load byte. format a.
    00b2 e033 3178 057e 6001 lba:  cont cs00,ar03,br03,nonf,ands,rsda,cb,waw,bs3,bd0,(doxx&alustat),1
    00b3 3844 2138 05fa a0b6        cjp cs10,ar04,br04,nonf,addz,rsoa,cb,waw,bs5,bd0,(doxx&ccen),ldbal
    00b4 e044 7178 05fe 60ff       cont cs00,ar04,br04,ldbf,ands,rsda,cb,waw,bs3,bd0,doxx,377
    00b5 3044 2128 05fe a9ed         jp cs00,ar04,br04,nonf,addz,rsoa,cl,waw,bs5,bd2,xdox,nupdat
    00b6 e044 61f8 05fe 2000 ldbal:cont cs00,ar04,br04,ldbf,addz,rsdo,cb,waw,bs1,bd0,doxx,0
    00b7 e044 7178 05fe 60ff       cont cs00,ar04,br04,ldbf,ands,rsda,cb,waw,bs3,bd0,doxx,377
    00b8 3044 2128 05fe a9ed         jp cs00,ar04,br04,nonf,addz,rsoa,cl,waw,bs5,bd2,xdox,nupdat
    00b9 e0ff 3fff f5ff 03ff        nop
    00ba e0ff 3fff f5ff 03ff        nop
                             
                             ; ldb. load byte. format b&c.
    00bb e033 3178 057e 6001 ldbb: cont cs00,ar03,br03,nonf,ands,rsda,cb,waw,bs3,bd0,(doxx&alustat),1
    00bc 3844 2138 05fa a0c1        cjp cs10,ar04,br04,nonf,addz,rsoa,cb,waw,bs5,bd0,(doxx&ccen),ldbbl
    00bd e044 7178 05fe 60ff ldbl: cont cs00,ar04,br04,ldbf,ands,rsda,cb,waw,bs3,bd0,doxx,377
    00be 3144 2128 0dfa a9ed        cjp cs01,ar04,br04,nonf,addz,rsoa,cl,waw,bs5,bd2,(xdox+nccen),nupdat
    00bf e044 63fa 05fe 4000       cont cs00,ar04,br04,ldbf,addo,rsdo,cb,wax,bs2,bd0,xdox,0
    00c0 3044 212a 05fe a9ed         jp cs00,ar04,br04,nonf,addz,rsoa,cl,wax,bs5,bd2,xdox,nupdat
    00c1 3044 61f8 05fe 20bd ldbbl:  jp cs00,ar04,br04,ldbf,addz,rsdo,cb,waw,bs1,bd0,doxx,ldbl
    00c2 e0ff 3fff f5ff 03ff        nop
    00c3 e0ff 3fff f5ff 03ff        nop
\f

!0021 m3503
                             
                             ; rc3503 microprogram.
                             ; arithmetic and logical instruction.
                             ; stb. store byte. format a.
    00c4 e03e 6138 05fe a000 stba: cont cs00,ar03,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
    00c5 10ff 61f8 05fe 417b         js cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs2,bd0,xdox,bwrite
    00c6 3000 61e7 05fe 41ee         jp cs00,ar00,br00,ldbf,addz,rsdo,cr,war,bs2,bd0,xdox,qupdat
    00c7 e0ff 3fff f5ff 03ff        nop
    00c8 e0ff 3fff f5ff 03ff        nop
                             
                             ; stb. store byte. format b&c.
                             ; if n=1 then x:=x+1
                             
    00c9 e03e 6138 05fe a000 stbb: cont cs00,ar03,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
    00ca 10ff 61f8 05fe 417b         js cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs2,bd0,xdox,bwrite
    00cb 3144 63fa 0dfa 41ed        cjp cs01,ar04,br04,ldbf,addo,rsdo,cb,wax,bs2,bd0,(xdox+nccen),nupdat
    00cc 3044 212a 05fe a9ed         jp cs00,ar04,br04,nonf,addz,rsoa,cl,wax,bs5,bd2,xdox,nupdat
    00cd e0ff 3fff f5ff 03ff        nop
    00ce e0ff 3fff f5ff 03ff        nop
                             
                             ; rc3503 microprogram.
                             ; arithmetic and logical instruction.
                             ; add. add integer word. format a.
                             ; w:= w+operand.
                             
    00cf e044 6170 05be 4000 adda: cont cs00,ar04,br04,ldbf,addz,rsda,ca,waw,bs2,bd0,(xdox&ucarry),0
    00d0 3044 2128 05fe a9ed         jp cs00,ar04,br04,nonf,addz,rsoa,cl,waw,bs5,bd2,xdox,nupdat
    00d1 e0ff 3fff f5ff 03ff        nop
    00d2 e0ff 3fff f5ff 03ff        nop
                             
                             ; add. add integer word. format b&c.
                             ; w:= w+operand;
                             ; if n=1 then x:=x+2;
                             
    00d3 e044 6170 05be 4000 addb: cont cs00,ar04,br04,ldbf,addz,rsda,ca,waw,bs2,bd0,(xdox&ucarry),0
    00d4 3144 2128 0dfa a9ed logll: cjp cs01,ar04,br04,nonf,addz,rsoa,cl,waw,bs5,bd2,xdox+nccen,nupdat
    00d5 e0a4 617a 05fe 4000       cont cs00,ar12,br04,ldbf,addz,rsda,cb,wax,bs2,bd0,xdox,0
    00d6 3044 212a 05fe a9ed         jp cs00,ar04,br04,nonf,addz,rsoa,cl,wax,bs5,bd2,xdox,nupdat
    00d7 e0ff 3fff f5ff 03ff        nop
    00d8 e0ff 3fff f5ff 03ff        nop
\f

!0022 m3503
                             
                             ; rc3503 microprogram.
                             ; arithmetic and logical instruction.
                             ; sub. subtract integer word. format a.
                             ; w:=w-operand; carry:=alu carry.
                             
    00d9 e044 6b70 05be 4000 suba: cont cs00,ar04,br04,ldbf,subo,rsda,ca,waw,bs2,bd0,(xdox&ucarry),0
    00da 3044 2128 05fe a9ed         jp cs00,ar04,br04,nonf,addz,rsoa,cl,waw,bs5,bd2,xdox,nupdat
    00db e0ff 3fff f5ff 03ff        nop
    00dc e0ff 3fff f5ff 03ff        nop
                             
                             ; sub.subtract integer word. format b&c.
                             ; w:=w-operand;
                             ; if n=1 then x:=x+2;
                             
    00dd 3044 6b70 05be 40d4 subb:   jp cs00,ar04,br04,ldbf,subo,rsda,ca,waw,bs2,bd0,(xdox&ucarry),logll
    00de e0ff 3fff f5ff 03ff        nop
    00df e0ff 3fff f5ff 03ff        nop
\f

!0023 m3503
                             
                             ; rc3503 microprogram.
                             ; arithmetic and logical instruction.
                             ; and. logic and. format a.
                             ; w:=w and operand.
    00e0 e044 7178 05fe 4000 anda: cont cs00,ar04,br04,ldbf,ands,rsda,cb,waw,bs2,bd0,xdox,0
    00e1 3044 2128 05fe a9f7         jp cs00,ar04,br04,nonf,addz,rsoa,cl,waw,bs5,bd2,xdox,cupdat
    00e2 e0ff 3fff f5ff 03ff        nop
    00e3 e0ff 3fff f5ff 03ff        nop
                             
                             ; logic and . format b&c.
    00e4 3044 7178 05fe 41f9 andb:   jp cs00,ar04,br04,ldbf,ands,rsda,cb,waw,bs2,bd0,xdox,cogll
    00e5 e0ff 3fff f5ff 03ff        nop
    00e6 e0ff 3fff f5ff 03ff        nop
                             
                             ; lor. logic or. format a.
                             ; w:= w or operand.
    00e7 e044 6d78 05fe 4000 lora: cont cs00,ar04,br04,ldbf,rors,rsda,cb,waw,bs2,bd0,xdox,0
    00e8 3044 2128 05fe a9f7         jp cs00,ar04,br04,nonf,addz,rsoa,cl,waw,bs5,bd2,xdox,cupdat
    00e9 e0ff 3fff f5ff 03ff        nop
    00ea e0ff 3fff f5ff 03ff        nop
                             
                             ; lor. logic or . format b&c.
    00eb 3044 6d78 05fe 41f9 lorb: jp cs00,ar04,br04,ldbf,rors,rsda,cb,waw,bs2,bd0,xdox,cogll
    00ec e0ff 3fff f5ff 03ff      nop
    00ed e0ff 3fff f5ff 03ff      nop
                             
                             ; xor. logical exclusive or. format a.
    00ee e044 7978 05fe 4000 xora: cont cs00,ar04,br04,ldbf,exor,rsda,cb,waw,bs2,bd0,xdox,0
    00ef 3044 2128 05fe a9f7         jp cs00,ar04,br04,nonf,addz,rsoa,cl,waw,bs5,bd2,xdox,cupdat
    00f0 e0ff 3fff f5ff 03ff        nop
    00f1 e0ff 3fff f5ff 03ff        nop
                             
                             ; xor. logical exclusive or. format b&c.
    00f2 3044 7978 05fe 41f9 xorb:   jp cs00,ar04,br04,ldbf,exor,rsda,cb,waw,bs2,bd0,xdox,cogll
    00f3 e0ff 3fff f5ff 03ff        nop
    00f4 e0ff 3fff f5ff 03ff        nop
\f

!0024 m3503
                             
                             ; rc3503 microprogram.
                             ; arithmetic and logical instructions.
                             ; lce. load clear enable. format a.
    00f5 e044 2128 05fe a800 lce1: cont cs00,ar04,br04,nonf,addz,rsoa,cl,waw,bs5,bd2,xdox,0
    00f6 e018 2078 05fe a400 lcec:       cont cs00,ar01,br10,nonf,addz,rsab,cb,waw,bs5,bd1,doxx,0
    00f7 30c1 3058 07fe b1f2       jp cs00,ar14,br01,nonf,ands,rsab,xcb,waw,bs5,bd4,tack,eupdat
    00f8 e0ff 3fff f5ff 03ff       nop
    00f9 e0ff 3fff f5ff 03ff         nop
    00fa e0ff 3fff f5ff 03ff         nop
    00fb e0ff 3fff f5ff 03ff         nop
    00fc e0ff 3fff f5ff 03ff      nop
                             ; lce. load clear enable. format b&c.
    00fd 3144 2128 0dfa a8f6 lce23: cjp cs01,ar04,br04,nonf,addz,rsoa,cl,waw,bs5,bd2,xdox+nccen,lcec
    00fe e0a4 617a 05fe 4000       cont cs00,ar12,br04,ldbf,addz,rsda,cb,wax,bs2,bd0,xdox,0
    00ff 3044 212a 05fe a8f6         jp cs00,ar04,br04,nonf,addz,rsoa,cl,wax,bs5,bd2,xdox,lcec
    0100 e0ff 3fff f5ff 03ff        nop
    0101 e0ff 3fff f5ff 03ff        nop
                             
                             ; rc3503 microprogram.
                             ; arithmetic and logical instructions.
                             ; rsw. read switches. format a.
    0102 e000 2138 05fe 7cd4 rsw1: cont cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs3,bd7,doxx,4+120+128.
    0103 e000 213f 05fe 4000       cont cs00,ar00,br00,nonf,addz,rsoa,cb,war,bs2,bd0,xdox,0
    0104 e055 61f8 05fe 2000       cont cs00,ar05,br05,ldbf,addz,rsdo,cb,waw,bs1,bd0,doxx,0
    0105 e000 2138 05fe 7cdc       cont cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs3,bd7,doxx,4+130+128.
    0106 e055 617f 05fe 4000       cont cs00,ar05,br05,ldbf,addz,rsda,cb,war,bs2,bd0,xdox,0
    0107 e0dd 2138 05fe bc00       cont cs00,ar15,br15,nonf,addz,rsoa,cb,waw,bs5,bd7,doxx,0
    0108 3055 2128 05fe a9ed         jp cs00,ar05,br05,nonf,addz,rsoa,cl,waw,bs5,bd2,xdox,nupdat
    0109 e0ff 3fff f5ff 03ff        nop
    010a e0ff 3fff f5ff 03ff        nop
                             
                             ; rsw. read switches. format b&c.
    010b 31a4 617a 0dfa 4102 rsw23: cjp cs01,ar12,br04,ldbf,addz,rsda,cb,wax,bs2,bd0,xdox+nccen,rsw1
    010c 3044 212a 05fe a902         jp cs00,ar04,br04,nonf,addz,rsoa,cl,wax,bs5,bd2,xdox,rsw1
    010d e0ff 3fff f5ff 03ff        nop
    010e e0ff 3fff f5ff 03ff        nop
\f

!0025 m3503
                             
                             ; rc3503 microprogram.
                             ; branch and continue instructions.
                             ; bgw. branch if greater. format b&c.
                             ; w0:= if w>operand then b else w0+2;
                             
    010f e047 7978 057e 4000 bgwb: cont cs00,ar04,br07,ldbf,exor,rsda,cb,waw,bs2,bd0,xdox&alustat,0
    0110 e077 2138 057e a000       cont cs00,ar07,br07,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&alustat,0
    0111 3044 2178 0d7a 411b        cjp cs00,ar04,br04,nonf,addz,rsda,cb,waw,bs2,bd0,xdox&alustat+nccen,blp10
    0112 3044 2978 0d7a 4118        cjp cs00,ar04,br04,nonf,subz,rsda,cb,waw,bs2,bd0,xdox&alustat+nccen,carg1
    0113 3000 2138 05fe a115         jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,blp01
    0114 3ba0 2078 05fa a118 blp03: cjp cs13,ar12,br00,nonf,addz,rsab,cb,waw,bs5,bd0,(doxx&ccen),carg1
    0115 310e 6138 0dfa a202 blp01: cjp cs01,ar00,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,(doxx+nccen),vupdat
    0116 10ff 2138 05fe a20e         js cs00,ar17,br17,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,xwread
    0117 30f0 6127 05fe a9ed         jp cs00,ar17,br00,ldbf,addz,rsoa,cr,war,bs5,bd2,xdox,nupdat
    0118 310e 6138 05fa a202 carg1: cjp cs01,ar00,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx&ccen,vupdat
    0119 10ff 2138 05fe a20e         js cs00,ar17,br17,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,xwread
    011a 30f0 6127 05fe a9ed         jp cs00,ar17,br00,ldbf,addz,rsoa,cr,war,bs5,bd2,xdox,nupdat
    011b 3044 2978 057e 4114 blp10:  jp cs00,ar04,br04,nonf,subz,rsda,cb,waw,bs2,bd0,xdox&alustat,blp03
    011c e0ff 3fff f5ff 03ff        nop
                             
                             
                             ; bgw. branch if greater. format a.
                             
    011d e047 7978 05fe 4000 bgwa: cont cs00,ar04,br07,ldbf,exor,rsda,cb,waw,bs2,bd0,xdox,0
    011e e077 2138 057e a000       cont cs00,ar07,br07,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&alustat,0
    011f 3044 2138 0d7a 4125        cjp cs00,ar04,br04,nonf,addz,rsoa,cb,waw,bs2,bd0,xdox&alustat+nccen,blp11
    0120 3044 2978 0d7a 4123        cjp cs00,ar04,br04,nonf,subz,rsda,cb,waw,bs2,bd0,xdox&alustat+nccen,blp15
    0121 3000 2138 05fe a202         jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,vupdat
    0122 3ba0 2078 0dfa a202 blp02: cjp cs13,ar12,br00,nonf,addz,rsab,cb,waw,bs5,bd0,(doxx+nccen),vupdat
    0123 100e 6138 05fe a20e blp15:  js cs00,ar00,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,xwread
    0124 30f0 6127 05fe a9ed         jp cs00,ar17,br00,ldbf,addz,rsoa,cr,war,bs5,bd2,xdox,nupdat
                             
    0125 3044 2978 057e 4122 blp11:  jp cs00,ar04,br04,nonf,subz,rsda,cb,waw,bs2,bd0,xdox&alustat,blp02
    0126 e0ff 3fff f5ff 03ff        nop
\f

!0026 m3503
                             
                             ; rc3503 microprogram.
                             ; branch and continue instruction.
                             ; bew. branch if equal. format a.
                             ; w0:= if w=operand then b else w0+2
    0127 e044 2b78 057e 4000 bewa: cont cs00,ar04,br04,nonf,subo,rsda,cb,waw,bs2,bd0,(xdox&alustat),0
    0128 38a0 2078 0dfa a202 blp04: cjp cs10,ar12,br00,nonf,addz,rsab,cb,waw,bs5,bd0,(doxx+nccen),vupdat
    0129 100e 6108 05fc b20f         js cs00,ar00,br16,ldbf,addz,rsoa,xcl,waw,bs5,bd4,doxx&forread,ywread
    012a 30f0 6127 05fe a9ed         jp cs00,ar17,br00,ldbf,addz,rsoa,cr,war,bs5,bd2,xdox,nupdat
    012b e0ff 3fff f5ff 03ff        nop
    012c e0ff 3fff f5ff 03ff        nop
                             
                             ; bew. branch if equal. format b&c.
                             
    012d e044 2b78 057e 4000 bewb: cont cs00,ar04,br04,nonf,subo,rsda,cb,waw,bs2,bd0,(xdox&alustat),0
    012e 38a0 2078 05fa a118 blp05: cjp cs10,ar12,br00,nonf,addz,rsab,cb,waw,bs5,bd0,doxx&ccen,carg1
    012f 310e 6138 0dfa a202        cjp cs01,ar00,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,(doxx+nccen),vupdat
    0130 10ee 2108 05fc b20f         js cs00,ar16,br16,nonf,addz,rsoa,xcl,waw,bs5,bd4,doxx&forread,ywread
    0131 30f0 6127 05fe a9ed         jp cs00,ar17,br00,ldbf,addz,rsoa,cr,war,bs5,bd2,xdox,nupdat
    0132 e0ff 3fff f5ff 03ff        nop
    0133 e0ff 3fff f5ff 03ff        nop
\f

!0027 m3503
                             ; rc3503 microprogram.
                             ; branch and continue instructions.
                             ; branch if less. blw. format a.
                             ; w0:= if w<operand then b else w0+2.
    0134 e047 7978 05fe 4000 blwa: cont cs00,ar04,br07,ldbf,exor,rsda,cb,waw,bs2,bd0,xdox,0
    0135 e077 2138 057e a000       cont cs00,ar07,br07,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&alustat,0
    0136 3044 2138 0d7a 413a        cjp cs00,ar04,br04,nonf,addz,rsoa,cb,waw,bs2,bd0,xdox&alustat+nccen,blp13
    0137 3044 2578 057a 4123        cjp cs00,ar04,br04,nonf,sunz,rsda,cb,waw,bs2,bd0,xdox&alustat&ccen,blp15
    0138 3000 2138 05fe a202         jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,vupdat
    0139 3044 2138 05fe a122         jp cs00,ar04,br04,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,blp02
    013a 3044 2578 057e 4122 blp13:  jp cs00,ar04,br04,nonf,sunz,rsda,cb,waw,bs2,bd0,xdox&alustat,blp02
    013b e0ff 3fff f5ff 03ff        nop
                             
                             ; blw. branch if less. format b&c.
                             
    013c e047 7978 05fe 4000 blwb: cont cs00,ar04,br07,ldbf,exor,rsda,cb,waw,bs2,bd0,xdox,0
    013d e077 2138 057e a000       cont cs00,ar07,br07,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&alustat,0
    013e 3044 2138 0d7a 4141        cjp cs00,ar04,br04,nonf,addz,rsoa,cb,waw,bs2,bd0,xdox&alustat+nccen,blp12
    013f 3044 2578 057a 4118        cjp cs00,ar04,br04,nonf,sunz,rsda,cb,waw,bs2,bd0,xdox&alustat&ccen,carg1
    0140 3044 2138 05fe a115         jp cs00,ar04,br04,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,blp01
    0141 3044 2578 057e 4114 blp12:  jp cs00,ar04,br04,nonf,sunz,rsda,cb,waw,bs2,bd0,xdox&alustat,blp03
    0142 e0ff 3fff f5ff 03ff        nop
    0143 e0ff 3fff f5ff 03ff        nop
                             ; bgb. branch if greater than byte. format a.
                             ; a(0:7):=0;
                             ; a(8:15):= if ea(15)=0 then operand(0:7) else operand(8:15);
    0144 1000 2138 05fe a14c bgba:   js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,boper
    0145 3044 2b78 057e 411d         jp cs00,ar04,br04,nonf,subo,rsda,cb,waw,bs2,bd0,(xdox&alustat),bgwa
    0146 e0ff 3fff f5ff 03ff        nop
    0147 e0ff 3fff f5ff 03ff        nop
                             ; bgb. branch if greater than byte. format b&c.
    0148 1000 2138 05fe a14c bgbb:   js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,boper
    0149 3044 2b78 057e 410f         jp cs00,ar04,br04,nonf,subo,rsda,cb,waw,bs2,bd0,(xdox&alustat),bgwb
    014a e0ff 3fff f5ff 03ff        nop
    014b e0ff 3fff f5ff 03ff        nop
                             ; subroutine to get the byte operand.
                             ; call: ac4=operand.
                             ; rtn:  ac4(8:15):= if ea(15)=0 then ac4(0:7) else ac4(8:15);
                             ; ac4(0:7):= 0;
    014c e033 3178 057e 6001 boper: cont cs00,ar03,br03,nonf,ands,rsda,cb,waw,bs3,bd0,(doxx&alustat),1
    014d 3844 2138 0dfa a14f         cjp cs10,ar04,br04,nonf,addz,rsoa,cb,waw,bs5,bd0,(doxx+nccen),bopbl
    014e e044 61f8 05fe 2000 bopal: cont cs00,ar04,br04,ldbf,addz,rsdo,cb,waw,bs1,bd0,doxx,0
    014f a044 7178 05fe 60ff bopbl:  rtn cs00,ar04,br04,ldbf,ands,rsda,cb,waw,bs3,bd0,doxx,377
    0150 e0ff 3fff f5ff 03ff         nop
    0151 e0ff 3fff f5ff 03ff         nop
\f

!0028 m3503
                             
                             ; rc3503 microprogram.
                             ; branch and continue instruction.
                             ; branch if equal to byte. beb. format a.
                             ; a(0:7):=0;
                             ; a(8:15):= if ea(15)=0 then operand(0:7) else operand(8:15);
                             ; w0:= if w=a then b else w0+2.
    0152 1000 2138 05fe a14c beba:   js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,boper
    0153 3044 2b78 057e 4128         jp cs00,ar04,br04,nonf,subo,rsda,cb,waw,bs2,bd0,(xdox&alustat),blp04
    0154 e0ff 3fff f5ff 03ff        nop
    0155 e0ff 3fff f5ff 03ff        nop
                             ; beb. branch if equal to byte. format b&c.
    0156 1000 2138 05fe a14c bebb:   js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,boper
    0157 3044 2b78 057e 412e         jp cs00,ar04,br04,nonf,subo,rsda,cb,waw,bs2,bd0,(xdox&alustat),blp05
    0158 e0ff 3fff f5ff 03ff        nop
    0159 e0ff 3fff f5ff 03ff        nop
                             
                             ; blb. branch if less than byte. format a.
                             ; a(0:7):=0;
                             ; a(8:15):= if ea(15)=0 then operand(0:7) else operand(8:15);
                             ; w0:= if w<a then belse w0+2;
    015a 1000 2138 05fe a14c blba:   js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,boper
    015b 3044 2778 057e 4134         jp cs00,ar04,br04,nonf,suno,rsda,cb,waw,bs2,bd0,(xdox&alustat),blwa
    015c e0ff 3fff f5ff 03ff        nop
    015d e0ff 3fff f5ff 03ff        nop
                             
                             ; blb. branch if less than byte. format b&c.
    015e 1000 2138 05fe a14c blbb:   js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,boper
    015f 3044 2b78 057e 413c         jp cs00,ar04,br04,nonf,subo,rsda,cb,waw,bs2,bd0,(xdox&alustat),blwb
    0160 e0ff 3fff f5ff 03ff        nop
    0161 e0ff 3fff f5ff 03ff        nop
\f

!0029 m3503
                             ; rc3503 microprogram.
                             ; branch and continue instructions.
                             ; bsz. branch if all selected bits are zero. format a.
                             ; a:=w and operand;
                             ; w0:= if a=0 then b else w0+2;
    0162 3044 3178 057e 4128 bsza:   jp cs00,ar04,br04,nonf,ands,rsda,cb,waw,bs2,bd0,(xdox&alustat),blp04
                             ;               ; bsz. branch if all selected bits are zero. format b&c.
    0163 e0ff 3fff f5ff 03ff        nop
    0164 e0ff 3fff f5ff 03ff        nop
    0165 3044 3178 057e 412e bszb:   jp cs00,ar04,br04,nonf,ands,rsda,cb,waw,bs2,bd0,(xdox&alustat),blp05
    0166 e0ff 3fff f5ff 03ff        nop
    0167 e0ff 3fff f5ff 03ff        nop
                             
                             ; bop. branch if odd parity. format a.
                             ; a:= w and operand;
                             ; w0:= if odd a then b else w0+2;
    0168 e044 7178 05fe 4000 bopa: cont cs00,ar04,br04,ldbf,ands,rsda,cb,waw,bs2,bd0,xdox,0
    0169 e044 2138 057e a000       cont cs00,ar04,br04,nonf,addz,rsoa,cb,waw,bs5,bd0,(doxx&alustat),0
    016a 63a0 2078 05fe a3d4        jv  cs03,ar12,br00,nonf,addz,rsab,cb,waw,bs5,bd0,doxx,xpeven
    016b 100e 6108 05fc b20f xbopa:        js cs00,ar00,br16,ldbf,addz,rsoa,xcl,waw,bs5,bd4,doxx&forread,ywread
    016c 30f0 6127 05fe a9ed         jp cs00,ar17,br00,ldbf,addz,rsoa,cr,war,bs5,bd2,xdox,nupdat
    016d e0ff 3fff f5ff 03ff        nop
    016e e0ff 3fff f5ff 03ff        nop
                             
                             ; bop. branch if odd parity. format b&c
                             
    016f e044 7178 05fe 4000 bopb: cont cs00,ar04,br04,ldbf,ands,rsda,cb,waw,bs2,bd0,xdox,0
    0170 e044 2138 057e a000       cont cs00,ar04,br04,nonf,addz,rsoa,cb,waw,bs5,bd0,(doxx&alustat),0
    0171 63a0 2078 05fe a3d8         jv cs03,ar12,br00,nonf,addz,rsab,cb,waw,bs5,bd0,doxx,peven
    0172 310e 6138 0dfa a202 bopc:  cjp cs01,ar00,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,vupdat
    0173 10ee 2108 05fc b20f         js cs00,ar16,br16,nonf,addz,rsoa,xcl,waw,bs5,bd4,doxx&forread,ywread
    0174 30f0 6127 05fe a9ed         jp cs00,ar17,br00,ldbf,addz,rsoa,cr,war,bs5,bd2,xdox,nupdat
    0175 e0ff 3fff f5ff 03ff        nop
    0176 e0ff 3fff f5ff 03ff        nop
\f

!0030 m3503
                             
                             ; routine to write into memory (word).
                             ; ac16=address. ac17=data. (ac16-17 bitslice registers).
                             
    0177 e000 2028 05fe 64c0 wwrite: cont cs00,ar00,br00,nonf,addz,rsaq,cl,waw,bs3,bd1,doxx,300
                             ;               ; 8.306 --> modul select register.
    0178 e0ee 2108 05fe b000         cont cs00,ar16,br16,nonf,addz,rsoa,xcl,waw,bs5,bd4,doxx,0
                             ;               ; load address(ac16) out on the back plane bus.
    0179 e000 2009 05fe 64c1         cont cs00,ar00,br00,nonf,addz,rsaq,xcl,wbw,bs3,bd1,doxx,301
                             ;               ; set modul select to data mode.
    017a a0ff 2108 07fe b000          rtn cs00,ar17,br17,nonf,addz,rsoa,xcl,waw,bs5,bd4,tack,0
                             ;               ; return from subroutine.
                             
                             ; routine to write into memory (byte).
                             
    017b e000 2028 05fe 64c0 bwrite: cont cs00,ar00,br00,nonf,addz,rsaq,cl,waw,bs3,bd1,doxx,300
                             ;               ; load 8.306 into modul select register.
    017c e0ee 2108 05fe b000         cont cs00,ar16,br16,nonf,addz,rsoa,xcl,waw,bs5,bd4,doxx,0
                             ;               ; load address(ac16) out onto the back plane bus.
    017d e000 2008 04fe 64c1         cont cs00,ar00,br00,nonf,addz,rsaq,xcl,waw,bs3,bd1,(doxx&byten),301
                             ;               ; set modul select to data mode.
    017e a0ff 2108 06fe b000          rtn cs00,ar17,br17,nonf,addz,rsoa,xcl,waw,bs5,bd4,(tack&byten),0
    017f e0ff 3fff f5ff 03ff          nop
    0180 e0ff 3fff f5ff 03ff          nop
    0181 e0ff 3fff f5ff 03ff          nop
    0182 e0ff 3fff f5ff 03ff         nop
                             ; return from subroutine.
\f

!0031 m3503
                             
                             ; rc3503 microprogram.
                             ; write control/word. x=0.
    0183 e005 71b8 057e 601f wxcx0: cont cs00,ar00,br05,ldbf,ands,rsdq,cb,waw,bs3,bd0,doxx&alustat,37
                             ;               ; test if ir(11:15)=0.
    0184 38c3 6138 0dfa a186         cjp  cs10,ar14,br03,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,wxcx1
    0185 e015 6138 05fe a000        cont cs00,ar01,br05,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
    0186 3153 5078 0dfa a5cb wxcx1:  cjp cs01,ar05,br03,ldba,ands,rsab,cb,waw,bs5,bd1,doxx+nccen,wwc
    0187 3000 2138 05fe a1dd          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,wcc0
    0188 e0ff 3fff f5ff 03ff         nop
    0189 e0ff 3fff f5ff 03ff         nop
                             
                             ; write control/word. x<>0.
    018a e005 71b8 057e 601f wxcxn: cont cs00,ar00,br05,ldbf,ands,rsdq,cb,waw,bs3,bd0,doxx&alustat,37
    018b 38c3 6138 0dfa a18d         cjp cs10,ar14,br03,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,wxcx2
    018c e015 6138 05fe a000        cont cs00,ar01,br05,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
    018d 3153 5078 0dfa a5cb wxcx2:  cjp cs01,ar05,br03,ldba,ands,rsab,cb,waw,bs5,bd1,doxx+nccen,wwc
    018e 3000 2138 05fe a1d8          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,wccx
    018f e0ff 3fff f5ff 03ff         nop
    0190 e0ff 3fff f5ff 03ff         nop
                             
                             ; rc3503 microprogram.
                             ; write block of bytes/words.
    0191 e005 71b8 057e 601f wbxx: cont cs00,ar00,br05,ldbf,ands,rsdq,cb,waw,bs3,bd0,doxx&alustat,37
                             ;               ; test if ir(11:15)=0.
    0192 38c3 6138 0dfa a194        cjp cs10,ar14,br03,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,wbx1
    0193 e015 6138 05fe a000       cont cs00,ar01,br05,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
    0194 3153 7078 0dfa a1cf wbx1:  cjp cs01,ar05,br03,ldbf,ands,rsab,cb,waw,bs5,bd0,doxx+nccen,wbb
    0195 3000 2138 05fe a1d3         jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,wbww
    0196 e0ff 3fff f5ff 03ff        nop
    0197 e0ff 3fff f5ff 03ff        nop
                             
                             ; read status/word.
    0198 e005 71b8 057e 601f rxc: cont cs00,ar00,br05,ldbf,ands,rsdq,cb,waw,bs3,bd0,doxx&alustat,37
    0199 38c3 6138 0dfa a19b       cjp cs10,ar14,br03,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,rxc1
    019a e015 6138 05fe a000      cont cs00,ar01,br05,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
    019b 3153 5078 0dfa a5b0 rxc1: cjp cs01,ar05,br03,ldba,ands,rsab,cb,waw,bs5,bd1,doxx+nccen,rwc
    019c 3000 2138 05fe a1e2        jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rsc
    019d e0ff 3fff f5ff 03ff       nop
    019e e0ff 3fff f5ff 03ff       nop
\f

!0032 m3503
                             
                             ; rc3503 microprogram.
                             ; read block of bytes/word.
    019f e005 71b8 057e 601f rbx: cont cs00,ar00,br05,ldbf,ands,rsdq,cb,waw,bs3,bd0,doxx&alustat,37
                             ;               ; test if ir(11:15)=0.
    01a0 38c3 6138 0dfa a1a2       cjp  cs10,ar14,br03,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,rbx1
    01a1 e015 6138 05fe a000      cont cs00,ar01,br05,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
    01a2 3153 5078 0dfa a5b9 rbx1: cjp cs01,ar05,br03,ldba,ands,rsab,cb,waw,bs5,bd1,doxx+nccen,rbb
    01a3 3000 2138 05fe a1c3        jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rbw
    01a4 e0ff 3fff f5ff 03ff       nop
    01a5 e0ff 3fff f5ff 03ff       nop
    01a6 e0ff 3fff f5ff 03ff       nop
    01a7 e0ff 3fff f5ff 03ff       nop
                             
                             ; rc3503 microprogram.
                             ; routine to set devno/head bits(ac3+devno) and
                             ; transmit the contents of ac4 to the device.
                             ; call: ac3=      0  read data.
                             ;               100  write data.
                             ;               200  read status.
                             ;               300  write control.
                             ;       ac4= transmit data.
                             ;       ac5= device number.
                             
    01a8 3295 2078 0dfa a5a8 xhead:  cjp cs02,ar11,br05,nonf,addz,rsab,cb,waw,bs5,bd1,doxx+nccen,xhead
                             ;               ;      set modul selext:= 400+device number.
    01a9 e035 2118 07fe b000        cont cs00,ar03,br05,nonf,addz,rsoa,xcb,waw,bs5,bd4,tack,0
    01aa e055 2138 05fe a400 xwait: cont cs00,ar05,br05,nonf,addz,rsoa,cb,waw,bs5,bd1,doxx,0
    01ab a044 2118 07fe b000         rtn cs00,ar04,br04,nonf,addz,rsoa,xcb,waw,bs5,bd4,tack,0
                             
                             
                             ; rc3503 microprogram.
                             ; routine to set timer and wait upon
                             ; timeout or data in ready.
                             ; if eoi or timeout then zero flag=0
                             
                             
    01ac 4000 2138 01fe a140       push cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,subitr,timer
    01ad f500 2138 01fa a1af        twb cs05,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,subitr&ccen,timot
    01ae a300 3138 017a a000 wdal: crtn cs03,ar00,br00,nonf,ands,rsoa,cb,waw,bs5,bd0,(subitr&ccen&alustat),0
    01af a000 23f8 017e 6000 timot: rtn cs00,ar00,br00,nonf,addo,rsdo,cb,waw,bs3,bd0,subitr&alustat,0
\f

!0033 m3503
                             ; read word and compare.
                             ; ac7:=x;
                             ; w1:= data in;
                             ; if w<>a and eoi=0 then begin ir(current level):=0; w0:=w0-2 end;
                             ; enable:=1;
                             
    01b0 e033 6178 05fe 6000 rwc: cont cs00,ar03,br03,ldbf,addz,rsda,cb,waw,bs3,bd0,doxx,0
    01b1 e044 61fc 05fe 4001      cont cs00,ar04,br04,ldbf,addz,rsdo,cb,wap,bs2,bd0,xdox,1
    01b2 1077 61fa 05fe 41a8        js cs00,ar07,br07,ldbf,addz,rsdo,cb,wax,bs2,bd0,xdox,xhead
    01b3 1000 3138 057e a218        js cs00,ar00,br00,nonf,ands,rsoa,cb,waw,bs5,bd0,doxx&alustat,wdair
    01b4 3877 2b78 0d7a 41f2       cjp cs10,ar07,br07,nonf,subo,rsda,cb,waw,bs2,bd0,xdox&alustat+nccen,eupdat
    01b5 3000 2138 05fe a1c1        jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rbbl
    01b6 e0ff 3fff f5ff 03ff       nop
    01b7 e0ff 3fff f5ff 03ff       nop
    01b8 e0ff 3fff f5ff 03ff       nop
                             
                             ; read block of bytes.
                             ; if x(15)=0 then st(x)(0:7):=data in(8:15);
                             ;            else st(x):=data in(8:15);
                             ; x:=x+1;
                             ; if w<>x and eoi=0 then begin ir(current level):=0; w0:=w0-2 end;
                             ; enable:=1;
                             
    01b9 e033 6178 05fe 6000 rbb: cont cs00,ar03,br03,ldbf,addz,rsda,cb,waw,bs3,bd0,doxx,0
                             ;               ; "read data" frame to reg 3
    01ba e044 61fc 05fe 4001      cont cs00,ar04,br04,ldbf,addz,rsdo,cb,wap,bs2,bd0,xdox,1
                             ;               ; read w1 to reg 4
    01bb 1077 61fa 05fe 41a8        js cs00,ar07,br07,ldbf,addz,rsdo,cb,wax,bs2,bd0,xdox,xhead
                             ;               ; read x-reg to reg 7, jump xhead
    01bc 107e 6138 05fe a1fc        js cs00,ar07,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,wdain
                             ;               ; wait data in ready, jump wdain
    01bd e081 2078 05fe a400      cont cs00,ar10,br01,nonf,addz,rsab,cb,waw,bs5,bd1,doxx,0
    01be e0c1 3058 07fe b000      cont cs00,ar14,br01,nonf,ands,rsab,xcb,waw,bs5,bd4,tack,0
    01bf 10ff 61d8 07fe 817b        js cs00,ar17,br17,ldbf,addz,rsdo,xcb,waw,bs4,bd0,tack,bwrite
                             ;               ; write byte into mem, incr x-reg
    01c0 3077 632a 05fe ab6d        jp cs00,ar07,br07,ldbf,addo,rsoa,cl,wax,bs5,bd2,(xdox),xrbb
                             ;               ; jump if eoi  to eupdat
    01c1 3881 2078 05fa a5f2 rbbl: cjp cs10,ar10,br01,nonf,addz,rsab,cb,waw,bs5,bd1,(doxx&ccen),eupdat
                             ;               ; prepare iors signals for clear itr
    01c2 30c1 3058 07fe b1f0        jp cs00,ar14,br01,nonf,ands,rsab,xcb,waw,bs5,bd4,tack,bupdat
                             ;               ; clear itr-f/f, jump bupdat
\f

!0034 m3503
                             
                             ; rc3503 microprogram.
                             ; read block of words.
                             ; st(x):=data in;
                             ; x:=x+2;
                             ; if w<>x and eoi=0 then begin ir(current level):=0; w0:=w0-2 end;
                             ; enable:=1;
                             
    01c3 e033 6178 05fe 6000 rbw: cont cs00,ar03,br03,ldbf,addz,rsda,cb,waw,bs3,bd0,doxx,0
    01c4 e044 61fc 05fe 4001      cont cs00,ar04,br04,ldbf,addz,rsdo,cb,wap,bs2,bd0,xdox,1
    01c5 1077 61fa 05fe 41a8        js cs00,ar07,br07,ldbf,addz,rsdo,cb,wax,bs2,bd0,xdox,xhead
    01c6 107e 6138 05fe a1fc        js cs00,ar07,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,wdain
    01c7 e081 2078 05fe a400      cont cs00,ar10,br01,nonf,addz,rsab,cb,waw,bs5,bd1,doxx,0
    01c8 e0c1 3058 07fe b000      cont cs00,ar14,br01,nonf,ands,rsab,xcb,waw,bs5,bd4,tack,0
    01c9 10ff 61f8 07fe 8177        js cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs4,bd0,tack,wwrite
    01ca 30a7 606a 05fe ab6d        jp cs00,ar12,br07,ldbf,addz,rsab,cl,wax,bs5,bd2,xdox,xrbb
                             
                             ; write word and compare.
                             ; data out:= w1;
                             ; w<>x then begin ir(current level):=0; w0:=w0-2 end;
                             ; enable:=1;
                             
    01cb e033 6178 05fe 6040 wwc: cont cs00,ar03,br03,ldbf,addz,rsda,cb,waw,bs3,bd0,doxx,100
    01cc e044 61fc 05fe 4001      cont cs00,ar04,br04,ldbf,addz,rsdo,cb,wap,bs2,bd0,xdox,1
    01cd 1077 61fa 05fe 41a8        js cs00,ar07,br07,ldbf,addz,rsdo,cb,wax,bs2,bd0,xdox,xhead
    01ce 3070 2778 057e 41c1 wwcl:  jp cs00,ar07,br00,nonf,suno,rsda,cb,waw,bs2,bd0,xdox&alustat,rbbl
                             ;               ; compare x and w reg
\f

!0035 m3503
                             
                             ; rc3503 microprogram.
                             ; write block of bytes.
                             ; data out(8:15):= if x(15)=0 then st(x)(0:7) else st(x)(8:15);
                             ; x:=x+1;
                             ; if w<>x then begin ir(current level):=0; w0:=w0-2 end;
                             ; enable:= 1;
                             
    01cf e033 6178 05fe 6040 wbb: cont cs00,ar03,br03,ldbf,addz,rsda,cb,waw,bs3,bd0,doxx,100
                             ;               ; "write data" frame to reg 3
    01d0 10ee 61fa 05fe 4214        js cs00,ar16,br16,ldbf,addz,rsdo,cb,wax,bs2,bd0,xdox,xbread
                             ;               ; read byte from mem
    01d1 10f4 6138 05fe a1a8        js cs00,ar17,br04,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,xhead
                             ;               ; move byte to reg 17, jump xhead
    01d2 30e7 632a 05fe a9ce        jp cs00,ar16,br07,ldbf,addo,rsoa,cl,wax,bs5,bd2,xdox,wwcl
                             ;               ; incr. x reg, jump to wwcl
                             
                             ; write block of words.
                             ; data out:= st(x);
                             ; x:=x+2;
                             ; if w<>x then begin ir(current level):=0; w0:=w0-2 end;
                             ; enable:=1.
    01d3 e033 6178 05fe 6040 wbww:  cont cs00,ar03,br03,ldbf,addz,rsda,cb,waw,bs3,bd0,doxx,100
    01d4 10ee 61fa 05fe 420e         js cs00,ar16,br16,ldbf,addz,rsdo,cb,wax,bs2,bd0,xdox,xwread
    01d5 10f4 6138 05fe a1a8         js cs00,ar17,br04,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,xhead
    01d6 e0ae 606a 05fe a800       cont cs00,ar12,br16,ldbf,addz,rsab,cl,wax,bs5,bd2,xdox,0
    01d7 30e0 2778 057e 41c1         jp cs00,ar16,br00,nonf,suno,rsda,cb,waw,bs2,bd0,xdox&alustat,rbbl
\f

!0036 m3503
                             
                             ; rc3503 microprogram.
                             ; write control. x<>0.
                             ; control:= w1;
                             ; enable:=1;
    01d8 e033 6178 05fe 60c0 wccx: cont cs00,ar03,br03,ldbf,addz,rsda,cb,waw,bs3,bd0,doxx,300
    01d9 e044 61fc 05fe 4001       cont cs00,ar04,br04,ldbf,addz,rsdo,cb,wap,bs2,bd0,xdox,1
    01da 1000 2138 05fe a1a8         js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,xhead
    01db e006 61e4 05fe 7404 wccl: cont cs00,ar00,br06,ldbf,addz,rsdo,cr,wap,bs3,bd5,doxx,4
    01dc 3000 2138 05ee a3ec         jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&sextend,fetch
                             
                             ; write control. x=0.
                             ; control:=w1;
                             ; enable:=1; ir(current level):=0;
                             
    01dd e033 6178 05fe 60c0 wcc0: cont cs00,ar03,br03,ldbf,addz,rsda,cb,waw,bs3,bd0,doxx,300
    01de e044 61fc 05fe 4001       cont cs00,ar04,br04,ldbf,addz,rsdo,cb,wap,bs2,bd0,xdox,1
    01df 1000 2138 05fe a221         js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,lhead
    01e0 e081 2078 05fe a400       cont cs00,ar10,br01,nonf,addz,rsab,cb,waw,bs5,bd1,doxx,0
    01e1 30c1 3058 07fe b1db         jp cs00,ar14,br01,nonf,ands,rsab,xcb,waw,bs5,bd4,tack,wccl
                             
                             
                             ; rc3503 microprogram.
                             ; read status and compare.
                             ; ac6:=x
                             ; w1:=status.
                             ; if w<>ac6 and eoi=0 then begin ir(current):=0;w0:=w0-2 end;
                             ; enable:=1;
                             
    01e2 e033 6178 05fe 6080 rsc: cont cs00,ar03,br03,ldbf,addz,rsda,cb,waw,bs3,bd0,doxx,200
    01e3 e044 61fc 05fe 4001      cont cs00,ar04,br04,ldbf,addz,rsdo,cb,wap,bs2,bd0,xdox,1
    01e4 1077 61fa 05fe 41a8        js cs00,ar07,br07,ldbf,addz,rsdo,cb,wax,bs2,bd0,xdox,xhead
    01e5 1000 3138 057e a218        js cs00,ar00,br00,nonf,ands,rsoa,cb,waw,bs5,bd0,doxx&alustat,wdair
    01e6 3800 3138 0dfa a1f2 rscl: cjp cs10,ar00,br00,nonf,ands,rsoa,cb,waw,bs5,bd0,(doxx+nccen),eupdat
    01e7 e070 2778 057e 4000      cont cs00,ar07,br00,nonf,suno,rsda,cb,waw,bs2,bd0,(xdox&alustat),0
    01e8 3881 2078 05fa a5f2       cjp cs10,ar10,br01,nonf,addz,rsab,cb,waw,bs5,bd1,doxx&ccen,eupdat
    01e9 30c1 3058 07fe b1f0        jp cs00,ar14,br01,nonf,ands,rsab,xcb,waw,bs5,bd4,tack,bupdat
    01ea e0ff 3fff f5ff 03ff       nop
                             
\f

!0037 m3503
                             
                             
                             ; rc3503 microprogram.
                             ; update w0 routine.
                             ;   sync interrupt.
                             
    01eb 30a0 2064 05ee a3ec update: jp cs00,ar12,br00,nonf,addz,rsab,cr,wap,bs5,bd0,doxx&sextend,fetch
    01ec 3000 2138 05fe 63ec           jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs3,bd0,doxx,fetch
                             
    01ed e000 61e4 05fe 4000 nupdat: cont cs00,ar00,br00,ldbf,addz,rsdo,cr,wap,bs2,bd0,xdox,0
    01ee 3000 2124 05ee abec qupdat:        jp cs00,ar00,br00,nonf,addz,rsoa,cr,wap,bs5,bd2,xdox&sextend,fetch
    01ef 3000 2138 05fe 63ec           jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs3,bd0,doxx,fetch
                             
                             
                             ; bupdat. w0:=w0-2; enable;
    01f0 e006 61f8 05fe 7404 bupdat: cont cs00,ar00,br06,ldbf,addz,rsdo,cb,waw,bs3,bd5,doxx,4
                             ;               ; set enable in reg 6, enable, sync-itr
    01f1 30a0 6667 05ee abec           jp cs00,ar12,br00,ldbf,suno,rsab,cr,war,bs5,bd2,xdox&sextend,fetch
                             ;               ; decr w0 (-2), jump fetch
                             
    01f2 e006 61e4 05fe 7404 eupdat: cont cs00,ar00,br06,ldbf,addz,rsdo,cr,wap,bs3,bd5,doxx,4
    01f3 3000 2138 05ee a3ec           jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&sextend,fetch
                             
                             
                             ; subroutine to update ac15 with highest priority level number.
    01f4 e011 2138 05fe bc00 ginta: cont cs00,ar01,br01,nonf,addz,rsoa,cb,waw,bs5,bd7,doxx,0
    01f5 e0dd 61ff 05fe 4000 gint1: cont cs00,ar15,br15,ldbf,addz,rsdo,cb,war,bs2,bd0,xdox,0
    01f6 a0dd 2138 05fe bc00         rtn cs00,ar15,br15,nonf,addz,rsoa,cb,waw,bs5,bd7,doxx,0
                             
    01f7 3000 2138 05ee a3ec cupdat: jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&sextend,fetch
    01f8 3000 2138 05fe a3ec           jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,fetch
                             
    01f9 3144 2128 0dfa a9f7 cogll:  cjp cs01,ar04,br04,nonf,addz,rsoa,cl,waw,bs5,bd2,xdox+nccen,cupdat
    01fa e0a4 617a 05fe 4000        cont cs00,ar12,br04,ldbf,addz,rsda,cb,wax,bs2,bd0,xdox,0
    01fb 3044 212a 05fe a9f7          jp cs00,ar04,br04,nonf,addz,rsoa,cl,wax,bs5,bd2,xdox,cupdat
                             
    01fc e0ff 61f8 05fe 6006 wdain:  cont cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,waits
    01fd c0ff 2138 05f6 a000         ldct cs00,ar17,br17,nonf,addz,rsoa,cb,waw,bs5,bd0,ldcoun,0
    01fe 9000 2138 05fe a1fe wdasp:  rpct cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,wdasp
    01ff 4000 2138 01fe a140         push cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,subitr,timer
    0200 f500 2138 01fa a1af          twb cs05,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,subitr&ccen,timot
    0201 3000 2138 01fe a1ae           jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,subitr,wdal
    0202 30a0 6064 05ee abec vupdat: jp cs00,ar12,br00,ldbf,addz,rsab,cr,wap,bs5,bd2,xdox&sextend,fetch
    0203 3000 2138 05fe a3ec           jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,fetch
                             
\f

!0038 m3503
                             
                             ; rc3503 microprogram.
                             ; interlevel store (ist). format c.
    0204 e077 61e8 05fe 4000 istc: cont cs00,ar07,br07,ldbf,addz,rsdo,cl,waw,bs2,bd0,xdox,0
    0205 e00e 6128 05fe a000       cont cs00,ar00,br16,ldbf,addz,rsoa,cl,waw,bs5,bd0,doxx,0
    0206 10ae 6667 05fe a20d         js cs00,ar12,br16,ldbf,suno,rsab,cr,war,bs5,bd0,doxx,wread
    0207 30f3 6138 05fe bc51         jp cs00,ar17,br03,ldbf,addz,rsoa,cb,waw,bs5,bd7,doxx,istx
                             
                             ; interlevel load (ild). format c.
    0208 e00e 6128 05fe a000 ildc: cont cs00,ar00,br16,ldbf,addz,rsoa,cl,waw,bs5,bd0,doxx,0
    0209 10ae 6667 05fe a20d         js cs00,ar12,br16,ldbf,suno,rsab,cr,war,bs5,bd0,doxx,wread
    020a 30f3 6138 05fe bc58         jp cs00,ar17,br03,ldbf,addz,rsoa,cb,waw,bs5,bd7,doxx,ildx
                             
                             ; instruction to set the module select.
    020b 304b 2138 05fe a374 mseta: jp cs00,ar04,br13,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,msetc
                             
    020c 304b 2138 05fe a374 msetb: jp cs00,ar04,br13,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,msetc
\f

!0039 m3503
                             
                             ; routine to read from memory(word).
                             ; ac16=address.ac17:=data.
                             
    020d e0ee 2128 05fe 64c0 wread: cont cs00,ar16,br16,nonf,addz,rsoa,cl,waw,bs3,bd1,doxx,300
                             ;               ; load 8.300 into modul select.
    020e e0ee 2108 05fc b000 xwread:       cont cs00,ar16,br16,nonf,addz,rsoa,xcl,waw,bs5,bd4,doxx&forread,0
                             ;               ; load address register.
    020f e0ff 41c8 077e 8000 ywread:       cont cs00,ar17,br17,ldba,addz,rsdo,xcl,waw,bs4,bd0,tack&alustat,0
                             ;               ; read answer,v-jump on lpe/rpe status
    0210 aaff 2108 0dfa a000      crtn cs12,ar17,br17,nonf,addz,rsoa,xcl,waw,bs5,bd0,doxx+nccen,0
    0211 e0ff 41c8 07fe 8000        cont cs00,ar17,br17,ldba,addz,rsdo,xcl,waw,bs4,bd0,tack,0
    0212 6302 7138 05fe a3e8         jv cs03,ar00,br02,ldbf,ands,rsoa,cb,waw,bs5,bd0,doxx,sparw
                             
                             ; routine to read from memory (byte).
                             
    0213 e000 2028 05fe 64c0 bread: cont cs00,ar00,br00,nonf,addz,rsaq,cl,waw,bs3,bd1,doxx,300
                             ;               ; load 8.300 into modul select register.
    0214 e0ee 2108 05fc b000 xbread:       cont cs00,ar16,br16,nonf,addz,rsoa,xcl,waw,bs5,bd4,(doxx&forread),0
                             ;               ; load address register.
    0215 e0ff 2008 04fe 64c1        cont cs00,ar17,br17,nonf,addz,rsaq,xcl,waw,bs3,bd1,(doxx&byten),301
                             ;               ; select data mode.
    0216 e0ff 41c8 067e 8000         cont cs00,ar17,br17,ldba,addz,rsdo,xcl,waw,bs4,bd0,(tack&alustat&byten),0
                             ;               ; read answer, v-jump on lpe/rpe status
    0217 6302 7138 05fe a3d0          jv cs03,ar00,br02,ldbf,ands,rsoa,cb,waw,bs5,bd0,doxx,bypar
                             
    0218 e0ff 61f8 05fe 6006 wdair: cont cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,waits
    0219 c0ff 2138 05f6 a000        ldct  cs00,ar17,br17,nonf,addz,rsoa,cb,waw,bs5,bd0,ldcoun,0
    021a 9000 2138 05fe a21a wdai1: rpct cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,wdai1
    021b 4000 2138 01fe a140        push cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,subitr,timer
    021c f500 2138 01fa a220         twb cs05,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,subitr&ccen,timxx
    021d e00f 61cc 01fe 8001        cont cs00,ar00,br17,ldbf,addz,rsdo,xcl,wap,bs4,bd0,subitr+ydox,1
    021e a3ff 212c 01fa a801        crtn cs03,ar17,br17,nonf,addz,rsoa,cl,wap,bs5,bd2,(subitr&ccen)+ydox,1
    021f e000 313c 01fe a801        cont cs00,ar00,br00,nonf,ands,rsoa,cb,wap,bs5,bd2,subitr+ydox,1
    0220 a000 23f8 017e 6000 timxx:  rtn cs00,ar00,br00,nonf,addo,rsdo,cb,waw,bs3,bd0,subitr&alustat,0
                             
                             ; write control timer loop.
                             
    0221 e0ff 61f8 05fe 6008 lhead: cont cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,wctim
    0222 1000 2138 05fe a1a8         js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,xhead
    0223 c0ff 2138 05f6 a000        ldct cs00,ar17,br17,nonf,addz,rsoa,cb,waw,bs5,bd0,ldcoun,0
    0224 9000 2138 05fe a224 wdao1: rpct cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,wdao1
    0225 a000 2138 05fe a000          rtn cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             
\f

!0040 m3503
                             
                             ; routine to write into the w-register.
                             ; ac16=address.ac17=data.
                             
    0226 e0ee 212f 05fe bc00 wwreg: cont cs00,ar16,br16,nonf,addz,rsoa,cl,war,bs5,bd7,doxx,0
                             ;               ; load working register address register.
    0227 e0ff 210f 05fe a800        cont cs00,ar17,br17,nonf,addz,rsoa,xcl,war,bs5,bd2,xdox,0
                             ;               ; write into working register.
    0228 a0dd 2128 05fe bc00         rtn cs00,ar15,br15,nonf,addz,rsoa,cl,waw,bs5,bd7,doxx,0
                             ;               ; restore current level and return.
                             
                             ; routine to read from the w-register.
                             ; ac16=address. ac17:=data.
                             
    0229 e0ee 212f 05fe bc00 rwreg: cont cs00,ar16,br16,nonf,addz,rsoa,cl,war,bs5,bd7,doxx,0
                             ;               ; load working register address.
    022a e0ff 41cf 05fe 4000        cont cs00,ar17,br17,ldba,addz,rsdo,xcl,war,bs2,bd0,xdox,0
                             ;               ; read from working register.
    022b a0dd 2128 05fe bc00         rtn cs00,ar15,br15,nonf,addz,rsoa,cl,waw,bs5,bd7,doxx,0
                             ;               ; restore current level and return.
                             
                             ; routine to read from memory module. the module number is send
                             ; from the debug'er.
                             ; call: ac16=offset address,ac07=module number.
                             ; ret : ac17=data.
    022c e077 2138 05fe ac00 dbread: cont cs00,ar07,br07,nonf,addz,rsoa,cb,waw,bs5,bd3,doxx,0
    022d e0ee 213f 05fe 64c0         cont cs00,ar16,br16,nonf,addz,rsoa,cb,war,bs3,bd1,doxx,300
    022e e0ee 211f 05fc b000         cont cs00,ar16,br16,nonf,addz,rsoa,xcb,war,bs5,bd4,doxx&forread,0
    022f 3200 3118 0dfa a22f bwrd:    cjp cs02,ar00,br00,nonf,ands,rsoa,xcb,waw,bd5,bd0,doxx+nccen,bwrd
    0230 e0ff 41c8 077e 8000          cont cs00,ar17,br17,ldba,addz,rsdo,xcl,waw,bs4,bd0,tack&alustat,0
                             ;               ; read answer, v-jump on lpe/rpe status
    0231 63b2 7138 05fe afe8           jv cs03,ar13,br02,ldbf,ands,rsoa,cb,waw,bs5,bd3,doxx,sparw
                             
                             ; routine to write into memory module.
                             ; call: ac16=offset addr.,ac07=module no,ac17=data.
    0232 e077 2138 05fe ac00 dbwrite: cont cs00,ar07,br07,nonf,addz,rsoa,cb,waw,bs5,bd3,doxx,0
    0233 e0ee 213f 05fe 64c0          cont cs00,ar16,br16,nonf,addz,rsoa,cb,war,bs3,bd1,doxx,300
    0234 e0ee 211f 05fe b000          cont cs00,ar16,br16,nonf,addz,rsoa,xcb,war,bs5,bd4,doxx,0
    0235 e0ee 211f 05fe 64c1          cont cs00,ar16,br16,nonf,addz,rsoa,xcb,war,bs3,bd1,doxx,301
    0236 e0ff 2108 07fe b000           cont cs00,ar17,br17,nonf,addz,rsoa,xcl,waw,bs5,bd4,tack,0
    0237 a000 3128 05fe ac00         rtn cs00,ar00,br00,nonf,ands,rsoa,cl,waw,bs5,bd3,doxx,0
\f

!0041 m3503
                             
                             ; rc3503 microprogram.
                             ; procedure to receive one byte from the debug microprocessor.
                             ; ac3(8:15):= cdi;
                             ; ac3(0:7) := 0;
                             ; ac4(0:7):= cdi;
                             ; ac4(8:15):= 0;
    0238 e033 71f8 05fe a000 gbyte: cont cs00,ar03,br03,ldbf,ands,rsdo,cb,waw,bs5,bd0,doxx,0
    0239 3e33 2138 05fa a239 glp1:   cjp cs16,ar03,br03,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&ccen,glp1
    023a e033 61f8 05fe c000        cont cs00,ar03,br03,ldbf,addz,rsdo,cb,waw,bs6,bd0,doxx,0
    023b e033 7178 05fe 60ff        cont cs00,ar03,br03,ldbf,ands,rsda,cb,waw,bs3,bd0,doxx,377
    023c e033 2138 05fe a000        cont cs00,ar03,br03,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
    023d e044 61f8 05fe 2000        cont cs00,ar04,br04,ldbf,addz,rsdo,cb,waw,bs1,bd0,doxx,0
    023e a000 2138 05fe a000         rtn cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             
                             ; routine to send ac3(8:15) to the debug microprocessor(m).
                             
    023f e0ee 61f8 05fe 63ff prbyt: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi5
    0240 303f 6138 05fe a226          jp cs00,ar03,br17,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;        rtn cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             
                             ; routine to send ac3(0:7) to the debug microprocessor.
                             
    0241 e0ee 61f8 05fe 63fe plbyt: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi4
    0242 e033 2138 05fe a000        cont cs00,ar03,br03,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
    0243 30ff 61f8 05fe 2226          jp cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs1,bd0,doxx,wwreg
                             ;        rtn cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             
                             ; routine to get word from fifo.
                             ; call: ac16= fix.
                             ; return: ac16(0:7)=fix-1 and ac16(8:15)=fix.
                             
    0244 10ee 2138 05fe a229 gword:   js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rwreg
    0245 e0f3 7178 05fe 60ff        cont cs00,ar17,br03,ldbf,ands,rsda,cb,waw,bs3,bd0,doxx,377
    0246 10ee 6538 05fe a229          js cs00,ar16,br16,ldbf,sunz,rsoa,cb,waw,bs5,bd0,doxx,rwreg
    0247 e0ff 7178 05fe 60ff        cont cs00,ar17,br17,ldbf,ands,rsda,cb,waw,bs3,bd0,doxx,377
    0248 e0ff 2138 05fe a000        cont cs00,ar17,br17,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
    0249 a03e 6178 05fe 2000         rtn cs00,ar03,br16,ldbf,addz,rsda,cb,waw,bs1,bd0,doxx,0
\f

!0042 m3503
                             
                             ; rc3503 microprogram.
                             ; debug routine. get mem.
                             ; transfer a word from l-mem to m.
                             
    024a e0ee 61f8 05fe 63fd getm: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi3
    024b 10ee 2138 05fe a244         js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,gword
                             ;               ; fetch module no from fi3-fi2
    024c e0e7 6138 05fe a000       cont cs00,ar16,br07,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; save module no in reg 7
    024d e0ee 61f8 05fe 63fb       cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi1
    024e 10ee 2138 05fe a244         js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,gword
                             ;               ; fetch offset addr from fi1-fi0
    024f 1000 2138 05fe a22c         js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,dbread
                             ;               ; read word from mem
    0250 10f3 6138 05fe a23f         js cs00,ar17,br03,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,prbyt
                             ;               ; put right byte into fifo fi5
    0251 3000 2138 05fe a241         jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,plbyt
                             ;               ; put left byte into fifo fi4
                             ;       rtn cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; return
                             
                             ; debug routine. put mem.
                             ; transfer a word from m to l-mem.
                             
    0252 e0ee 61f8 05fe 63ff putm: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi5
    0253 10ee 2138 05fe a244         js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,gword
                             ;               ; fetch module no from fifo fi5-fi4
    0254 e0e7 6138 05fe a000       cont cs00,ar16,br07,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; module to reg 7
    0255 e0ee 61f8 05fe 63fd       cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi3
    0256 10ee 2138 05fe a244         js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,gword
                             ;               ; fetch offset addr from fifo fi3-fi2
    0257 e0e4 6138 05fe a000       cont cs00,ar16,br04,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; save addr in reg 4
    0258 e0ee 61f8 05fe 63fb       cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi1
    0259 10ee 2138 05fe a244         js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,gword
                             ;               ; fetch data from fifo fi1-fi0
    025a e0ef 6138 05fe a000       cont cs00,ar16,br17,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; move data to reg 17
    025b 304e 6138 05fe a232         jp cs00,ar04,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,dbwrite
                             ;               ; move addr to reg 16
                             ;       rtn cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; return
\f

!0043 m3503
                             
                             ; rc3503 microprogram.
                             ; debug routine. get reg.
                             ; transfer a word from l-reg to m.
    025c e0ee 61f8 05fe 63fb getr: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi1
    025d 10ee 2138 05fe a244         js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,gword
                             ;               ; fetch w-reg addr from fifo fi1-fi0
    025e 104e 2078 05fe a229         js cs00,ar04,br16,nonf,addz,rsab,cb,waw,bs5,bd0,doxx,rwreg
                             ;               ; read w-reg
    025f 10f3 6138 05fe a23f         js cs00,ar17,br03,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,prbyt
                             ;               ; put right byte into fifo fi5
    0260 3000 2138 05fe a241         jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,plbyt
                             ;               ; put left byte into fifo fi4
                             ;       rtn cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; return
                             
                             ; debug routine. put reg.
                             ; transfer a word from m to l-reg.
                             
    0261 e0ee 61f8 05fe 63fd putr: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi3
    0262 10ee 2138 05fe a244         js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,gword
                             ;               ; fetch w-reg addr from fifo fi3-fi2
    0263 e0e4 6138 05fe a000       cont cs00,ar16,br04,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; save w-reg addr in reg 4
    0264 e0ee 61f8 05fe 63fb       cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi1
    0265 10ee 2138 05fe a244         js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,gword
                             ;               ; fetch write data from fifo fi1-fi0
    0266 e0ef 6138 05fe a000       cont cs00,ar16,br17,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; move write data to reg 17
    0267 304e 6138 05fe a226         jp cs00,ar04,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; w-reg addr to reg 16, write into w-reg
                             ;       rtn cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; return
                             
    0268 1000 2138 05fe a27c rdat:  js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,fifos
                             ;               ; circulate fifo
    0269 3000 2138 05fe e275        jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,tsrun
                             ;               ; clear cr f/f, jump tsrun
\f

!0044 m3503
                             
                             ; rc3503 microprogram.
                             ; debug routine. read data.
                             ; w((ac2)+copy):= ac3; received byte.
                             ; copy means start of the image of the microprocessor ram
                             ; in the w-register array.
                             
    026a e0ee 61f8 05fe 63fb rdadr: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi1
    026b 10ee 2138 05fe a229          js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rwreg
                             ;               ; fetch lsb addr from fifo
    026c e0f2 e138 05fe a000        cont cs00,ar17,br02,lblf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; shift addr one step left
    026d e022 e078 05fe a000        cont cs00,ar02,br02,lblf,addz,rsab,cb,waw,bs5,bd0,doxx,0
                             ;               ; one step more
    026e 10ee 6538 05fe a229          js cs00,ar16,br16,ldbf,sunz,rsoa,cb,waw,bs5,bd0,doxx,rwreg
                             ;               ; fetch data from fifo
    026f e0f3 7178 05fe 60ff        cont cs00,ar17,br03,ldbf,ands,rsda,cb,waw,bs3,bd0,doxx,377
                             ;               ; mask and save in reg 3
    0270 e02e 7178 05fe 61f8        cont cs00,ar02,br16,ldbf,ands,rsda,cb,waw,bs3,bd0,doxx,770
                             ;               ; mask for max cells 3f
    0271 e0ee 6178 05fe 6084        cont cs00,ar16,br16,ldbf,addz,rsda,cb,waw,bs3,bd0,doxx,4+128.
                             ;               ; add base+offset
    0272 303f 6138 05fe a226          jp cs00,ar03,br17,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; reg 3 to reg 17, write data into image
                             ;        rtn cs00,ar00,br00,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             
\f

!0045 m3503
                             
                             
                             
                             ; rc3503 microprogram
                             ; debug routine. get level.
                             ; transfer current level to m.
                             
    0273 e013 6138 05fe b800 getl: cont cs00,ar01,br03,ldbf,addz,rsoa,cb,waw,bs5,bd6,doxx,0
                             ;               ; current level to cdo-reg
    0274 a000 2138 05fe a000        rtn cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; return
                             
                             
                             ; test the state of run/stop.
                             
    0275 3600 2138 0dfa a009 tsrun:  cjp cs06,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,dupdat
    0276 3000 2138 05fe a3ec          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,fetch
                             
                             ; routine to
                             ; input level number and
                             ; output register offset.
                             
    0277 1000 2138 05fe a238 gloff:   js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,gbyte
                             ;               ; read wanted level from cdo-reg
    0278 103e 6138 05fe a229          js cs00,ar03,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,rwreg
                             ;               ; fetch offset from table
    0279 10f3 6138 05fe a23f          js cs00,ar17,br03,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,prbyt
                             ;               ; put right byte into fifo fi5
    027a 1000 2138 05fe a241          js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,plbyt
                             ;               ; put left byte into fifo fi4
    027b 3000 2138 05fe e275          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,tsrun
                             ;               ; clear cr f/f, jump tsrun
\f

!0046 m3503
                             
                             
                             
                             ; rc3503 microprogram.
                             ; debug fifo administration.
                             ; fi5 (top of fifo) - fi4 - fi3 - fi2 - fi1 - fi0 (input to fifo)
                             ; when called:
                             ; cdi->fi0->fi1->fi2->fi3->fi4->fi5->cdo
                             
    027c e0ee 61f8 05fe 63ff fifos: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi5
                             ;               ; fi5 addr to reg 16
    027d 10ee 2138 05fe a229          js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rwreg
                             ;               ; "read fifo" result in reg 17
    027e e0ff 2138 05fe b800        cont cs00,ar17,br17,nonf,addz,rsoa,cb,waw,bs5,bd6,doxx,0
                             ;               ; reg 17 to cdo-reg
    027f e0ee 61f8 05fe 63fe        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi4
                             ;               ; fi4 addr to reg 16
    0280 10ee 2138 05fe a229          js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rwreg
                             ;               ; "read fifo" (fi4)
    0281 10ee 6338 05fe a226          js cs00,ar16,br16,ldbf,addo,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; "write fifo" in fi5
    0282 10ae 6678 05fe a229          js cs00,ar12,br16,ldbf,suno,rsab,cb,waw,bs5,bd0,doxx,rwreg
                             ;               ; "read fifo" (fi3)
    0283 10ee 6338 05fe a226          js cs00,ar16,br16,ldbf,addo,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; "write fifo" in fi4
    0284 10ae 6678 05fe a229          js cs00,ar12,br16,ldbf,suno,rsab,cb,waw,bs5,bd0,doxx,rwreg
                             ;               ; "read fifo" (fi2)
    0285 10ee 6338 05fe a226          js cs00,ar16,br16,ldbf,addo,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; "write fifo" in fi3
    0286 10ae 6678 05fe a229          js cs00,ar12,br16,ldbf,suno,rsab,cb,waw,bs5,bd0,doxx,rwreg
                             ;               ; "read fifo" (fi1)
    0287 10ee 6338 05fe a226          js cs00,ar16,br16,ldbf,addo,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; "write fifo" in fi2
    0288 10ae 6678 05fe a229          js cs00,ar12,br16,ldbf,suno,rsab,cb,waw,bs5,bd0,doxx,rwreg
                             ;               ; "read fifo" (fi0)
    0289 10ee 6338 05fe a226          js cs00,ar16,br16,ldbf,addo,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; "write fifo" in fi1
    028a e0ee 61f8 05fe 63fa        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi0
                             ;               ; fi0 addr to reg 16
    028b 30ff 61f8 05fe c226          jp cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs6,bd0,doxx,wwreg
                             ;               ; "write fifo" cdi to fi0
                             ;        rtn cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; return
\f

!0047 m3503
                             
                             
                             
                             ; rc3503 microprogram.
                             ; debug routine. set timer level.
                             ; itr(w(copy)):=1;
    028c e0ee 61f8 05fe 6084 sett: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,4+128.
                             ;               ; addr to rtc level (image)
    028d 1000 2138 05fe a229 setl:   js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rwreg
                             ;               ; read from image
    028e e0fe 7178 05fe 607f       cont cs00,ar17,br16,ldbf,ands,rsda,cb,waw,bs3,bd0,doxx,177
                             ;               ; mask for max 127 levels
    028f 10ee 2138 05fe a05f         js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,sitrn
                             ;               ; set level (reg 16)
    0290 3044 2138 05fe e275         jp cs00,ar04,br04,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,tsrun
                             ;               ; clear cr f/f , jump tsrun
                             
    0291 e0ee 61f8 05fe 608c seto: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,4+10+128.
                             ;               ; addr to tto level (image)
    0292 3000 2138 05fe a28d         jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,setl
                             ;               ; jump setl
                             
    0293 e0ee 61f8 05fe 6094 seti: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,4+20+128.
                             ;               ; addr to tti level (image)
    0294 3000 2138 05fe a28d         jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,setl
                             ;               ; jump setl
                             
                             ; set version number and cpu no.
    0295 e0ee 61f8 05fe 63ff setver: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi5
                             ;               ; fi5 addr to reg 16
    0296 e0ff 61f8 05fe 603b         cont cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,cpuve
                             ;               ; cpu-type and m-prog. ver to reg 17
    0297 1000 2138 05fe a226           js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; write number to fi5
    0298 3000 2138 05fe a2a4           jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,lclear
                             ;               ; jump lclear
\f

!0048 m3503
                             
                             
                             
                             ; rc3503 microprogram.
                             ; routine to move autoload from prom mem to ram
                             ; starting from h.fe00.
                             ; ac5=prom addr.; ac7=ram addr.
    0299 e055 61f8 05fe 6004 auctl:   cont cs00,ar05,br05,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,4
                             ;               ; 4 to reg 5 (rom start addr)
    029a e077 61f8 05fe 61ff          cont cs00,ar07,br07,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,aucon
                             ;               ; 8.777 to reg 7
    029b e077 6938 05fe a000          cont cs00,ar07,br07,ldbf,subz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; 8.177000 to reg 7
    029c e05e 6138 05fe 6c10 aurep:   cont cs00,ar05,br16,ldbf,addz,rsoa,cb,waw,bs3,bd3,doxx,20
                             ;               ; reg 5 to reg 16, sel prom
    029d 10ee 2138 05fe a20d            js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,wread
                             ;               ; read word (byte) from prom
    029e e07e 6138 05fe 6c00          cont cs00,ar07,br16,ldbf,addz,rsoa,cb,waw,bs3,bd3,doxx,0
                             ;               ; reg 7 to reg 16, sel ram
    029f 10ee 2138 05fe a17b            js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,bwrite
                             ;               ; write byte into ram
    02a0 e0a5 6078 05fe a000          cont cs00,ar12,br05,ldbf,addz,rsab,cb,waw,bs5,bd0,doxx,0
                             ;               ; incr. prom addr +2 - to reg 5
    02a1 e077 6338 057e a000          cont cs00,ar07,br07,ldbf,addo,rsoa,cb,waw,bs5,bd0,doxx&alustat,0
                             ;               ; incr. ram addr +1 - to reg 7
    02a2 3800 2138 0dfa a29c           cjp cs10,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,aurep
                             ;               ; jump to aurep if not finish with move
    02a3 3000 2138 05ee a37c            jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&sextend,pfetch
                             ;               ; jump to fetch
    02a4 e0ee 61f8 05fe 6080 lclear:  cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,177+1
                             ;               ; 1f (level 31) to reg 16
                             ;               ; set interrupt level 31
    02a5 e0ee 6538 057e a000 lcrep:   cont cs00,ar16,br16,ldbf,sunz,rsoa,cb,waw,bs5,bd0,doxx&alustat,0
                             ;               ; decr. level (reg 16)
    02a6 38ee 2138 05fa a2a9           cjp cs10,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&ccen,set32
                             ;               ; jump to set31 if level decremented to zero
    02a7 10ee 2138 05fe a063            js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,citrn
                             ;               ; clear level (level no in reg 16)
    02a8 3000 2138 05fe 02a5            jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs0,bd0,doxx,lcrep
                             ;               ; jump lcrep
                             
    02a9 e0ee 61f8 05fe 63eb set32: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fie
    02aa 10ff 7138 05fe a226          js cs00,ar17,br17,ldbf,ands,rsoa,cb,waw,bs5,bd0,doxx,wwreg
    02ab e0ee 61f8 05fe 601f      cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,37
    02ac 10ee 21f8 05fe a05f          js cs00,ar16,br16,nonf,addz,rsdo,cb,waw,bs5,bd0,doxx,sitrn
\f

!0049 m3503
                             
                             
                             
                             ; rc3503 micro program
                             ; prepare level 1f to start in autoload code
                             ; placed in area fe00 to ffff.
                             
    02ad e0ff 61f8 05fe 61ff set31: cont cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,aucon
                             ;               ; 8.777 to reg 17
    02ae e0ff 6938 05fe a000        cont cs00,ar17,br17,ldbf,subz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; 8.177000 to reg 17
    02af e0ee 61f8 05fe 617a        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,372+128.
                             ;               ; 8.572 to reg 16
    02b0 1000 2138 05fe a226          js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; write hex fe00 into w2 level 1f
    02b1 e0ff 61f8 05fe 6033        cont cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,63
                             ;               ; 8.63 to reg 17
    02b2 e0ff 6938 05fe a000        cont cs00,ar17,br17,ldbf,subz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; 8.177714 to reg 17
    02b3 e0ee 61f8 05fe 6178        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,370+128.
                             ;               ; 8.570 to reg 16
    02b4 1000 2138 05fe a226          js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; write hex ffcc into w0 on level 1f
    02b5 e0ff 7138 05fe a000        cont cs00,ar17,br17,ldbf,ands,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; zero to reg 17
    02b6 e0ee 61f8 05fe 617b        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,373+128.
                             ;               ; 8.573 to reg 16
    02b7 1000 2138 05fe a226          js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; write zero into w3 on level 1f
    02b8 3000 2138 05fe a299          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,auctl
                             ;               ; jump to auctl
                             
\f

!0050 m3503
                             
                             
                             
                             ; rc3503 microprogram
                             ; generation of w-reg offset table
                             
    02b9 e044 61f8 05fe 6000 uptab: cont cs00,ar04,br04,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,0
                             ;               ; zero to reg 4
    02ba e077 61f8 05fe 6080        cont cs00,ar07,br07,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,128.
                             ;               ; hex 80 to reg 7 (last addr)
    02bb e055 61f8 05fe 6000        cont cs00,ar05,br05,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,0
                             ;               ; zero to reg 5
    02bc e04e 6138 05fe a000 up20:  cont cs00,ar04,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; reg 4 to reg 16 (addr)
    02bd 107f 6138 05fe a226          js cs00,ar07,br17,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; reg 7 to reg 17 (data) , write offset
    02be e044 6338 05fe a000        cont cs00,ar04,br04,ldbf,addo,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; incr reg 4
    02bf e055 6338 05fe a000        cont cs00,ar05,br05,ldbf,addo,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; incr reg 5
    02c0 e077 6178 05fe 6008        cont cs00,ar07,br07,ldbf,addz,rsda,cb,waw,bs3,bd0,doxx,10
                             ;               ; incr. reg 7 with 8 (to next level)
    02c1 e055 2778 057e 6080        cont cs00,ar05,br05,nonf,suno,rsda,cb,waw,bs3,bd0,doxx&alustat,128.
                             ;               ; is it last level ?
    02c2 3800 2138 0dfa a2bc         cjp cs10,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,up20
                             ;               ; no jump to up20
    02c3 3000 2138 05fe a295          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,setver
                             ;               ; jump to setver
\f

!0051 m3503
                             
                             
                             
                             ; rc3503 microprogram.
                             ; decoder for test command.
                             ; =01 xmt 7.5 intr to 8085.
                             ; =02 working register address test.
                             ; =03 working register data test.
                             ; =04 memory address test.
                             ; =05 memory data test.
                             
    02c4 e0ee 61f8 05fe 63fa tscom: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi0
                             ;               ; addr fi0 to reg 16
    02c5 1000 2138 05fe a229          js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rwreg
                             ;               ; read fi0 result in reg 17
    02c6 e0ff 7178 05fe 6007        cont cs00,ar17,br17,ldbf,ands,rsda,cb,waw,bs3,bd0,doxx,7
                             ;               ; and read value (test number) with 7
    02c7 e0ff 3978 057e 6001        cont cs00,ar17,br17,nonf,exor,rsda,cb,waw,bs3,bd0,doxx&alustat,1
                             ;               ; exor with 1 - is it test 1 ?
    02c8 3800 2138 05fa a2d2         cjp cs10,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&ccen,tes01
                             ;               ; yes - jump to tes01
    02c9 e0ff 3978 057e 6002        cont cs00,ar17,br17,nonf,exor,rsda,cb,waw,bs3,bd0,doxx&alustat,2
                             ;               ; exor with 2 - is it test 2 ?
    02ca 3800 2138 05fa a2d4         cjp cs10,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&ccen,tes02
                             ;               ; yes - jump to tes02
    02cb e0ff 3978 057e 6003        cont cs00,ar17,br17,nonf,exor,rsda,cb,waw,bs3,bd0,doxx&alustat,3
                             ;               ; exor with 3 - is it test 3 ?
    02cc 3800 2138 05fa a2f1         cjp cs10,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&ccen,tes03
                             ;               ; yes - jump to tes03
    02cd e0ff 3978 057e 6004        cont cs00,ar17,br17,nonf,exor,rsda,cb,waw,bs3,bd0,doxx&alustat,4
                             ;               ; exor with 4 - is it test 4 ?
    02ce 3800 2138 05fa a306         cjp cs10,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&ccen,tes04
                             ;               ; yes - jump to test 4
    02cf e0ff 3978 057e 6005        cont cs00,ar17,br17,nonf,exor,rsda,cb,waw,bs3,bd0,doxx&alustat,5
                             ;               ; exor with 5 - is it test 5 ?
    02d0 3800 2138 05fa a316         cjp cs10,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&ccen,tes05
                             ;               ; yes - jump to tes05
    02d1 3000 2138 05fe a009          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,dupdat
                             ;               ; not used test number - jump to dupdat
\f

!0052 m3503
                             
                             
                             
                             ; rc3503 microprogram.
                             ; tes01.xmit 7.5 intr to 8085.
                             
    02d2 e000 2138 05fe 7406 tes01: cont cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs3,bd5,doxx,6
                             ;               ; send itr to 8085 (rst 7.5)
    02d3 3000 2138 05fe e275          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,tsrun
                             ;               ; clear cr f/f, jump to tsrun
                             
                             ; working address register test.
                             ; (addr):=addr.
                             ; if test=ok then (fi5)=0 else (fi5)<>0 and (fi3,fi4)=addr a
                             
    02d4 e0ee 61f8 05fe 63ff tes02: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi5
                             ;               ; fi5 addr to reg 16
    02d5 10ef 6138 05fe a226 ts020:   js cs00,ar16,br17,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; write addr on addr
    02d6 e0ee 6538 057e a000        cont cs00,ar16,br16,ldbf,sunz,rsoa,cb,waw,bs5,bd0,doxx&alustat,0
                             ;               ; decr. addr
    02d7 38ee 2138 0dfa a2d5         cjp cs10,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,ts020
                             ;               ; jump if addr<>0 to ts020
    02d8 10ef 6138 05fe a226          js cs00,ar16,br17,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; write in addr 0
    02d9 10ee 2138 05fe a229 ts021:   js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rwreg
                             ;               ; start check-read from addr 0
    02da e0ef 2a78 057e a000        cont cs00,ar16,br17,nonf,subo,rsab,cb,waw,bs5,bd0,doxx&alustat,0
                             ;               ; sub addr- read
    02db 38ee 2138 0dfa a2e2         cjp cs10,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,te02
                             ;               ; jump if result <>0 to te02
    02dc e0ee 6338 05fe a000        cont cs00,ar16,br16,ldbf,addo,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; incr addr
    02dd e0ee 2b78 057e 63ff        cont cs00,ar16,br16,nonf,subo,rsda,cb,waw,bs3,bd0,doxx&alustat,fi5
                             ;               ; is it last addr ?
    02de 38ee 2138 0dfa a2d9         cjp cs10,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,ts021
                             ;               ; jump if it isen't to ts021
    02df e0ee 61f8 05fe 63ff        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi5
                             ;               ; fi5 addr to reg 16
    02e0 10ff 7138 05fe a226          js cs00,ar17,br17,ldbf,ands,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; zero to fi5
    02e1 3000 2138 05fe e275          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,tsrun
                             ;               ; clear cr f/f, jump to tsrun
\f

!0053 m3503
                             
                             
                             
                             ; rc3503 microprogram.
                             ; working address register test. (cont.)
                             ; (addr):=addr.
                             ; if test=ok then (fi5)=0 else (fi5)<>0 and (fi3,fi4)=addr a
                             
    02e2 e0e3 6138 05fe a000 te02:  cont cs00,ar16,br03,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; save addr in reg 3
    02e3 e0f4 6138 05fe a000        cont cs00,ar17,br04,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; save read data in reg 4
    02e4 e0ee 61f8 05fe 63ff        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi5
                             ;               ; fi5 addr to reg 16
    02e5 10ef 6138 05fe a226          js cs00,ar16,br17,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; write "addr" into fi5 a value <>0
    02e6 e0ee 6538 05fe a000        cont cs00,ar16,br16,ldbf,sunz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; fi4 addr to reg 16
    02e7 103f 6138 05fe a226          js cs00,ar03,br17,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; write addr 8:15 into fi4
    02e8 e0ee 6538 05fe a000        cont cs00,ar16,br16,ldbf,sunz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; fi3 addr to reg 16
    02e9 e033 2138 05fe a000        cont cs00,ar03,br03,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; load swap reg
    02ea 10ff 61f8 05fe 2226          js cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs1,bd0,doxx,wwreg
                             ;               ; write addr 0:7 into fi3
    02eb e0ee 6538 05fe a000        cont cs00,ar16,br16,ldbf,sunz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; fi2 addr to reg 16
    02ec 104f 6138 05fe a226          js cs00,ar04,br17,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; write read 8:15 into fi2
    02ed e0ee 6538 05fe a000        cont cs00,ar16,br16,ldbf,sunz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; fi1 addr to reg 16
    02ee e044 2138 05fe a000        cont cs00,ar04,br04,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; load swap
    02ef 10ff 61f8 05fe 2226          js cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs1,bd0,doxx,wwreg
                             ;               ; write read 0:7 into fi1
    02f0 3000 2138 05fe e275          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,tsrun
                             ;               ; clear cr f/f, jump tsrun
\f

!0054 m3503
                             
                             
                             
                             ; rc3503 microprogram.
                             ; working register data test.
                             ; when called: (fi1,fi2)= data constant.
                             ; return:
                             ; if test=ok then (fi5)=0 else (fi5)<>0
                             ; and (fi3,fi4)=addr. and (fi1,fi2)=wanted data.
                             
    02f1 e0ee 61f8 05fe 63fc tes03: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi2
                             ;               ; fi2 addr to reg 16
    02f2 10ee 2138 05fe a244          js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,gword
                             ;               ; read fi1 and fi2, result in reg 16 (testpat)
    02f3 e0e7 6138 05fe a000        cont cs00,ar16,br07,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; save pattern in reg 7
    02f4 e0ee 7138 05fe a000        cont cs00,ar16,br16,ldbf,ands,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; zero to reg 16 (addr)
    02f5 e07f 6138 05fe a000        cont cs00,ar07,br17,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; pattern to reg 17
    02f6 10ee 2138 05fe a226 ts031:   js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; write pattern
    02f7 e0ff 6938 05fe a000        cont cs00,ar17,br17,ldbf,subz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; complement test pattern
    02f8 e0ee 6338 05fe a000        cont cs00,ar16,br16,ldbf,addo,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; incr. addr
    02f9 e0ee 2b78 057e 6400        cont cs00,ar16,br16,nonf,subo,rsda,cb,waw,bs3,bd0,doxx&alustat,fi5+1
                             ;               ; compare with max addr
    02fa 38ee 2138 0dfa a2f6         cjp cs10,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,ts031
                             ;               ; jump if not max to ts031
    02fb e0ee 7138 05fe a000        cont cs00,ar16,br16,ldbf,ands,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; zero to reg 16 
\f

!0055 m3503
                             
                             
                             
                             ; rc3503 microprogram.
                             ; working register data test. (cont.)
                             ; when called: (fi1,fi2)= data constant.
                             ; return:
                             ; if test=ok then (fi5)=0 else (fi5)<>0
                             ; and (fi3,fi4)=addr. and (fi1,fi2)=wanted data.
                             
    02fc 10ee 2138 05fe a229 ts032:   js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rwreg
                             ;               ; read value
    02fd e07f 2a78 057e a000        cont cs00,ar07,br17,nonf,subo,rsab,cb,waw,bs5,bd0,doxx&alustat,0
                             ;               ; is read = wanted ?
    02fe 387f 6138 0dfa a2e2         cjp cs10,ar07,br17,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,te02
                             ;               ; jump if it isen't to te02
    02ff e077 6938 05fe a000        cont cs00,ar07,br07,ldbf,subz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; complement wanted value
    0300 e0ee 6338 05fe a000        cont cs00,ar16,br16,ldbf,addo,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; incr. addr
    0301 e0ee 2b78 057e 6400        cont cs00,ar16,br16,nonf,subo,rsda,cb,waw,bs3,bd0,doxx&alustat,fi5+1
                             ;               ; compare with max addr
    0302 38ee 2138 0dfa a2fc         cjp cs10,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,ts032
                             ;               ; jump if not max to ts032
    0303 e0ee 61f8 05fe 63ff        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi5
                             ;               ; fi5 addr to reg 16
    0304 10ff 7138 05fe a226          js cs00,ar17,br17,ldbf,ands,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; zero to fi5 (test ok)
    0305 3000 2138 05fe e275          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,tsrun
                             ;               ; clear cr f/f, jump tsrun
\f

!0056 m3503
                             
                             
                             
                             ; rc3503 microprogram.
                             ; memory address register test.
                             ; call: (fi1,fi2)= modul no.
                             ; if test=ok then (fi5)=0 else (fi5)<>0
                             ; and (fi3,fi4)=addr and (fi1,fi2)=wanted data.
                             
    0306 e0ee 61f8 05fe 63fc tes04: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi2
                             ;               ; fi2 addr to reg 16
    0307 10ee 2138 05fe a244          js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,gword
                             ;               ; read fi1 and fi2, result in reg17 (modul number)
    0308 e0e7 6138 05fe a000        cont cs00,ar16,br07,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; save modul number in reg 7
    0309 e0ee 7138 05fe a000        cont cs00,ar16,br16,ldbf,ands,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; zero to reg 16 (addr)
    030a 10ef 6138 05fe a232 ts041:   js cs00,ar16,br17,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,dbwrite
                             ;               ; write addr on addr
    030b e0ae 6078 05fe a000        cont cs00,ar12,br16,ldbf,addz,rsab,cb,waw,bs5,bd0,doxx,0
                             ;               ; incr. addr
    030c e0ee 2138 057e a000        cont cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&alustat,0
                             ;               ; is offset = 0 (finish with module)
    030d 3800 2138 0dfa a30a         cjp cs10,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,ts041
                             ;               ; if not jump to ts041
    030e 10ee 2138 05fe a22c ts042:   js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,dbread
                             ;               ; read from mem. starting in cell 0
    030f e0ef 2a78 057e a000        cont cs00,ar16,br17,nonf,subo,rsab,cb,waw,bs5,bd0,doxx&alustat,0
                             ;               ; is read = wanted ?
    0310 38ee 2138 0dfa a2e2         cjp cs10,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,te02
                             ;               ; if not jump to te02 (error)
    0311 e0ae 6078 057e a000        cont cs00,ar12,br16,ldbf,addz,rsab,cb,waw,bs5,bd0,doxx&alustat,0
                             ;               ; incr. addr
    0312 38ee 2138 0dfa a30e         cjp cs10,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,ts042
                             ;               ; is offset = 0 (finish with module) if not jump to ts042
    0313 e0ee 61f8 05fe 63ff        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi5
                             ;               ; fi5 addr to reg 16
    0314 10ff 7138 05fe a226          js cs00,ar17,br17,ldbf,ands,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; write zero into fi5 (test ok)
    0315 30ee 2138 05fe e275          jp cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,tsrun
                             ;               ; clear cr f/f, jump to tsrun
\f

!0057 m3503
                             
                             
                             
                             ; rc3503 microprogram.
                             ; memory data test.
                             ; call: (fi1,fi2)=modul no. and (fi3,fi4)=data constant.
                             ; if test=ok then (fi5)=0 else (fi5)<>0
                             ; and (fi3,fi4)=addr and (fi1,fi2)=wanted data.
                             
    0316 e0ee 61f8 05fe 63fc tes05: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi2
                             ;               ; fi2 addr to reg 16
    0317 10ee 2138 05fe a244          js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,gword
                             ;               ; read fi1 and fi2, result in reg 16,(modul no.)
    0318 e0e7 6138 05fe a000        cont cs00,ar16,br07,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; save modul number in reg 7
    0319 e0ee 61f8 05fe 63fe        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi4
                             ;               ; fi4 addr to reg 16
    031a 10ee 2138 05fe a244          js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,gword
                             ;               ; read fi3 and fi4, result in reg 16, (testpattern)
    031b e0ed 6138 05fe a000        cont cs00,ar16,br15,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; save test pattern in reg 15
    031c e0ee 7138 05fe a000        cont cs00,ar16,br16,ldbf,ands,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; zero to reg 16 (addr)
    031d e0df 6138 05fe a000        cont cs00,ar15,br17,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; test pattern to reg 17
    031e 10ee 2138 05fe a232 ts051:   js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,dbwrite
                             ;               ; write pattern. (starting in cell 0)
    031f e0ae 6078 057e a000        cont cs00,ar12,br16,ldbf,addz,rsab,cb,waw,bs5,bd0,doxx&alustat,0
                             ;               ; incr. addr
    0320 e0ff 6938 05fe a000        cont cs00,ar17,br17,ldbf,subz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; complement test pattern
    0321 38ee 2138 0dfa a31e         cjp cs10,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,ts051
                             ;               ; is offset =0, if not jump to ts051
    0322 e0ee 7138 05fe a000        cont cs00,ar16,br16,ldbf,ands,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; zero to reg 16 (addr)
\f

!0058 m3503
                             
                             
                             
                             ; rc3503 microprogram.
                             ; memory data test. (cont.)
                             ; call: (fi1,fi2)=modul no. and (fi3,fi4)=data constant.
                             ; if test=ok then (fi5)=0 else (fi5)<>0
                             ; and (fi3,fi4)=addr and (fi1,fi2)=wanted data.
                             
    0323 10ee 2138 05fe a22c ts052:   js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,dbread
                             ;               ; read mem
    0324 e0fd 2a78 057e a000        cont cs00,ar17,br15,nonf,subo,rsab,cb,waw,bs5,bd0,doxx&alustat,0
                             ;               ; is read = wanted ?
    0325 38df 6138 0dfa a2e2         cjp cs10,ar15,br17,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,te02
                             ;               ; if not move wanted to reg 17 and jump to te02
    0326 e0dd 6938 05fe a000        cont cs00,ar15,br15,ldbf,subz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; complement test pattern
    0327 e0ae 6078 057e a000        cont cs00,ar12,br16,ldbf,addz,rsab,cb,waw,bs5,bd0,doxx&alustat,0
                             ;               ; is offset = 0?
    0328 38ee 2138 0dfa a323         cjp cs10,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,ts052
                             ;               ; if not jump ts052
    0329 e0ee 61f8 05fe 63ff        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi5
                             ;               ; fi5 addr to reg 16
    032a 10ff 7138 05fe a226          js cs00,ar17,br17,ldbf,ands,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; zero to fi5 (test ok)
    032b 30ee 2138 05fe e275          jp cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,tsrun
                             ;               ; clear cr f/f, jump tsrun
\f

!0059 m3503
                             
                             
                             
                             ; rc3503 microprogram.
                             ; routine to test that the level in cdi exist.
                             ; if level(cdi) exist then cdo<>0 else cdo=0
                             
    032c e0ee 61f8 05fe c000 tslev: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs6,bd0,doxx,0
                             ;               ; level under test to reg 16
    032d e0ee 7178 05fe 607f        cont cs00,ar16,br16,ldbf,ands,rsda,cb,waw,bs3,bd0,doxx,177
                             ;               ; mask for max 127 levels
    032e 10e3 6138 05fe a05f          js cs00,ar16,br03,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,sitrn
                             ;               ; set level, save level no in reg 3
    032f e000 2138 05ee a000 tsl03: cont cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&sextend,0
                             ;               ; send sync-itr puls
    0330 e000 2138 05fe 0000        cont cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs0,bd0,doxx,0
                             ;               ; dummy (delay)
    0331 e0ee 61f8 05fe 0000        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs0,bd0,doxx,0
                             ;               ; read inta answer to reg 16
    0332 e0e4 7d38 05fe a000         cont cs00,ar16,br04,ldbf,xnor,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; >:reg16 to reg4
    0333 e0e3 2a78 057e a000         cont cs00,ar16,br03,nonf,subo,rsab,cb,waw,bs5,bd0,doxx&alustat,0
                             ;               ; exist level ? (reg 16 = reg 3)
    0334 3800 2138 0dfa a337          cjp cs10,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,tsl02
                             ;               ; if not jump to tsl02
    0335 e000 2138 05fe 78ff         cont cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs3,bd6,doxx,377
                             ;               ; load cdo reg with *ff (level exist)
    0336 3000 2138 05fe e275           jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,tsrun
                             ;               ;clear cr f/f, jump to tsrun
    0337 e043 2078 057e a000 tsl02:  cont cs00,ar04,br03,nonf,addz,rsab,cb,waw,bs5,bd0,doxx&alustat,0
                             ;               ;is it a higher level ?
    0338 3b00 2138 0dfa a33b          cjp cs13,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,tsl01
                             ;               ;if yes jump to tsl01
    0339 e000 2138 05fe 7800         cont cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs3,bd6,doxx,0
                             ;               ; load cdo-reg with zero (level exist not)
    033a 3000 2138 05fe e275          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,tsrun
                             ;               ; clear cr f/f, jump to tsrun
    033b 10ee 2138 05fe a063 tsl01:   js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,citrn
                             ;               ; clear the higher level
    033c 30ee 2138 05fe a32f          jp cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,tsl03
                             ;               ; jump tsl03
\f

!0060 m3503
                             
                             
                             
                             ; rc3503 microprogram.
                             ; parity error routine.
                             ; (fi4,5)= module no.
                             ; (fi2,3)=address.
                             
                             
                             
    033d aae4 6138 0dfa a000 pxer1: crtn cs12,ar16,br04,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,0
                             
    033e e0ee 61f8 05fe 63ea        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fif
    033f 10ee 2138 05fe a226          js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
    0340 e0ee 61f8 05fe 63eb        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fie
    0341 10ee 2138 05fe a229          js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rwreg
    0342 e0ff 3078 057e a000        cont cs00,ar17,br17,nonf,ands,rsab,cb,waw,bs5,bd0,doxx&alustat,0
    0343 3800 2138 0dfa a350         cjp cs10,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,pxer2
    0344 e0ee 61f8 05fe 63ee        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fib
                             ;               ; addr fi5 to reg 16
    0345 10ff 7138 05fe a226          js cs00,ar17,br17,ldbf,ands,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; zero to reg 17, write zero into fi5
    0346 e0ee 61f8 05fe 63ef        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fia
                             ;               ; addr fi4 to reg 16
    0347 10ff 7138 05fe a226          js cs00,ar17,br17,ldbf,ands,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; zero to reg 17, write zero into fi4
    0348 e0ee 61f8 05fe 63ec        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fid
                             ;               ; addr fi3 to reg 16
    0349 104f 6138 05fe a226          js cs00,ar04,br17,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
                             ;               ; mem addr 8:15 to reg 17, write it into fi3
    034a e0ee 61f8 05fe 63ed        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fic
                             ;               ; addr fi2 to reg 16
    034b e04f 6138 05fe a000        cont cs00,ar04,br17,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; mem addr 0:7 to reg 17
    034c 10ff 61f8 05fe 2226          js cs00,ar17,br17,ldbf,addz,rsdo,cb,waw,bs1,bd0,doxx,wwreg
                             ;               ; swap reg 17, mem addr 0:7 into fi2
                             
    034d e0ee 61f8 05fe 63eb        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fie
    034e 102f 6138 05fe a226          js cs00,ar02,br17,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
    034f e000 2138 05fe 7406        cont cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs3,bd5,doxx,6
                             ;               ; send itr to 8085
                             
    0350 e0ee 61f8 05fe 63ea pxer2:  cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fif
    0351 10ee 2138 05fe a229           js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rwreg
    0352 a04e 6138 05fe a000                rtn cs00,ar04,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             
\f

!0061 m3503
                             ; rc3503 microprogram.
                             ; parity error routine.
                             ; (fi4,5)= module no.
                             ; (fi2,3)= address.
                             
    0353 e0ee 61f8 05fe 63ef wrreq: cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fia
    0354 10ee 2138 05fe a229            js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rwreg
    0355 e0ee 61f8 05fe 63fe          cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi4
    0356 10ee 2138 05fe a226            js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
    0357 e0ee 61f8 05fe 63ee          cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fib
    0358 10ee 2138 05fe a229            js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rwreg
    0359 e0ee 61f8 05fe 63ff          cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi5
    035a 10ee 2138 05fe a226           js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
    035b e0ee 61f8 05fe 63ed        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fic
    035c 10ee 2138 05fe a229           js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rwreg
    035d e0ee 61f8 05fe 63fc          cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi2
    035e 10ee 2138 05fe a226           js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
    035f e0ee 61f8 05fe 63ec          cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fid
    0360 10ee 2138 05fe a229            js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rwreg
    0361 e0ee 61f8 05fe 63fd           cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fi3
    0362 10ee 2138 05fe a226            js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,wwreg
    0363 e0ee 61f8 05fe 63eb           cont cs00,ar16,br16,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,fie
    0364 10ee 2138 05fe a229             js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rwreg
    0365 e0f2 6138 05fe a000           cont cs00,ar17,br02,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             
    0366 10ff 7138 05fe a226        js cs00,ar17,br17,ldbf,ands,rsoa,cb,waw,bs5,bd0,doxx,wwreg
    0367 e022 e138 05fe a000        cont cs00,ar02,br02,lblf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; shift reg 2 < 1 parity error info
    0368 e022 7178 05fe 6006        cont cs00,ar02,br02,ldbf,ands,rsda,cb,waw,bs3,bd0,doxx,6
                             ;               ; mask with 6
    0369 e022 6178 05fe 6041        cont cs00,ar02,br02,ldbf,addz,rsda,cb,waw,bs3,bd0,doxx,perro
                             ;               ; add parity base command
    036a e022 2138 05fe b800        cont cs00,ar02,br02,nonf,addz,rsoa,cb,waw,bs5,bd6,doxx,0
                             ;               ; load cdo reg with parity information
    036b e000 2138 05fe e000        cont cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,0
                             ;               ; clear cr f/f
    036c 3000 2138 05fe a009          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,dupdat
                             ;               ; jump dupdat
\f

!0062 m3503
    036d 3877 232a 0dfa a370 xrbb:   cjp cs10,ar07,br07,nonf,addo,rsoa,cl,wax,bs5,bd0,(doxx+nccen),pupdat
    036e e070 2778 057e 4000        cont cs00,ar07,br00,nonf,suno,rsda,cb,waw,bs2,bd0,(xdox&alustat),0
    036f 3800 2138 0dfa a1f0         cjp cs10,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx+nccen,bupdat
    0370 101e 6138 05fe a05f pupdat:  js cs00,ar01,br16,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,sitrn
    0371 3000 2138 05fe a1f2          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,eupdat
                             
    0372 1000 2138 05fe a33d pxerf:   js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,pxer1
    0373 3000 2138 05fe a024          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,fetrd
                             
                             ; instruction to transfer a word
                             ; from memory with module select m(s) to memory module select m(d)
                             ; before execution of this instruction the following working
                             ; registers had to be set.
                             ; ac1(0:7) source module select;ac1(8:15) destinatin module select.
                             ; ac2 source address.
                             ; ac3 destination address.
    0374 e077 61fc 05fe 4001 msetc: cont cs00,ar07,br07,ldbf,addz,rsdo,cb,wap,bs2,bd0,xdox,1
    0375 e077 61f8 05fe 2000        cont cs00,ar07,br07,ldbf,addz,rsdo,cb,waw,bs1,bd0,doxx,0
    0376 e0ee 61fc 05fe 4002        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,wap,bs2,bd0,xdox,2
    0377 10ee 2138 05fe a22c          js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,dbread
    0378 e077 61fc 05fe 4001        cont cs00,ar07,br07,ldbf,addz,rsdo,cb,wap,bs2,bd0,xdox,1
    0379 e0ee 61fc 05fe 4003        cont cs00,ar16,br16,ldbf,addz,rsdo,cb,wap,bs2,bd0,xdox,3
    037a 10ee 2138 05fe a232          js cs00,ar16,br16,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,dbwrite
    037b 3000 2138 05fe a1ed          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,nupdat
\f

!0063 m3503
                             
                             ; rc3503 microprogram.
                             ; fetch routine .
    037c e0dd 61f8 05fe 7d78 pfetch: cont cs00,ar15,br15,ldbf,addz,rsdo,cb,waw,bs3,bd7,doxx,128.+370
    037d e011 61f8 05fe 601f       cont cs00,ar01,br01,ldbf,addz,rsdo,cb,waw,bs3,bd0,doxx,37
    037e e006 61f8 05fe 7404     cont cs00,ar00,br06,ldbf,addz,rsdo,cb,waw,bs3,bd5,doxx,4
    037f 3000 2138 05ee a3ec         jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx&sextend,fetch
\f

!0064 m3503
                             
                             
                             
                             ; rc3503 micro program
                             ; condition vector map.
                                     .floc   4*1600
                             
    0380 3000 42e4 05fe a1ed vec30:   jp cs00,ar00,br00,ldba,addo,rsob,cr,wap,bs5,bd0,doxx,nupdat
    0381 e000 202c 05fe d400        cont cs00,ar00,br00,nonf,addz,rsaq,cl,wap,bs6,bd5,doxx,0
    0382 e006 61e4 05fe 7404 vec31: cont cs00,ar00,br06,ldbf,addz,rsdo,cr,wap,bs3,bd5,doxx,4
    0383 3000 61e7 05fe 41ee          jp cs00,ar00,br00,ldbf,addz,rsdo,cr,war,bs2,bd0,xdox,qupdat
    0384 e006 61e4 05fe 7405 vec32: cont cs00,ar00,br06,ldbf,addz,rsdo,cr,wap,bs3,bd5,doxx,5
    0385 3000 61e7 05fe 41ee          jp cs00,ar00,br00,ldbf,addz,rsdo,cr,war,bs2,bd0,xdox,qupdat
    0386 103e 6124 05fe a05f vec33:   js cs00,ar03,br16,ldbf,addz,rsoa,cr,wap,bs5,bd0,doxx,sitrn
    0387 3000 61e7 05fe 41ee          jp cs00,ar00,br00,ldbf,addz,rsdo,cr,war,bs2,bd0,xdox,qupdat
                             
    0388 9077 a0e0 05be a388 vec40: rpct cs00,ar07,br07,lbrf,addz,rsob,cr,waw,bs5,bd0,doxx&ucarry,vec40
    0389 3074 6128 05fe a9ed          jp cs00,ar07,br04,ldbf,addz,rsoa,cl,waw,bs5,bd2,xdox,nupdat
    038a 9077 a0e0 05be a38a rr01:  rpct cs00,ar07,br07,lbrf,addz,rsob,cr,waw,bs5,bd0,doxx&ucarry,rr01
    038b 3074 6128 05fe a9ed          jp cs00,ar07,br04,ldbf,addz,rsoa,cl,waw,bs5,bd2,xdox,nupdat
    038c 9077 a0e0 05fe a38c rr02:  rpct cs00,ar07,br07,lbrf,addz,rsob,cr,waw,bs5,bd0,doxx,rr02
    038d 3074 6128 05fe a9ed          jp cs00,ar07,br04,ldbf,addz,rsoa,cl,waw,bs5,bd2,xdox,nupdat
    038e 9077 a0e0 05be a38e rr03:  rpct cs00,ar07,br07,lbrf,addz,rsob,cr,waw,bs5,bd0,doxx&ucarry,rr03
    038f 3074 6128 05fe a9ed          jp cs00,ar07,br04,ldbf,addz,rsoa,cl,waw,bs5,bd2,xdox,nupdat
                             
\f

!0065 m3503
                             
                             
                             
                             ; rc3503 microprogram
                             ; this routine controls the enable/disable interrupt
                             ; flag in accordance to the value of ir(9:10).
                             ; ir(9:10)= 00 do nothing
                             ; ir(9:10)= 01 enable interrupt system
                             ; ir(9:10)= 10 disable interrupt system
                             ; ir(9:10)= 11 set level specified by q(11:15).
                             
    0390 3000 61e7 05fe 41ee upitr:   jp cs00,ar00,br00,ldbf,addz,rsdo,cr,war,bs2,bd0,xdox,qupdat
                             ;               ; jump vec30
    0391 3000 2138 05fe a382          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,vec31
                             ;               ; jump vec31
    0392 3000 2138 05fe a384          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,vec32
                             ;               ; jump vec32
    0393 3000 2138 05fe a386          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,vec33
                             ;               ; jump vec 33
                             
                             ; routine to shift right b01 the number of times
                             ; specified in the n-counter (am2910).
                             ; the specified operation is controlled by ir(9:10)
                             ; ir(9:10)= 00 rotate right
                             ; ir(9:10)= 01 logical shift right
                             ; ir(9:10)= 10 no carry shift right
                             ; ir(9:10)= 11 arithmetic shift right
                             
    0394 3000 2138 05fe a388 rright:  jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,vec40
                             ;               ; jump vec 40
    0395 3000 2138 05fe a38a          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rr01
                             ;               ; jump rr01
    0396 3000 2138 05fe a38c          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rr02
                             ;               ; jump rr02
    0397 3000 2138 05fe a38e          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rr03
                             ;               ; jump rr03
\f

!0066 m3503
                             
                             
                             
                             ; rc3503 microprogram
                             ; routine to shift left b01 the number of times
                             ; specified in the n-counter.
                             ; called by jump vector "rleft".
                             ; the specified operation is controlled by ir(9:10).
                             ; ir(9:10)= 00 rotate left.
                             ; ir(9:10)= 01 logical shift left.
                             ; ir(9:10)= 10 no carry shift left.
                             ; ir(9:10)= 11 dummy.
                             
    0398 9077 e0e8 05be a398 vec21: rpct cs00,ar07,br07,lblf,addz,rsob,cl,waw,bs5,bd0,doxx&ucarry,vec21
                             ;               ; ir(9:10)=00. b07:=b07 shift left n-times.
    0399 3074 6128 05fe a9ed          jp cs00,ar07,br04,ldbf,addz,rsoa,cl,waw,bs5,bd2,xdox,nupdat
                             ;               ; b07---> w(current level).
    039a 9077 e0e8 05be a39a rl01:  rpct cs00,ar07,br07,lblf,addz,rsob,cl,waw,bs5,bd0,doxx&ucarry,rl01
                             ;               ; ir(9:10)=01. b07:=b07 shift left n-times.
    039b 3074 6128 05fe a9ed          jp cs00,ar07,br04,ldbf,addz,rsoa,cl,waw,bs5,bd2,xdox,nupdat
                             ;               ; b07---> w(current level).
    039c 9077 e0e8 05fe a39c rl02:  rpct cs00,ar07,br07,lblf,addz,rsob,cl,waw,bs5,bd0,doxx,rl02
                             ;               ; ir(9:10)=10. b07:=b07 shift left n-times.
    039d 3074 6128 05fe a9ed          jp cs00,ar07,br04,ldbf,addz,rsoa,cl,waw,bs5,bd2,xdox,nupdat
                             ;               ; b07---> w(current level).
    039e 3000 20e4 05fe a202 updw0:   jp cs00,ar00,br00,nonf,addz,rsob,cr,wap,bs5,bd0,doxx,vupdat
                             ;               ; ir(9:10)=11. b0---> w0(current level).
    039f e0ff 3fff f5ff 03ff         nop
                             
    03a0 3000 2138 05fe a398 rleft:   jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,vec21
                             ;               ; jump vec21
    03a1 3000 2138 05fe a39a          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rl01
                             ;               ; jump rl01
    03a2 3000 2138 05fe a39c          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rl02
                             ;               ; jump rl02
    03a3 3000 2138 05fe a39e          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,updw0
                             ;               ; jump updw0
                             
\f

!0067 m3503
                             
                             
                             
                             ; rc3503 microprogram.
                             ; debug routine.
                             ; condition vector map,depending upon cs(0:1).
                             ; cs(0:1)= 11   goto grup3
                             ; cs(0:1)= 10   goto grup2
                             ; cs(0:1)= 01   goto grup1
                             ; cs(0:1)= 00   goto grup0.
                             
    03a4 6500 2138 05fe a3c8 dmap:   jv cs05,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,grup0
                             ;               ; jump grup0
    03a5 6500 2138 05fe a3e0         jv cs05,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,grup1
                             ;               ; jump grup1
    03a6 6500 2138 05fe a3bc         jv cs05,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,grup2
                             ;               ; jump grup2
    03a7 6500 2138 05fe a3b8         jv cs05,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,grup3
                             ;               ; jump grup3
\f

!0068 m3503
                             
                             ; rc3503 microprogram.
    03a8 3000 2138 05fe e275 vec13:     jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,tsrun
                             ;               ; clear cr f/f, jump tsrun
    03a9 e0ff 3fff f5ff 03ff           nop
    03aa 1000 2138 05fe a24a vec14:     js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,getm
                             ;               ; load fifo with wanted word
    03ab 3000 2138 05fe e275            jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,tsrun
                             ;               ; clear cr f/f, jump tsrun
    03ac 1000 2138 05fe a273 vec15:     js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,getl
                             ;               ; load current level into cdo reg
    03ad 3000 2138 05fe e275            jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,tsrun
                             ;               ; clear cr f/f, jump tsrun
    03ae 1000 2138 05fe a25c vec16:     js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,getr
                             ;               ; load fifo with wanted w-reg contents
    03af 3000 2138 05fe e275            jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,tsrun
                             ;               ; clear cr f/f, jump tsrun
                             
    03b0 1000 2138 05fe e26a vec17:     js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,rdadr
    03b1 3000 2138 05fe a275            jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,tsrun
    03b2 1000 2138 05fe a252 vec18:     js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,putm
                             ;               ; write into mem cell in question
    03b3 3000 2138 05fe e009            jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,dupdat
                             ;               ; clear cr f/f, jump dupdat
    03b4 3000 2138 05fe e000 vec19:     jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,init
                             ;               ; clear cr f/f, jump init
    03b5 e0ff 3fff f5ff 03ff           nop
    03b6 1000 2138 05fe a261 vec20:     js cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,putr
                             ;               ; write into w-reg in question
    03b7 3000 2138 05fe e009            jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,dupdat
                             ;               ; clear cr f/f, jump dupdat
                             
\f

!0069 m3503
                             
                             
                             
                             ; rc3503 microprogram
                             ; grup3 vector jump (test af cs(2:3))
                             ; cs(2:3)= 00   
                             ; cs(2:3)= 01   get memory (getm).
                             ; cs(2:3)= 10   get level (getl).
                             ; cs(2:3)= 11   get register (getr).
                             
    03b8 3000 2138 05fe a353 grup3:   jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,wrreq
                             ;               ; jump vec13
    03b9 3000 2138 05fe a3aa          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,vec14
                             ;               ; jump vec14
    03ba 3000 2138 05fe a3ac          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,vec15
                             ;               ; jump vec15
    03bb 3000 2138 05fe a3ae          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,vec16
                             ;               ; jump vec16
                             
                             ; grup2 vector jump (test af cs(2:3)).
                             ; cs(2:3)= 00   read address (rdadr).
                             ; cs(2:3)= 01   put memory (putm).
                             ; cs(2:3)= 10   autoload (init).
                             ; cs(2:3)= 11   put register (putr).
                             
    03bc 3000 2138 05fe a3b0 grup2:   jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,vec17
                             ;               ; jump vec17
    03bd 3000 2138 05fe a3b2          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,vec18
                             ;               ; jump vec18
    03be 3000 2138 05fe a3b4          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,vec19
                             ;               ; jump vec19
    03bf 3000 2138 05fe a3b6          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,vec20
                             ;               ; jump vec20
\f

!0070 m3503
                             ; rc3503 microprogram.
                             
    03c0 3000 2138 05fe a268 vec05:   jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,rdat
                             ;               ; jump rdat
    03c1 e0ff 3fff f5ff 03ff         nop
    03c2 3000 2138 05fe e00d vec06:   jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,fetcd
                             ;               ; clear cr f/f, jump fetcd
    03c3 e0ff 3fff f5ff 03ff         nop
    03c4 3000 2138 05fe a277 vec07:   jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,gloff
                             ;               ; jump gloff
    03c5 e0ff 3fff f5ff 03ff         nop
    03c6 3000 2138 05fe e009 vec08:   jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,dupdat
                             ;               ; clear cr f/f, jump dupdat
    03c7 e0ff 3fff f5ff 03ff         nop
                             
                             
                             ; grup0. vector jump (test af cs(2:3)).
                             ; cs(2:3)= 00   read data (rdat).
                             ; cs(2:3)= 01   exec next instruction (fetcd).
                             ; cs(2:3)= 10   dummy
                             ; cs(2:3)= 11   dummy
                             
    03c8 3000 2138 05fe a3c0 grup0:   jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,vec05
                             ;               ; jump vec05
    03c9 3000 2138 05fe a3c2          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,vec06
                             ;               ; jump vec06
    03ca 3000 2138 05fe a3c4          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,vec07
                             ;               ; jump vec07
    03cb 3000 2138 05fe a3c6          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,vec08
                             ;               ; jump vec08
                             
\f

!0071 m3503
                             
                             
                             
                             ; rc3503 microprogram
                             ; map45. jump vector cs(4:5).
                             ; cs(4:5)= 00   set timer and console level (settc).
                             ; cs(4:5)= 01   set timer level (sett).
                             ; cs(4:5)= 10   set console level (setc).
                             ; cs(4:5)= 11   jump vector dmap.
                             
    03cc 3000 2138 05fe a293 map45:   jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,seti
                             ;               ; jump seti
    03cd 3000 2138 05fe a28c          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,sett
                             ;               ; jump sett
    03ce 3000 2138 05fe a291          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,seto
                             ;               ; jump seto
    03cf 6400 2138 05fe a3a4          jv cs04,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,dmap
                             ;               ; jump dmap (debug map)
                             
                             ; parity error test for read byte.
                             ; left parity is don't care
                             ; 00 parity ok
                             ; 01 error
                             ; 10 parity ok
                             ; 11 error
                             
    03d0 a000 2138 05fe a000 bypar: rtn cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; return no error
    03d1 3000 2138 05fe a33d         jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,pxer1
                             ;               ; jump to error routine
    03d2 a000 2138 05fe a000        rtn cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
                             ;               ; return no error
    03d3 3000 2138 05fe a33d         jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,pxer1
                             ;               ; jump to error routine
\f

!0072 m3503
                             
                             ; rc3503 microprogram.
                             ; vector table to test parity for bop format a.
                             ; 00 odd+odd    continue
                             ; 01 even+odd   branch
                             ; 10 odd+even   branch
                             ; 11 even+even  continue
                             
    03d4 30a0 6064 05ee abec xpeven:  jp cs00,ar12,br00,ldbf,addz,rsab,cr,wap,bs5,bd2,xdox&sextend,fetch
    03d5 3000 2138 05fe a16b          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,xbopa
    03d6 3000 2138 05fe a16b          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,xbopa
    03d7 30a0 6064 05ee abec          jp cs00,ar12,br00,ldbf,addz,rsab,cr,wap,bs5,bd2,xdox&sextend,fetch
                             
                             
                             
                             ; rc3503 microprogram.
                             ; vector table to test parity.
                             ; 00 odd+odd  --> even; continue.
                             ; 01 even+odd --> odd ; branch.
                             ; 10 odd+even --> odd ; branch.
                             ; 11 even+even--> even; continue.
                             
    03d8 3000 2138 05fe a172 peven: jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,bopc
                             ;               ; jump bopc
    03d9 3000 2138 05fe a118        jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,carg1
                             ;               ; jump carg1
    03da 3000 2138 05fe a118        jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,carg1
                             ;               ; jump carg1
    03db 3000 2138 05fe a172        jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,bopc
                             ;               ; jump bopc
                             
                             ; vector table to test cs(0:1).
                             ; 00    jump    gloff
                             ; 01    jump    tsrun
                             ; 10    jump    init
                             ; 11    jump    tsrun
    03dc 3000 2138 05fe a277 xgl00:   jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,gloff
                             ;               ; jump gloff
    03dd 3000 2138 05fe a275          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,tsrun
                             ;               ; jump tsrun
    03de 3000 2138 05fe a000          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,init
                             ;               ; jump init
    03df 3000 2138 05fe a275          jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,tsrun
                             ;               ; jump tsrun
                             
\f

!0073 m3503
                             
                             
                             
                             ; rc3503 microprogram
                             ; vector table grup1. test of cs(2:3).
                             ; cs(2:3)= 00 dummy (return to test run f/f)
                             ;          01 dummy (return to test run f/f)
                             ;          10 level exist test
                             ;          11 tscom
                             
    03e0 3000 2138 05fe e275 grup1: jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,tsrun
                             ;               ; clear cr f/f , jump tsrun
    03e1 3000 2138 05fe e275        jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs7,bd0,doxx,tsrun
                             ;               ; clear cr f/f , jump tsrun
    03e2 3000 2138 05fe a32c        jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,tslev
                             ;               ; jump tslev
    03e3 3000 2138 05fe a2c4        jp cs00,ar00,br00,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,tscom
                             ;               ; jump tscom
                             
                             ; vector table to test parity.
                             ; 00 ac2=ac2    no parity error
                             ; 01 ac2=1      right parity error
                             ; 10 ac2=2      left parity error
                             ; 11 ac2=0      left/right parity error
                             
    03e4 20a0 6067 05fe a800 sparf: jmap cs00,ar12,br00,ldbf,addz,rsab,cr,war,bs5,bd2,xdox,0
                             ;               ; return no parity error
    03e5 3022 6338 05fe a372         jp cs00,ar02,br02,ldbf,addo,rsoa,cb,waw,bs5,bd0,doxx,pxerf
                             ;               ; 1 to reg 2
    03e6 30a2 6138 05fe a372         jp cs00,ar12,br02,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,pxerf
                             ;               ; 2 to reg 2
    03e7 30a2 6278 05fe a372         jp cs00,ar12,br02,ldbf,addo,rsab,cb,waw,bs5,bd0,doxx,pxerf
                             ;               ; 3 to reg 2
                             
    03e8 a022 2138 05fe a000 sparw: rtn cs00,ar02,br02,nonf,addz,rsoa,cb,waw,bs5,bd0,doxx,0
    03e9 3022 6338 05fe a33d         jp cs00,ar02,br02,ldbf,addo,rsoa,cb,waw,bs5,bd0,doxx,pxer1
    03ea 30a2 6138 05fe a33d         jp cs00,ar12,br02,ldbf,addz,rsoa,cb,waw,bs5,bd0,doxx,pxer1
    03eb 30a2 6278 05fe a33d         jp cs00,ar12,br02,ldbf,addo,rsab,cb,waw,bs5,bd0,doxx,pxer1
                             
\f

!0074 m3503
                             
                             ; rc3503 microprogram.
    03ec 3e6b 3078 0d7a 0008 fetch: cjp cs16,ar06,br13,nonf,ands,rsab,cb,waw,bs0,bd0,(doxx+nccen)&alustat,debug
    03ed 3811 2b78 0d7a 03f2 fetca: cjp cs10,ar01,br01,nonf,subo,rsda,cb,waw,bs0,bd0,(doxx+nccen)&alustat,disab
    03ee 3800 2138 05fa 03f2        cjp cs10,ar00,br00,nonf,addz,rsoa,cb,waw,bs0,bd0,doxx&ccen,disab
    03ef e0c1 61f8 05fe 1c00       cont cs00,ar14,br01,ldbf,addz,rsdo,cb,waw,bs0,bd7,doxx,0
    03f0 e0dd 61ff 05fe 4000       cont cs00,ar15,br15,ldbf,addz,rsdo,cb,war,bs2,bd0,xdox,0
    03f1 e0dd 2138 05fe bc00       cont cs00,ar15,br15,nonf,addz,rsoa,cb,waw,bs5,bd7,doxx,0
    03f2 e000 61ff 05be 4000 disab: cont cs00,ar00,br00,ldbf,addz,rsdo,cb,war,bs2,bd0,xdox&ucarry,0
    03f3 e000 2118 05fe 64c0       cont cs00,ar00,br00,nonf,addz,rsoa,xcb,waw,bs3,bd1,doxx,300
    03f4 e00e 6108 05fc b000       cont cs00,ar00,br16,ldbf,addz,rsoa,xcl,waw,bs5,bd4,doxx&forread,0
    03f5 e0ff 01df 076e 8000       cont cs00,ar17,br17,ldqf,addz,rsdo,xcb,war,bs4,bd0,tack&alustat&sextend,0
    03f6 6362 5138 05fe b7e4         jv cs03,ar06,br02,ldba,ands,rsoa,cb,waw,bs5,bd5,doxx,sparf
\f

!0075 m3503
                             
                                     .floc   4*4000
                             ; table pro layout.
                             ; ic23,25.
                             ; address calculation jump table.escape=0.
    0800 0000 0000 0000 0026         radr.   fax0,24.   
    0818 0000 0000 0001 0098         adr.    rxc     ; read status/word.
    0819 0000 0000 0001 0083         adr.    wxcx0   ; write control/word.
    081a 0000 0000 0000 0057         adr.    ild     ; interlevel load.
    081b 0000 0000 0000 004f         adr.    ist     ; interlevel store.
    081c 0000 0000 0000 0010         adr.    shiti   ; shift/rotate,x=0.
    081d 0000 0000 0001 00eb         adr.    update          ; dummy.
    081e 0000 0000 0000 0044         adr.    bx001   ; format b,x=0,i=0.
    081f 0000 0000 0000 0034         adr.    cx001   ; format c,x=0,i=0.
    0820 0000 0000 0000 0026         radr.   fax0,24.        ; format a,x=0.
    0838 0000 0000 0001 009f         adr.    rbx     ; read block of bytes/word.
    0839 0000 0000 0001 0091         adr.    wbxx    ; write block of bytes/word.
    083a 0000 0000 0000 0057         adr.    ild     ; interlevel load.
    083b 0000 0000 0000 004f         adr.    ist     ; interlevel store.
    083c 0000 0000 0000 0010         adr.    shiti   ; shift/rotate,x=0.
    083d 0000 0000 0001 00eb         adr.    update          ; dummy.
    083e 0000 0000 0000 0042         adr.    bx0i1   ; format b,x=0,i=1.
    083f 0000 0000 0000 0039         adr.    cx0i1   ; format c,x=0,i=1.
    0840 0000 0000 0000 0028         radr.   faxn,24.        ; format a,x<>0.
    0858 0000 0000 0001 0098         adr.    rxc     ; read status/word.
    0859 0000 0000 0001 008a         adr.    wxcxn   ; write control/word,x<>0.
    085a 0000 0000 0000 0057         adr.    ild     ; interlevel load.
    085b 0000 0000 0000 004f         adr.    ist     ; interlevel store.
    085c 0000 0000 0000 0019         adr.    shitx   ; shift/rotate,x<>0.
    085d 0000 0000 0001 00eb         adr.    update          ; dummy.
    085e 0000 0000 0000 003d         adr.    bxn01   ; format b,x<>0,i=0.
    085f 0000 0000 0000 002b         adr.    cxn01   ; format c,x<>0,i=0.
    0860 0000 0000 0000 0028         radr.   faxn,24.        ; format a,x<>0.
    0878 0000 0000 0001 009f         adr.    rbx     ; read block of bytes/word.
    0879 0000 0000 0001 0091         adr.    wbxx    ; write block of bytes/word.
    087a 0000 0000 0000 0057         adr.    ild     ; interlevel load.
    087b 0000 0000 0000 004f         adr.    ist     ; interlevel store.
    087c 0000 0000 0000 0019         adr.    shitx   ; shift/rotate,x<>0.
    087d 0000 0000 0001 00eb         adr.    update          ; dummy.
    087e 0000 0000 0000 0040         adr.    bxni1   ; format b,x<>0,i=1.
    087f 0000 0000 0000 0030         adr.    cxni1   ; format c,x<>0,i=1.
\f

!0076 m3503
                             
                             ; address calculation map cont'd.
                             
    0880 0000 0000 0000 0028         radr.   faxn,24.        ; format a,x<>0.
    0898 0000 0000 0001 0098         adr.    rxc     ; read status/word.
    0899 0000 0000 0001 008a         adr.    wxcxn   ; write control/word,x<>0.
    089a 0000 0000 0000 0057         adr.    ild     ; interlevel load.
    089b 0000 0000 0000 004f         adr.    ist     ; interlevel store.
    089c 0000 0000 0000 0019         adr.    shitx   ; shift/rotate,x<>0.
    089d 0000 0000 0001 00eb         adr.    update          ; dummy.
    089e 0000 0000 0000 003d         adr.    bxn01   ; format b,x<>0,i=0.
    089f 0000 0000 0000 002b         adr.    cxn01   ; format c,x<>0,i=0.
    08a0 0000 0000 0000 0028         radr.   faxn,24.        ; format a,x<>0.
    08b8 0000 0000 0001 009f         adr.    rbx     ; read block of bytes/word.
    08b9 0000 0000 0001 0091         adr.    wbxx    ; write block of bytes/word.
    08ba 0000 0000 0000 0057         adr.    ild     ; interlevel load.
    08bb 0000 0000 0000 004f         adr.    ist     ; interlevel store.
    08bc 0000 0000 0000 0019         adr.    shitx   ; shift/rotate,x<>0.
    08bd 0000 0000 0001 00eb         adr.    update          ; dummy.
    08be 0000 0000 0000 0040         adr.    bxni1   ; format b,x<>0,i=1.
    08bf 0000 0000 0000 0030         adr.    cxni1   ; format c,x<>0,i=1.
    08c0 0000 0000 0000 0028         radr.   faxn,24.        ; format a,x<>0.
    08d8 0000 0000 0001 0098         adr.    rxc     ; read status/word.
    08d9 0000 0000 0001 008a         adr.    wxcxn   ; write control/word,x<>0.
    08da 0000 0000 0000 0057         adr.    ild     ; interlevel load.
    08db 0000 0000 0000 004f         adr.    ist     ; interlevel store.
    08dc 0000 0000 0000 0019         adr.    shitx   ; shift/rotate,x<>0.
    08dd 0000 0000 0001 00eb         adr.    update          ; dummy.
    08de 0000 0000 0000 003d         adr.    bxn01   ; format b,x<>0,i=0.
    08df 0000 0000 0000 002b         adr.    cxn01   ; format c,x<>0,i=0.
    08e0 0000 0000 0000 0028         radr.   faxn,24.        ; format a,x<>0.
    08f8 0000 0000 0001 009f         adr.    rbx     ; read block of bytes/word.
    08f9 0000 0000 0001 0091         adr.    wbxx    ; write block of bytes/word.
    08fa 0000 0000 0000 0057         adr.    ild     ; interlevel load.
    08fb 0000 0000 0000 004f         adr.    ist     ; interlevel store.
    08fc 0000 0000 0000 0019         adr.    shitx   ; shift/rotate,x<>0.
    08fd 0000 0000 0001 00eb         adr.    update          ; dummy.
    08fe 0000 0000 0000 0040         adr.    bxni1   ; format b,x<>0,i=1.
    08ff 0000 0000 0000 0030         adr.    cxni1   ; format c,x<>0,i=1.
\f

!0077 m3503
                             
                             ; format a instruction jump map. escape=1.
                             ; ic 23,25.
    0900 0000 0000 0000 0069         adr.    ldr1    ; ldr. load register.
    0901 0000 0000 0000 0075         adr.    ldc1    ; ldc. load complement.
    0902 0000 0000 0000 007f         adr.    ldi1    ; ldi. load indirect.
    0903 0000 0000 0000 0089         adr.    str1    ; str. store register.
    0904 0000 0000 0000 0097         adr.    sti1    ; sti.  store indirect.
    0905 0000 0000 0000 00a2         adr.    xsrai   ; xsr. exchange store and register.
    0906 0000 0000 0000 00b2         adr.    lba     ; ldb. load byte.
    0907 0000 0000 0000 00c4         adr.    stba    ; stb. store byte.
    0908 0000 0000 0000 00cf         adr.    adda    ; add. add integer word.
    0909 0000 0000 0000 00d9         adr.    suba    ; sub. subtract.
    090a 0000 0000 0000 00e0         adr.    anda    ; and. logical and.
    090b 0000 0000 0000 00e7         adr.    lora    ; logical or.
    090c 0000 0000 0000 00ee         adr.    xora    ; xor. exlusive or.
    090d 0000 0000 0000 00f5         adr.    lce1    ; lce.  load clear enable.
    090e 0000 0000 0002 000b         adr.    mseta   ; dummy.
    090f 0000 0000 0001 0002         adr.    rsw1    ; rsw. read switches.
    0910 0000 0000 0001 001d         adr.    bgwa    ; bgw. branch if greater.
    0911 0000 0000 0001 0027         adr.    bewa    ; bew. branch if equal.
    0912 0000 0000 0001 0034         adr.    blwa    ; blw. branch if less.
    0913 0000 0000 0001 0044         adr.    bgba    ; bgb. branch if greater byte.
    0914 0000 0000 0001 0052         adr.    beba    ; beb. branch if equal byte.
    0915 0000 0000 0001 005a         adr.    blba    ; blb. branch if less byte.
    0916 0000 0000 0001 0062         adr.    bsza    ; bsz. branch if selected bits are zero.
    0917 0000 0000 0001 0068         adr.    bopa    ; bop. branch if selected bits has odd parity.
    0918 0000 0000 0001 00eb         radr.   update,8.
                             
\f

!0078 m3503
                             
                             ; format a instruction jump map. escape=1.
                             ; ic 23,25.
    0920 0000 0000 0000 0069         adr.    ldr1    ; ldr. load register.
    0921 0000 0000 0000 0075         adr.    ldc1    ; ldc. load complement.
    0922 0000 0000 0000 007f         adr.    ldi1    ; ldi. load indirect.
    0923 0000 0000 0000 0089         adr.    str1    ; str. store register.
    0924 0000 0000 0000 0097         adr.    sti1    ; sti.  store indirect.
    0925 0000 0000 0000 00a2         adr.    xsrai   ; xsr. exchange store and register.
    0926 0000 0000 0000 00b2         adr.    lba     ; ldb. load byte.
    0927 0000 0000 0000 00c4         adr.    stba    ; stb. store byte.
    0928 0000 0000 0000 00cf         adr.    adda    ; add. add integer word.
    0929 0000 0000 0000 00d9         adr.    suba    ; sub. subtract.
    092a 0000 0000 0000 00e0         adr.    anda    ; and. logical and.
    092b 0000 0000 0000 00e7         adr.    lora    ; logical or.
    092c 0000 0000 0000 00ee         adr.    xora    ; xor. exlusive or.
    092d 0000 0000 0000 00f5         adr.    lce1    ; lce.  load clear enable.
    092e 0000 0000 0002 000b         adr.    mseta   ; dummy.
    092f 0000 0000 0001 0002         adr.    rsw1    ; rsw. read switches.
    0930 0000 0000 0001 001d         adr.    bgwa    ; bgw. branch if greater.
    0931 0000 0000 0001 0027         adr.    bewa    ; bew. branch if equal.
    0932 0000 0000 0001 0034         adr.    blwa    ; blw. branch if less.
    0933 0000 0000 0001 0044         adr.    bgba    ; bgb. branch if greater byte.
    0934 0000 0000 0001 0052         adr.    beba    ; beb. branch if equal byte.
    0935 0000 0000 0001 005a         adr.    blba    ; blb. branch if less byte.
    0936 0000 0000 0001 0062         adr.    bsza    ; bsz. branch if selected bits are zero.
    0937 0000 0000 0001 0068         adr.    bopa    ; bop. branch if selected bits has odd parity.
    0938 0000 0000 0001 00eb         radr.   update,8.
                             
\f

!0079 m3503
                             
                             ; format a instruction jump map. escape=1.
                             ; ic 23,25.
    0940 0000 0000 0000 0069         adr.    ldr1    ; ldr. load register.
    0941 0000 0000 0000 0075         adr.    ldc1    ; ldc. load complement.
    0942 0000 0000 0000 007f         adr.    ldi1    ; ldi. load indirect.
    0943 0000 0000 0000 0089         adr.    str1    ; str. store register.
    0944 0000 0000 0000 0097         adr.    sti1    ; sti.  store indirect.
    0945 0000 0000 0000 00a2         adr.    xsrai   ; xsr. exchange store and register.
    0946 0000 0000 0000 00b2         adr.    lba     ; ldb. load byte.
    0947 0000 0000 0000 00c4         adr.    stba    ; stb. store byte.
    0948 0000 0000 0000 00cf         adr.    adda    ; add. add integer word.
    0949 0000 0000 0000 00d9         adr.    suba    ; sub. subtract.
    094a 0000 0000 0000 00e0         adr.    anda    ; and. logical and.
    094b 0000 0000 0000 00e7         adr.    lora    ; logical or.
    094c 0000 0000 0000 00ee         adr.    xora    ; xor. exlusive or.
    094d 0000 0000 0000 00f5         adr.    lce1    ; lce.  load clear enable.
    094e 0000 0000 0002 000b         adr.    mseta   ; dummy.
    094f 0000 0000 0001 0002         adr.    rsw1    ; rsw. read switches.
    0950 0000 0000 0001 001d         adr.    bgwa    ; bgw. branch if greater.
    0951 0000 0000 0001 0027         adr.    bewa    ; bew. branch if equal.
    0952 0000 0000 0001 0034         adr.    blwa    ; blw. branch if less.
    0953 0000 0000 0001 0044         adr.    bgba    ; bgb. branch if greater byte.
    0954 0000 0000 0001 0052         adr.    beba    ; beb. branch if equal byte.
    0955 0000 0000 0001 005a         adr.    blba    ; blb. branch if less byte.
    0956 0000 0000 0001 0062         adr.    bsza    ; bsz. branch if selected bits are zero.
    0957 0000 0000 0001 0068         adr.    bopa    ; bop. branch if selected bits has odd parity.
    0958 0000 0000 0001 00eb         radr.   update,8.
                             
\f

!0080 m3503
                             
                             ; format a instruction jump map. escape=1.
                             ; ic 23,25.
    0960 0000 0000 0000 0069         adr.    ldr1    ; ldr. load register.
    0961 0000 0000 0000 0075         adr.    ldc1    ; ldc. load complement.
    0962 0000 0000 0000 007f         adr.    ldi1    ; ldi. load indirect.
    0963 0000 0000 0000 0089         adr.    str1    ; str. store register.
    0964 0000 0000 0000 0097         adr.    sti1    ; sti.  store indirect.
    0965 0000 0000 0000 00a2         adr.    xsrai   ; xsr. exchange store and register.
    0966 0000 0000 0000 00b2         adr.    lba     ; ldb. load byte.
    0967 0000 0000 0000 00c4         adr.    stba    ; stb. store byte.
    0968 0000 0000 0000 00cf         adr.    adda    ; add. add integer word.
    0969 0000 0000 0000 00d9         adr.    suba    ; sub. subtract.
    096a 0000 0000 0000 00e0         adr.    anda    ; and. logical and.
    096b 0000 0000 0000 00e7         adr.    lora    ; logical or.
    096c 0000 0000 0000 00ee         adr.    xora    ; xor. exlusive or.
    096d 0000 0000 0000 00f5         adr.    lce1    ; lce.  load clear enable.
    096e 0000 0000 0002 000b         adr.    mseta   ; dummy.
    096f 0000 0000 0001 0002         adr.    rsw1    ; rsw. read switches.
    0970 0000 0000 0001 001d         adr.    bgwa    ; bgw. branch if greater.
    0971 0000 0000 0001 0027         adr.    bewa    ; bew. branch if equal.
    0972 0000 0000 0001 0034         adr.    blwa    ; blw. branch if less.
    0973 0000 0000 0001 0044         adr.    bgba    ; bgb. branch if greater byte.
    0974 0000 0000 0001 0052         adr.    beba    ; beb. branch if equal byte.
    0975 0000 0000 0001 005a         adr.    blba    ; blb. branch if less byte.
    0976 0000 0000 0001 0062         adr.    bsza    ; bsz. branch if selected bits are zero.
    0977 0000 0000 0001 0068         adr.    bopa    ; bop. branch if selected bits has odd parity.
    0978 0000 0000 0001 00eb         radr.   update,8.
                             
\f

!0081 m3503
                             
                             ; format a instruction jump map. escape=1.
                             ; ic 23,25.
    0980 0000 0000 0000 0069         adr.    ldr1    ; ldr. load register.
    0981 0000 0000 0000 0075         adr.    ldc1    ; ldc. load complement.
    0982 0000 0000 0000 007f         adr.    ldi1    ; ldi. load indirect.
    0983 0000 0000 0000 0089         adr.    str1    ; str. store register.
    0984 0000 0000 0000 0097         adr.    sti1    ; sti.  store indirect.
    0985 0000 0000 0000 00a2         adr.    xsrai   ; xsr. exchange store and register.
    0986 0000 0000 0000 00b2         adr.    lba     ; ldb. load byte.
    0987 0000 0000 0000 00c4         adr.    stba    ; stb. store byte.
    0988 0000 0000 0000 00cf         adr.    adda    ; add. add integer word.
    0989 0000 0000 0000 00d9         adr.    suba    ; sub. subtract.
    098a 0000 0000 0000 00e0         adr.    anda    ; and. logical and.
    098b 0000 0000 0000 00e7         adr.    lora    ; logical or.
    098c 0000 0000 0000 00ee         adr.    xora    ; xor. exlusive or.
    098d 0000 0000 0000 00f5         adr.    lce1    ; lce.  load clear enable.
    098e 0000 0000 0002 000b         adr.    mseta   ; dummy.
    098f 0000 0000 0001 0002         adr.    rsw1    ; rsw. read switches.
    0990 0000 0000 0001 001d         adr.    bgwa    ; bgw. branch if greater.
    0991 0000 0000 0001 0027         adr.    bewa    ; bew. branch if equal.
    0992 0000 0000 0001 0034         adr.    blwa    ; blw. branch if less.
    0993 0000 0000 0001 0044         adr.    bgba    ; bgb. branch if greater byte.
    0994 0000 0000 0001 0052         adr.    beba    ; beb. branch if equal byte.
    0995 0000 0000 0001 005a         adr.    blba    ; blb. branch if less byte.
    0996 0000 0000 0001 0062         adr.    bsza    ; bsz. branch if selected bits are zero.
    0997 0000 0000 0001 0068         adr.    bopa    ; bop. branch if selected bits has odd parity.
    0998 0000 0000 0001 00eb         radr.   update,8.
                             
\f

!0082 m3503
                             
                             ; format a instruction jump map. escape=1.
                             ; ic 23,25.
    09a0 0000 0000 0000 0069         adr.    ldr1    ; ldr. load register.
    09a1 0000 0000 0000 0075         adr.    ldc1    ; ldc. load complement.
    09a2 0000 0000 0000 007f         adr.    ldi1    ; ldi. load indirect.
    09a3 0000 0000 0000 0089         adr.    str1    ; str. store register.
    09a4 0000 0000 0000 0097         adr.    sti1    ; sti.  store indirect.
    09a5 0000 0000 0000 00a2         adr.    xsrai   ; xsr. exchange store and register.
    09a6 0000 0000 0000 00b2         adr.    lba     ; ldb. load byte.
    09a7 0000 0000 0000 00c4         adr.    stba    ; stb. store byte.
    09a8 0000 0000 0000 00cf         adr.    adda    ; add. add integer word.
    09a9 0000 0000 0000 00d9         adr.    suba    ; sub. subtract.
    09aa 0000 0000 0000 00e0         adr.    anda    ; and. logical and.
    09ab 0000 0000 0000 00e7         adr.    lora    ; logical or.
    09ac 0000 0000 0000 00ee         adr.    xora    ; xor. exlusive or.
    09ad 0000 0000 0000 00f5         adr.    lce1    ; lce.  load clear enable.
    09ae 0000 0000 0002 000b         adr.    mseta   ; dummy.
    09af 0000 0000 0001 0002         adr.    rsw1    ; rsw. read switches.
    09b0 0000 0000 0001 001d         adr.    bgwa    ; bgw. branch if greater.
    09b1 0000 0000 0001 0027         adr.    bewa    ; bew. branch if equal.
    09b2 0000 0000 0001 0034         adr.    blwa    ; blw. branch if less.
    09b3 0000 0000 0001 0044         adr.    bgba    ; bgb. branch if greater byte.
    09b4 0000 0000 0001 0052         adr.    beba    ; beb. branch if equal byte.
    09b5 0000 0000 0001 005a         adr.    blba    ; blb. branch if less byte.
    09b6 0000 0000 0001 0062         adr.    bsza    ; bsz. branch if selected bits are zero.
    09b7 0000 0000 0001 0068         adr.    bopa    ; bop. branch if selected bits has odd parity.
    09b8 0000 0000 0001 00eb         radr.   update,8.
                             
\f

!0083 m3503
                             
                             ; format a instruction jump map. escape=1.
                             ; ic 23,25.
    09c0 0000 0000 0000 0069         adr.    ldr1    ; ldr. load register.
    09c1 0000 0000 0000 0075         adr.    ldc1    ; ldc. load complement.
    09c2 0000 0000 0000 007f         adr.    ldi1    ; ldi. load indirect.
    09c3 0000 0000 0000 0089         adr.    str1    ; str. store register.
    09c4 0000 0000 0000 0097         adr.    sti1    ; sti.  store indirect.
    09c5 0000 0000 0000 00a2         adr.    xsrai   ; xsr. exchange store and register.
    09c6 0000 0000 0000 00b2         adr.    lba     ; ldb. load byte.
    09c7 0000 0000 0000 00c4         adr.    stba    ; stb. store byte.
    09c8 0000 0000 0000 00cf         adr.    adda    ; add. add integer word.
    09c9 0000 0000 0000 00d9         adr.    suba    ; sub. subtract.
    09ca 0000 0000 0000 00e0         adr.    anda    ; and. logical and.
    09cb 0000 0000 0000 00e7         adr.    lora    ; logical or.
    09cc 0000 0000 0000 00ee         adr.    xora    ; xor. exlusive or.
    09cd 0000 0000 0000 00f5         adr.    lce1    ; lce.  load clear enable.
    09ce 0000 0000 0002 000b         adr.    mseta   ; dummy.
    09cf 0000 0000 0001 0002         adr.    rsw1    ; rsw. read switches.
    09d0 0000 0000 0001 001d         adr.    bgwa    ; bgw. branch if greater.
    09d1 0000 0000 0001 0027         adr.    bewa    ; bew. branch if equal.
    09d2 0000 0000 0001 0034         adr.    blwa    ; blw. branch if less.
    09d3 0000 0000 0001 0044         adr.    bgba    ; bgb. branch if greater byte.
    09d4 0000 0000 0001 0052         adr.    beba    ; beb. branch if equal byte.
    09d5 0000 0000 0001 005a         adr.    blba    ; blb. branch if less byte.
    09d6 0000 0000 0001 0062         adr.    bsza    ; bsz. branch if selected bits are zero.
    09d7 0000 0000 0001 0068         adr.    bopa    ; bop. branch if selected bits has odd parity.
    09d8 0000 0000 0001 00eb         radr.   update,8.
                             
\f

!0084 m3503
                             
                             ; format a instruction jump map. escape=1.
                             ; ic 23,25.
    09e0 0000 0000 0000 0069         adr.    ldr1    ; ldr. load register.
    09e1 0000 0000 0000 0075         adr.    ldc1    ; ldc. load complement.
    09e2 0000 0000 0000 007f         adr.    ldi1    ; ldi. load indirect.
    09e3 0000 0000 0000 0089         adr.    str1    ; str. store register.
    09e4 0000 0000 0000 0097         adr.    sti1    ; sti.  store indirect.
    09e5 0000 0000 0000 00a2         adr.    xsrai   ; xsr. exchange store and register.
    09e6 0000 0000 0000 00b2         adr.    lba     ; ldb. load byte.
    09e7 0000 0000 0000 00c4         adr.    stba    ; stb. store byte.
    09e8 0000 0000 0000 00cf         adr.    adda    ; add. add integer word.
    09e9 0000 0000 0000 00d9         adr.    suba    ; sub. subtract.
    09ea 0000 0000 0000 00e0         adr.    anda    ; and. logical and.
    09eb 0000 0000 0000 00e7         adr.    lora    ; logical or.
    09ec 0000 0000 0000 00ee         adr.    xora    ; xor. exlusive or.
    09ed 0000 0000 0000 00f5         adr.    lce1    ; lce.  load clear enable.
    09ee 0000 0000 0002 000b         adr.    mseta   ; dummy.
    09ef 0000 0000 0001 0002         adr.    rsw1    ; rsw. read switches.
    09f0 0000 0000 0001 001d         adr.    bgwa    ; bgw. branch if greater.
    09f1 0000 0000 0001 0027         adr.    bewa    ; bew. branch if equal.
    09f2 0000 0000 0001 0034         adr.    blwa    ; blw. branch if less.
    09f3 0000 0000 0001 0044         adr.    bgba    ; bgb. branch if greater byte.
    09f4 0000 0000 0001 0052         adr.    beba    ; beb. branch if equal byte.
    09f5 0000 0000 0001 005a         adr.    blba    ; blb. branch if less byte.
    09f6 0000 0000 0001 0062         adr.    bsza    ; bsz. branch if selected bits are zero.
    09f7 0000 0000 0001 0068         adr.    bopa    ; bop. branch if selected bits has odd parity.
    09f8 0000 0000 0001 00eb         radr.   update,8.
                             
\f

!0085 m3503
                             
                             
                             ; format b instruction jump map. escape=0.
                             ; ic 22,24.
    0a00 0000 0000 0000 006e         adr.    ldr23   ; ldr. load register.
    0a01 0000 0000 0000 007a         adr.    ldc23   ; ldc. load complement.
    0a02 0000 0000 0000 0083         adr.    ldi23   ; ldi. load indirect.
    0a03 0000 0000 0000 0092         adr.    strix   ; str. store register.
    0a04 0000 0000 0000 009c         adr.    sti23   ; sti.  store indirect.
    0a05 0000 0000 0000 00ac         adr.    xsrbx   ; xsr. exchange store and register.
    0a06 0000 0000 0000 00bb         adr.    ldbb    ; ldb. load byte.
    0a07 0000 0000 0000 00c9         adr.    stbb    ; stb. store byte.
    0a08 0000 0000 0000 00d3         adr.    addb    ; add. add integer word.
    0a09 0000 0000 0000 00dd         adr.    subb    ; sub. subtract.
    0a0a 0000 0000 0000 00e4         adr.    andb    ; and. logical and.
    0a0b 0000 0000 0000 00eb         adr.    lorb    ; logical or.
    0a0c 0000 0000 0000 00f2         adr.    xorb    ; xor. exlusive or.
    0a0d 0000 0000 0000 00fd         adr.    lce23   ; lce.  load clear enable.
    0a0e 0000 0000 0002 000c         adr.    msetb   ; dummy.
    0a0f 0000 0000 0001 000b         adr.    rsw23   ; rsw. read switches.
    0a10 0000 0000 0001 000f         adr.    bgwb    ; bgw. branch if greater.
    0a11 0000 0000 0001 002d         adr.    bewb    ; bew. branch if equal.
    0a12 0000 0000 0001 003c         adr.    blwb    ; blw. branch if less.
    0a13 0000 0000 0001 0048         adr.    bgbb    ; bgb. branch if greater byte.
    0a14 0000 0000 0001 0056         adr.    bebb    ; beb. branch if equal byte.
    0a15 0000 0000 0001 005e         adr.    blbb    ; blb. branch if less byte.
    0a16 0000 0000 0001 0065         adr.    bszb    ; bsz. branch if selected bits are zero.
    0a17 0000 0000 0001 006f         adr.    bopb    ; bop. branch if selected bits has odd parity.
    0a18 0000 0000 0001 00eb         adr.    update
    0a19 0000 0000 0001 00eb         adr.    update
    0a1a 0000 0000 0002 0008         adr.    ildc
    0a1b 0000 0000 0002 0004         adr.    istc
    0a1c 0000 0000 0001 00eb         radr.   update,4.
                             
\f

!0086 m3503
                             
                             
                             ; format b instruction jump map. escape=0.
                             ; ic 22,24.
    0a20 0000 0000 0000 006e         adr.    ldr23   ; ldr. load register.
    0a21 0000 0000 0000 007a         adr.    ldc23   ; ldc. load complement.
    0a22 0000 0000 0000 0083         adr.    ldi23   ; ldi. load indirect.
    0a23 0000 0000 0000 0092         adr.    strix   ; str. store register.
    0a24 0000 0000 0000 009c         adr.    sti23   ; sti.  store indirect.
    0a25 0000 0000 0000 00ac         adr.    xsrbx   ; xsr. exchange store and register.
    0a26 0000 0000 0000 00bb         adr.    ldbb    ; ldb. load byte.
    0a27 0000 0000 0000 00c9         adr.    stbb    ; stb. store byte.
    0a28 0000 0000 0000 00d3         adr.    addb    ; add. add integer word.
    0a29 0000 0000 0000 00dd         adr.    subb    ; sub. subtract.
    0a2a 0000 0000 0000 00e4         adr.    andb    ; and. logical and.
    0a2b 0000 0000 0000 00eb         adr.    lorb    ; logical or.
    0a2c 0000 0000 0000 00f2         adr.    xorb    ; xor. exlusive or.
    0a2d 0000 0000 0000 00fd         adr.    lce23   ; lce.  load clear enable.
    0a2e 0000 0000 0002 000c         adr.    msetb   ; dummy.
    0a2f 0000 0000 0001 000b         adr.    rsw23   ; rsw. read switches.
    0a30 0000 0000 0001 000f         adr.    bgwb    ; bgw. branch if greater.
    0a31 0000 0000 0001 002d         adr.    bewb    ; bew. branch if equal.
    0a32 0000 0000 0001 003c         adr.    blwb    ; blw. branch if less.
    0a33 0000 0000 0001 0048         adr.    bgbb    ; bgb. branch if greater byte.
    0a34 0000 0000 0001 0056         adr.    bebb    ; beb. branch if equal byte.
    0a35 0000 0000 0001 005e         adr.    blbb    ; blb. branch if less byte.
    0a36 0000 0000 0001 0065         adr.    bszb    ; bsz. branch if selected bits are zero.
    0a37 0000 0000 0001 006f         adr.    bopb    ; bop. branch if selected bits has odd parity.
    0a38 0000 0000 0001 00eb         adr.    update
    0a39 0000 0000 0001 00eb         adr.    update
    0a3a 0000 0000 0002 0008         adr.    ildc
    0a3b 0000 0000 0002 0004         adr.    istc
    0a3c 0000 0000 0001 00eb         radr.   update,4.
                             
\f

!0087 m3503
                             
                             
                             ; format b instruction jump map. escape=0.
                             ; ic 22,24.
    0a40 0000 0000 0000 006e         adr.    ldr23   ; ldr. load register.
    0a41 0000 0000 0000 007a         adr.    ldc23   ; ldc. load complement.
    0a42 0000 0000 0000 0083         adr.    ldi23   ; ldi. load indirect.
    0a43 0000 0000 0000 0092         adr.    strix   ; str. store register.
    0a44 0000 0000 0000 009c         adr.    sti23   ; sti.  store indirect.
    0a45 0000 0000 0000 00ac         adr.    xsrbx   ; xsr. exchange store and register.
    0a46 0000 0000 0000 00bb         adr.    ldbb    ; ldb. load byte.
    0a47 0000 0000 0000 00c9         adr.    stbb    ; stb. store byte.
    0a48 0000 0000 0000 00d3         adr.    addb    ; add. add integer word.
    0a49 0000 0000 0000 00dd         adr.    subb    ; sub. subtract.
    0a4a 0000 0000 0000 00e4         adr.    andb    ; and. logical and.
    0a4b 0000 0000 0000 00eb         adr.    lorb    ; logical or.
    0a4c 0000 0000 0000 00f2         adr.    xorb    ; xor. exlusive or.
    0a4d 0000 0000 0000 00fd         adr.    lce23   ; lce.  load clear enable.
    0a4e 0000 0000 0002 000c         adr.    msetb   ; dummy.
    0a4f 0000 0000 0001 000b         adr.    rsw23   ; rsw. read switches.
    0a50 0000 0000 0001 000f         adr.    bgwb    ; bgw. branch if greater.
    0a51 0000 0000 0001 002d         adr.    bewb    ; bew. branch if equal.
    0a52 0000 0000 0001 003c         adr.    blwb    ; blw. branch if less.
    0a53 0000 0000 0001 0048         adr.    bgbb    ; bgb. branch if greater byte.
    0a54 0000 0000 0001 0056         adr.    bebb    ; beb. branch if equal byte.
    0a55 0000 0000 0001 005e         adr.    blbb    ; blb. branch if less byte.
    0a56 0000 0000 0001 0065         adr.    bszb    ; bsz. branch if selected bits are zero.
    0a57 0000 0000 0001 006f         adr.    bopb    ; bop. branch if selected bits has odd parity.
    0a58 0000 0000 0001 00eb         adr.    update
    0a59 0000 0000 0001 00eb         adr.    update
    0a5a 0000 0000 0002 0008         adr.    ildc
    0a5b 0000 0000 0002 0004         adr.    istc
    0a5c 0000 0000 0001 00eb         radr.   update,4.
                             
\f

!0088 m3503
                             
                             
                             ; format b instruction jump map. escape=0.
                             ; ic 22,24.
    0a60 0000 0000 0000 006e         adr.    ldr23   ; ldr. load register.
    0a61 0000 0000 0000 007a         adr.    ldc23   ; ldc. load complement.
    0a62 0000 0000 0000 0083         adr.    ldi23   ; ldi. load indirect.
    0a63 0000 0000 0000 0092         adr.    strix   ; str. store register.
    0a64 0000 0000 0000 009c         adr.    sti23   ; sti.  store indirect.
    0a65 0000 0000 0000 00ac         adr.    xsrbx   ; xsr. exchange store and register.
    0a66 0000 0000 0000 00bb         adr.    ldbb    ; ldb. load byte.
    0a67 0000 0000 0000 00c9         adr.    stbb    ; stb. store byte.
    0a68 0000 0000 0000 00d3         adr.    addb    ; add. add integer word.
    0a69 0000 0000 0000 00dd         adr.    subb    ; sub. subtract.
    0a6a 0000 0000 0000 00e4         adr.    andb    ; and. logical and.
    0a6b 0000 0000 0000 00eb         adr.    lorb    ; logical or.
    0a6c 0000 0000 0000 00f2         adr.    xorb    ; xor. exlusive or.
    0a6d 0000 0000 0000 00fd         adr.    lce23   ; lce.  load clear enable.
    0a6e 0000 0000 0002 000c         adr.    msetb   ; dummy.
    0a6f 0000 0000 0001 000b         adr.    rsw23   ; rsw. read switches.
    0a70 0000 0000 0001 000f         adr.    bgwb    ; bgw. branch if greater.
    0a71 0000 0000 0001 002d         adr.    bewb    ; bew. branch if equal.
    0a72 0000 0000 0001 003c         adr.    blwb    ; blw. branch if less.
    0a73 0000 0000 0001 0048         adr.    bgbb    ; bgb. branch if greater byte.
    0a74 0000 0000 0001 0056         adr.    bebb    ; beb. branch if equal byte.
    0a75 0000 0000 0001 005e         adr.    blbb    ; blb. branch if less byte.
    0a76 0000 0000 0001 0065         adr.    bszb    ; bsz. branch if selected bits are zero.
    0a77 0000 0000 0001 006f         adr.    bopb    ; bop. branch if selected bits has odd parity.
    0a78 0000 0000 0001 00eb         adr.    update
    0a79 0000 0000 0001 00eb         adr.    update
    0a7a 0000 0000 0002 0008         adr.    ildc
    0a7b 0000 0000 0002 0004         adr.    istc
    0a7c 0000 0000 0001 00eb         radr.   update,4.
                             
\f

!0089 m3503
                             
                             
                             ; format b instruction jump map. escape=0.
                             ; ic 22,24.
    0a80 0000 0000 0000 006e         adr.    ldr23   ; ldr. load register.
    0a81 0000 0000 0000 007a         adr.    ldc23   ; ldc. load complement.
    0a82 0000 0000 0000 0083         adr.    ldi23   ; ldi. load indirect.
    0a83 0000 0000 0000 0092         adr.    strix   ; str. store register.
    0a84 0000 0000 0000 009c         adr.    sti23   ; sti.  store indirect.
    0a85 0000 0000 0000 00ac         adr.    xsrbx   ; xsr. exchange store and register.
    0a86 0000 0000 0000 00bb         adr.    ldbb    ; ldb. load byte.
    0a87 0000 0000 0000 00c9         adr.    stbb    ; stb. store byte.
    0a88 0000 0000 0000 00d3         adr.    addb    ; add. add integer word.
    0a89 0000 0000 0000 00dd         adr.    subb    ; sub. subtract.
    0a8a 0000 0000 0000 00e4         adr.    andb    ; and. logical and.
    0a8b 0000 0000 0000 00eb         adr.    lorb    ; logical or.
    0a8c 0000 0000 0000 00f2         adr.    xorb    ; xor. exlusive or.
    0a8d 0000 0000 0000 00fd         adr.    lce23   ; lce.  load clear enable.
    0a8e 0000 0000 0002 000c         adr.    msetb   ; dummy.
    0a8f 0000 0000 0001 000b         adr.    rsw23   ; rsw. read switches.
    0a90 0000 0000 0001 000f         adr.    bgwb    ; bgw. branch if greater.
    0a91 0000 0000 0001 002d         adr.    bewb    ; bew. branch if equal.
    0a92 0000 0000 0001 003c         adr.    blwb    ; blw. branch if less.
    0a93 0000 0000 0001 0048         adr.    bgbb    ; bgb. branch if greater byte.
    0a94 0000 0000 0001 0056         adr.    bebb    ; beb. branch if equal byte.
    0a95 0000 0000 0001 005e         adr.    blbb    ; blb. branch if less byte.
    0a96 0000 0000 0001 0065         adr.    bszb    ; bsz. branch if selected bits are zero.
    0a97 0000 0000 0001 006f         adr.    bopb    ; bop. branch if selected bits has odd parity.
    0a98 0000 0000 0001 00eb         adr.    update
    0a99 0000 0000 0001 00eb         adr.    update
    0a9a 0000 0000 0002 0008         adr.    ildc
    0a9b 0000 0000 0002 0004         adr.    istc
    0a9c 0000 0000 0001 00eb         radr.   update,4.
                             
\f

!0090 m3503
                             
                             
                             ; format b instruction jump map. escape=0.
                             ; ic 22,24.
    0aa0 0000 0000 0000 006e         adr.    ldr23   ; ldr. load register.
    0aa1 0000 0000 0000 007a         adr.    ldc23   ; ldc. load complement.
    0aa2 0000 0000 0000 0083         adr.    ldi23   ; ldi. load indirect.
    0aa3 0000 0000 0000 0092         adr.    strix   ; str. store register.
    0aa4 0000 0000 0000 009c         adr.    sti23   ; sti.  store indirect.
    0aa5 0000 0000 0000 00ac         adr.    xsrbx   ; xsr. exchange store and register.
    0aa6 0000 0000 0000 00bb         adr.    ldbb    ; ldb. load byte.
    0aa7 0000 0000 0000 00c9         adr.    stbb    ; stb. store byte.
    0aa8 0000 0000 0000 00d3         adr.    addb    ; add. add integer word.
    0aa9 0000 0000 0000 00dd         adr.    subb    ; sub. subtract.
    0aaa 0000 0000 0000 00e4         adr.    andb    ; and. logical and.
    0aab 0000 0000 0000 00eb         adr.    lorb    ; logical or.
    0aac 0000 0000 0000 00f2         adr.    xorb    ; xor. exlusive or.
    0aad 0000 0000 0000 00fd         adr.    lce23   ; lce.  load clear enable.
    0aae 0000 0000 0002 000c         adr.    msetb   ; dummy.
    0aaf 0000 0000 0001 000b         adr.    rsw23   ; rsw. read switches.
    0ab0 0000 0000 0001 000f         adr.    bgwb    ; bgw. branch if greater.
    0ab1 0000 0000 0001 002d         adr.    bewb    ; bew. branch if equal.
    0ab2 0000 0000 0001 003c         adr.    blwb    ; blw. branch if less.
    0ab3 0000 0000 0001 0048         adr.    bgbb    ; bgb. branch if greater byte.
    0ab4 0000 0000 0001 0056         adr.    bebb    ; beb. branch if equal byte.
    0ab5 0000 0000 0001 005e         adr.    blbb    ; blb. branch if less byte.
    0ab6 0000 0000 0001 0065         adr.    bszb    ; bsz. branch if selected bits are zero.
    0ab7 0000 0000 0001 006f         adr.    bopb    ; bop. branch if selected bits has odd parity.
    0ab8 0000 0000 0001 00eb         adr.    update
    0ab9 0000 0000 0001 00eb         adr.    update
    0aba 0000 0000 0002 0008         adr.    ildc
    0abb 0000 0000 0002 0004         adr.    istc
    0abc 0000 0000 0001 00eb         radr.   update,4.
                             
\f

!0091 m3503
                             
                             
                             ; format b instruction jump map. escape=0.
                             ; ic 22,24.
    0ac0 0000 0000 0000 006e         adr.    ldr23   ; ldr. load register.
    0ac1 0000 0000 0000 007a         adr.    ldc23   ; ldc. load complement.
    0ac2 0000 0000 0000 0083         adr.    ldi23   ; ldi. load indirect.
    0ac3 0000 0000 0000 0092         adr.    strix   ; str. store register.
    0ac4 0000 0000 0000 009c         adr.    sti23   ; sti.  store indirect.
    0ac5 0000 0000 0000 00ac         adr.    xsrbx   ; xsr. exchange store and register.
    0ac6 0000 0000 0000 00bb         adr.    ldbb    ; ldb. load byte.
    0ac7 0000 0000 0000 00c9         adr.    stbb    ; stb. store byte.
    0ac8 0000 0000 0000 00d3         adr.    addb    ; add. add integer word.
    0ac9 0000 0000 0000 00dd         adr.    subb    ; sub. subtract.
    0aca 0000 0000 0000 00e4         adr.    andb    ; and. logical and.
    0acb 0000 0000 0000 00eb         adr.    lorb    ; logical or.
    0acc 0000 0000 0000 00f2         adr.    xorb    ; xor. exlusive or.
    0acd 0000 0000 0000 00fd         adr.    lce23   ; lce.  load clear enable.
    0ace 0000 0000 0002 000c         adr.    msetb   ; dummy.
    0acf 0000 0000 0001 000b         adr.    rsw23   ; rsw. read switches.
    0ad0 0000 0000 0001 000f         adr.    bgwb    ; bgw. branch if greater.
    0ad1 0000 0000 0001 002d         adr.    bewb    ; bew. branch if equal.
    0ad2 0000 0000 0001 003c         adr.    blwb    ; blw. branch if less.
    0ad3 0000 0000 0001 0048         adr.    bgbb    ; bgb. branch if greater byte.
    0ad4 0000 0000 0001 0056         adr.    bebb    ; beb. branch if equal byte.
    0ad5 0000 0000 0001 005e         adr.    blbb    ; blb. branch if less byte.
    0ad6 0000 0000 0001 0065         adr.    bszb    ; bsz. branch if selected bits are zero.
    0ad7 0000 0000 0001 006f         adr.    bopb    ; bop. branch if selected bits has odd parity.
    0ad8 0000 0000 0001 00eb         adr.    update
    0ad9 0000 0000 0001 00eb         adr.    update
    0ada 0000 0000 0002 0008         adr.    ildc
    0adb 0000 0000 0002 0004         adr.    istc
    0adc 0000 0000 0001 00eb         radr.   update,4.
                             
\f

!0092 m3503
                             
                             
                             ; format b instruction jump map. escape=0.
                             ; ic 22,24.
    0ae0 0000 0000 0000 006e         adr.    ldr23   ; ldr. load register.
    0ae1 0000 0000 0000 007a         adr.    ldc23   ; ldc. load complement.
    0ae2 0000 0000 0000 0083         adr.    ldi23   ; ldi. load indirect.
    0ae3 0000 0000 0000 0092         adr.    strix   ; str. store register.
    0ae4 0000 0000 0000 009c         adr.    sti23   ; sti.  store indirect.
    0ae5 0000 0000 0000 00ac         adr.    xsrbx   ; xsr. exchange store and register.
    0ae6 0000 0000 0000 00bb         adr.    ldbb    ; ldb. load byte.
    0ae7 0000 0000 0000 00c9         adr.    stbb    ; stb. store byte.
    0ae8 0000 0000 0000 00d3         adr.    addb    ; add. add integer word.
    0ae9 0000 0000 0000 00dd         adr.    subb    ; sub. subtract.
    0aea 0000 0000 0000 00e4         adr.    andb    ; and. logical and.
    0aeb 0000 0000 0000 00eb         adr.    lorb    ; logical or.
    0aec 0000 0000 0000 00f2         adr.    xorb    ; xor. exlusive or.
    0aed 0000 0000 0000 00fd         adr.    lce23   ; lce.  load clear enable.
    0aee 0000 0000 0002 000c         adr.    msetb   ; dummy.
    0aef 0000 0000 0001 000b         adr.    rsw23   ; rsw. read switches.
    0af0 0000 0000 0001 000f         adr.    bgwb    ; bgw. branch if greater.
    0af1 0000 0000 0001 002d         adr.    bewb    ; bew. branch if equal.
    0af2 0000 0000 0001 003c         adr.    blwb    ; blw. branch if less.
    0af3 0000 0000 0001 0048         adr.    bgbb    ; bgb. branch if greater byte.
    0af4 0000 0000 0001 0056         adr.    bebb    ; beb. branch if equal byte.
    0af5 0000 0000 0001 005e         adr.    blbb    ; blb. branch if less byte.
    0af6 0000 0000 0001 0065         adr.    bszb    ; bsz. branch if selected bits are zero.
    0af7 0000 0000 0001 006f         adr.    bopb    ; bop. branch if selected bits has odd parity.
    0af8 0000 0000 0001 00eb         adr.    update
    0af9 0000 0000 0001 00eb         adr.    update
    0afa 0000 0000 0002 0008         adr.    ildc
    0afb 0000 0000 0002 0004         adr.    istc
    0afc 0000 0000 0001 00eb         radr.   update,4.
                             
\f

!0093 m3503
                             
                             
                             ; format b instruction jump map. escape=1.
                             ; ic 22,24.
    0b00 0000 0000 0000 006e         adr.    ldr23   ; ldr. load register.
    0b01 0000 0000 0000 007a         adr.    ldc23   ; ldc. load complement.
    0b02 0000 0000 0000 0083         adr.    ldi23   ; ldi. load indirect.
    0b03 0000 0000 0000 008e         adr.    stri0   ; str. store register.
    0b04 0000 0000 0000 009c         adr.    sti23   ; sti.  store indirect.
    0b05 0000 0000 0000 00a7         adr.    xsrb0   ; xsr. exchange store and register.
    0b06 0000 0000 0000 00bb         adr.    ldbb    ; ldb. load byte.
    0b07 0000 0000 0000 00c9         adr.    stbb    ; stb. store byte.
    0b08 0000 0000 0000 00d3         adr.    addb    ; add. add integer word.
    0b09 0000 0000 0000 00dd         adr.    subb    ; sub. subtract.
    0b0a 0000 0000 0000 00e4         adr.    andb    ; and. logical and.
    0b0b 0000 0000 0000 00eb         adr.    lorb    ; logical or.
    0b0c 0000 0000 0000 00f2         adr.    xorb    ; xor. exlusive or.
    0b0d 0000 0000 0000 00fd         adr.    lce23   ; lce.  load clear enable.
    0b0e 0000 0000 0002 000c         adr.    msetb   ; dummy.
    0b0f 0000 0000 0001 000b         adr.    rsw23   ; rsw. read switches.
    0b10 0000 0000 0001 000f         adr.    bgwb    ; bgw. branch if greater.
    0b11 0000 0000 0001 002d         adr.    bewb    ; bew. branch if equal.
    0b12 0000 0000 0001 003c         adr.    blwb    ; blw. branch if less.
    0b13 0000 0000 0001 0048         adr.    bgbb    ; bgb. branch if greater byte.
    0b14 0000 0000 0001 0056         adr.    bebb    ; beb. branch if equal byte.
    0b15 0000 0000 0001 005e         adr.    blbb    ; blb. branch if less byte.
    0b16 0000 0000 0001 0065         adr.    bszb    ; bsz. branch if selected bits are zero.
    0b17 0000 0000 0001 006f         adr.    bopb    ; bop. branch if selected bits has odd parity.
    0b18 0000 0000 0001 00eb         adr.    update
    0b19 0000 0000 0001 00eb         adr.    update
    0b1a 0000 0000 0002 0008         adr.    ildc
    0b1b 0000 0000 0002 0004         adr.    istc
    0b1c 0000 0000 0001 00eb         radr.   update,4.
                             
\f

!0094 m3503
                             
                             
                             ; format b instruction jump map. escape=1.
                             ; ic 22,24.
    0b20 0000 0000 0000 006e         adr.    ldr23   ; ldr. load register.
    0b21 0000 0000 0000 007a         adr.    ldc23   ; ldc. load complement.
    0b22 0000 0000 0000 0083         adr.    ldi23   ; ldi. load indirect.
    0b23 0000 0000 0000 008e         adr.    stri0   ; str. store register.
    0b24 0000 0000 0000 009c         adr.    sti23   ; sti.  store indirect.
    0b25 0000 0000 0000 00a7         adr.    xsrb0   ; xsr. exchange store and register.
    0b26 0000 0000 0000 00bb         adr.    ldbb    ; ldb. load byte.
    0b27 0000 0000 0000 00c9         adr.    stbb    ; stb. store byte.
    0b28 0000 0000 0000 00d3         adr.    addb    ; add. add integer word.
    0b29 0000 0000 0000 00dd         adr.    subb    ; sub. subtract.
    0b2a 0000 0000 0000 00e4         adr.    andb    ; and. logical and.
    0b2b 0000 0000 0000 00eb         adr.    lorb    ; logical or.
    0b2c 0000 0000 0000 00f2         adr.    xorb    ; xor. exlusive or.
    0b2d 0000 0000 0000 00fd         adr.    lce23   ; lce.  load clear enable.
    0b2e 0000 0000 0002 000c         adr.    msetb   ; dummy.
    0b2f 0000 0000 0001 000b         adr.    rsw23   ; rsw. read switches.
    0b30 0000 0000 0001 000f         adr.    bgwb    ; bgw. branch if greater.
    0b31 0000 0000 0001 002d         adr.    bewb    ; bew. branch if equal.
    0b32 0000 0000 0001 003c         adr.    blwb    ; blw. branch if less.
    0b33 0000 0000 0001 0048         adr.    bgbb    ; bgb. branch if greater byte.
    0b34 0000 0000 0001 0056         adr.    bebb    ; beb. branch if equal byte.
    0b35 0000 0000 0001 005e         adr.    blbb    ; blb. branch if less byte.
    0b36 0000 0000 0001 0065         adr.    bszb    ; bsz. branch if selected bits are zero.
    0b37 0000 0000 0001 006f         adr.    bopb    ; bop. branch if selected bits has odd parity.
    0b38 0000 0000 0001 00eb         adr.    update
    0b39 0000 0000 0001 00eb         adr.    update
    0b3a 0000 0000 0002 0008         adr.    ildc
    0b3b 0000 0000 0002 0004         adr.    istc
    0b3c 0000 0000 0001 00eb         radr.   update,4.
                             
\f

!0095 m3503
                             
                             
                             ; format b instruction jump map. escape=1.
                             ; ic 22,24.
    0b40 0000 0000 0000 006e         adr.    ldr23   ; ldr. load register.
    0b41 0000 0000 0000 007a         adr.    ldc23   ; ldc. load complement.
    0b42 0000 0000 0000 0083         adr.    ldi23   ; ldi. load indirect.
    0b43 0000 0000 0000 008e         adr.    stri0   ; str. store register.
    0b44 0000 0000 0000 009c         adr.    sti23   ; sti.  store indirect.
    0b45 0000 0000 0000 00a7         adr.    xsrb0   ; xsr. exchange store and register.
    0b46 0000 0000 0000 00bb         adr.    ldbb    ; ldb. load byte.
    0b47 0000 0000 0000 00c9         adr.    stbb    ; stb. store byte.
    0b48 0000 0000 0000 00d3         adr.    addb    ; add. add integer word.
    0b49 0000 0000 0000 00dd         adr.    subb    ; sub. subtract.
    0b4a 0000 0000 0000 00e4         adr.    andb    ; and. logical and.
    0b4b 0000 0000 0000 00eb         adr.    lorb    ; logical or.
    0b4c 0000 0000 0000 00f2         adr.    xorb    ; xor. exlusive or.
    0b4d 0000 0000 0000 00fd         adr.    lce23   ; lce.  load clear enable.
    0b4e 0000 0000 0002 000c         adr.    msetb   ; dummy.
    0b4f 0000 0000 0001 000b         adr.    rsw23   ; rsw. read switches.
    0b50 0000 0000 0001 000f         adr.    bgwb    ; bgw. branch if greater.
    0b51 0000 0000 0001 002d         adr.    bewb    ; bew. branch if equal.
    0b52 0000 0000 0001 003c         adr.    blwb    ; blw. branch if less.
    0b53 0000 0000 0001 0048         adr.    bgbb    ; bgb. branch if greater byte.
    0b54 0000 0000 0001 0056         adr.    bebb    ; beb. branch if equal byte.
    0b55 0000 0000 0001 005e         adr.    blbb    ; blb. branch if less byte.
    0b56 0000 0000 0001 0065         adr.    bszb    ; bsz. branch if selected bits are zero.
    0b57 0000 0000 0001 006f         adr.    bopb    ; bop. branch if selected bits has odd parity.
    0b58 0000 0000 0001 00eb         adr.    update
    0b59 0000 0000 0001 00eb         adr.    update
    0b5a 0000 0000 0002 0008         adr.    ildc
    0b5b 0000 0000 0002 0004         adr.    istc
    0b5c 0000 0000 0001 00eb         radr.   update,4.
                             
\f

!0096 m3503
                             
                             
                             ; format b instruction jump map. escape=1.
                             ; ic 22,24.
    0b60 0000 0000 0000 006e         adr.    ldr23   ; ldr. load register.
    0b61 0000 0000 0000 007a         adr.    ldc23   ; ldc. load complement.
    0b62 0000 0000 0000 0083         adr.    ldi23   ; ldi. load indirect.
    0b63 0000 0000 0000 008e         adr.    stri0   ; str. store register.
    0b64 0000 0000 0000 009c         adr.    sti23   ; sti.  store indirect.
    0b65 0000 0000 0000 00a7         adr.    xsrb0   ; xsr. exchange store and register.
    0b66 0000 0000 0000 00bb         adr.    ldbb    ; ldb. load byte.
    0b67 0000 0000 0000 00c9         adr.    stbb    ; stb. store byte.
    0b68 0000 0000 0000 00d3         adr.    addb    ; add. add integer word.
    0b69 0000 0000 0000 00dd         adr.    subb    ; sub. subtract.
    0b6a 0000 0000 0000 00e4         adr.    andb    ; and. logical and.
    0b6b 0000 0000 0000 00eb         adr.    lorb    ; logical or.
    0b6c 0000 0000 0000 00f2         adr.    xorb    ; xor. exlusive or.
    0b6d 0000 0000 0000 00fd         adr.    lce23   ; lce.  load clear enable.
    0b6e 0000 0000 0002 000c         adr.    msetb   ; dummy.
    0b6f 0000 0000 0001 000b         adr.    rsw23   ; rsw. read switches.
    0b70 0000 0000 0001 000f         adr.    bgwb    ; bgw. branch if greater.
    0b71 0000 0000 0001 002d         adr.    bewb    ; bew. branch if equal.
    0b72 0000 0000 0001 003c         adr.    blwb    ; blw. branch if less.
    0b73 0000 0000 0001 0048         adr.    bgbb    ; bgb. branch if greater byte.
    0b74 0000 0000 0001 0056         adr.    bebb    ; beb. branch if equal byte.
    0b75 0000 0000 0001 005e         adr.    blbb    ; blb. branch if less byte.
    0b76 0000 0000 0001 0065         adr.    bszb    ; bsz. branch if selected bits are zero.
    0b77 0000 0000 0001 006f         adr.    bopb    ; bop. branch if selected bits has odd parity.
    0b78 0000 0000 0001 00eb         adr.    update
    0b79 0000 0000 0001 00eb         adr.    update
    0b7a 0000 0000 0002 0008         adr.    ildc
    0b7b 0000 0000 0002 0004         adr.    istc
    0b7c 0000 0000 0001 00eb         radr.   update,4.
                             
\f

!0097 m3503
                             
                             
                             ; format b instruction jump map. escape=1.
                             ; ic 22,24.
    0b80 0000 0000 0000 006e         adr.    ldr23   ; ldr. load register.
    0b81 0000 0000 0000 007a         adr.    ldc23   ; ldc. load complement.
    0b82 0000 0000 0000 0083         adr.    ldi23   ; ldi. load indirect.
    0b83 0000 0000 0000 008e         adr.    stri0   ; str. store register.
    0b84 0000 0000 0000 009c         adr.    sti23   ; sti.  store indirect.
    0b85 0000 0000 0000 00a7         adr.    xsrb0   ; xsr. exchange store and register.
    0b86 0000 0000 0000 00bb         adr.    ldbb    ; ldb. load byte.
    0b87 0000 0000 0000 00c9         adr.    stbb    ; stb. store byte.
    0b88 0000 0000 0000 00d3         adr.    addb    ; add. add integer word.
    0b89 0000 0000 0000 00dd         adr.    subb    ; sub. subtract.
    0b8a 0000 0000 0000 00e4         adr.    andb    ; and. logical and.
    0b8b 0000 0000 0000 00eb         adr.    lorb    ; logical or.
    0b8c 0000 0000 0000 00f2         adr.    xorb    ; xor. exlusive or.
    0b8d 0000 0000 0000 00fd         adr.    lce23   ; lce.  load clear enable.
    0b8e 0000 0000 0002 000c         adr.    msetb   ; dummy.
    0b8f 0000 0000 0001 000b         adr.    rsw23   ; rsw. read switches.
    0b90 0000 0000 0001 000f         adr.    bgwb    ; bgw. branch if greater.
    0b91 0000 0000 0001 002d         adr.    bewb    ; bew. branch if equal.
    0b92 0000 0000 0001 003c         adr.    blwb    ; blw. branch if less.
    0b93 0000 0000 0001 0048         adr.    bgbb    ; bgb. branch if greater byte.
    0b94 0000 0000 0001 0056         adr.    bebb    ; beb. branch if equal byte.
    0b95 0000 0000 0001 005e         adr.    blbb    ; blb. branch if less byte.
    0b96 0000 0000 0001 0065         adr.    bszb    ; bsz. branch if selected bits are zero.
    0b97 0000 0000 0001 006f         adr.    bopb    ; bop. branch if selected bits has odd parity.
    0b98 0000 0000 0001 00eb         adr.    update
    0b99 0000 0000 0001 00eb         adr.    update
    0b9a 0000 0000 0002 0008         adr.    ildc
    0b9b 0000 0000 0002 0004         adr.    istc
    0b9c 0000 0000 0001 00eb         radr.   update,4.
                             
\f

!0098 m3503
                             
                             
                             ; format b instruction jump map. escape=1.
                             ; ic 22,24.
    0ba0 0000 0000 0000 006e         adr.    ldr23   ; ldr. load register.
    0ba1 0000 0000 0000 007a         adr.    ldc23   ; ldc. load complement.
    0ba2 0000 0000 0000 0083         adr.    ldi23   ; ldi. load indirect.
    0ba3 0000 0000 0000 008e         adr.    stri0   ; str. store register.
    0ba4 0000 0000 0000 009c         adr.    sti23   ; sti.  store indirect.
    0ba5 0000 0000 0000 00a7         adr.    xsrb0   ; xsr. exchange store and register.
    0ba6 0000 0000 0000 00bb         adr.    ldbb    ; ldb. load byte.
    0ba7 0000 0000 0000 00c9         adr.    stbb    ; stb. store byte.
    0ba8 0000 0000 0000 00d3         adr.    addb    ; add. add integer word.
    0ba9 0000 0000 0000 00dd         adr.    subb    ; sub. subtract.
    0baa 0000 0000 0000 00e4         adr.    andb    ; and. logical and.
    0bab 0000 0000 0000 00eb         adr.    lorb    ; logical or.
    0bac 0000 0000 0000 00f2         adr.    xorb    ; xor. exlusive or.
    0bad 0000 0000 0000 00fd         adr.    lce23   ; lce.  load clear enable.
    0bae 0000 0000 0002 000c         adr.    msetb   ; dummy.
    0baf 0000 0000 0001 000b         adr.    rsw23   ; rsw. read switches.
    0bb0 0000 0000 0001 000f         adr.    bgwb    ; bgw. branch if greater.
    0bb1 0000 0000 0001 002d         adr.    bewb    ; bew. branch if equal.
    0bb2 0000 0000 0001 003c         adr.    blwb    ; blw. branch if less.
    0bb3 0000 0000 0001 0048         adr.    bgbb    ; bgb. branch if greater byte.
    0bb4 0000 0000 0001 0056         adr.    bebb    ; beb. branch if equal byte.
    0bb5 0000 0000 0001 005e         adr.    blbb    ; blb. branch if less byte.
    0bb6 0000 0000 0001 0065         adr.    bszb    ; bsz. branch if selected bits are zero.
    0bb7 0000 0000 0001 006f         adr.    bopb    ; bop. branch if selected bits has odd parity.
    0bb8 0000 0000 0001 00eb         adr.    update
    0bb9 0000 0000 0001 00eb         adr.    update
    0bba 0000 0000 0002 0008         adr.    ildc
    0bbb 0000 0000 0002 0004         adr.    istc
    0bbc 0000 0000 0001 00eb         radr.   update,4.
                             
\f

!0099 m3503
                             
                             
                             ; format b instruction jump map. escape=1.
                             ; ic 22,24.
    0bc0 0000 0000 0000 006e         adr.    ldr23   ; ldr. load register.
    0bc1 0000 0000 0000 007a         adr.    ldc23   ; ldc. load complement.
    0bc2 0000 0000 0000 0083         adr.    ldi23   ; ldi. load indirect.
    0bc3 0000 0000 0000 008e         adr.    stri0   ; str. store register.
    0bc4 0000 0000 0000 009c         adr.    sti23   ; sti.  store indirect.
    0bc5 0000 0000 0000 00a7         adr.    xsrb0   ; xsr. exchange store and register.
    0bc6 0000 0000 0000 00bb         adr.    ldbb    ; ldb. load byte.
    0bc7 0000 0000 0000 00c9         adr.    stbb    ; stb. store byte.
    0bc8 0000 0000 0000 00d3         adr.    addb    ; add. add integer word.
    0bc9 0000 0000 0000 00dd         adr.    subb    ; sub. subtract.
    0bca 0000 0000 0000 00e4         adr.    andb    ; and. logical and.
    0bcb 0000 0000 0000 00eb         adr.    lorb    ; logical or.
    0bcc 0000 0000 0000 00f2         adr.    xorb    ; xor. exlusive or.
    0bcd 0000 0000 0000 00fd         adr.    lce23   ; lce.  load clear enable.
    0bce 0000 0000 0002 000c         adr.    msetb   ; dummy.
    0bcf 0000 0000 0001 000b         adr.    rsw23   ; rsw. read switches.
    0bd0 0000 0000 0001 000f         adr.    bgwb    ; bgw. branch if greater.
    0bd1 0000 0000 0001 002d         adr.    bewb    ; bew. branch if equal.
    0bd2 0000 0000 0001 003c         adr.    blwb    ; blw. branch if less.
    0bd3 0000 0000 0001 0048         adr.    bgbb    ; bgb. branch if greater byte.
    0bd4 0000 0000 0001 0056         adr.    bebb    ; beb. branch if equal byte.
    0bd5 0000 0000 0001 005e         adr.    blbb    ; blb. branch if less byte.
    0bd6 0000 0000 0001 0065         adr.    bszb    ; bsz. branch if selected bits are zero.
    0bd7 0000 0000 0001 006f         adr.    bopb    ; bop. branch if selected bits has odd parity.
    0bd8 0000 0000 0001 00eb         adr.    update
    0bd9 0000 0000 0001 00eb         adr.    update
    0bda 0000 0000 0002 0008         adr.    ildc
    0bdb 0000 0000 0002 0004         adr.    istc
    0bdc 0000 0000 0001 00eb         radr.   update,4.
                             
\f

!0100 m3503
                             
                             
                             ; format b instruction jump map. escape=1.
                             ; ic 23,25.
    0be0 0000 0000 0000 006e         adr.    ldr23   ; ldr. load register.
    0be1 0000 0000 0000 007a         adr.    ldc23   ; ldc. load complement.
    0be2 0000 0000 0000 0083         adr.    ldi23   ; ldi. load indirect.
    0be3 0000 0000 0000 008e         adr.    stri0   ; str. store register.
    0be4 0000 0000 0000 009c         adr.    sti23   ; sti.  store indirect.
    0be5 0000 0000 0000 00a7         adr.    xsrb0   ; xsr. exchange store and register.
    0be6 0000 0000 0000 00bb         adr.    ldbb    ; ldb. load byte.
    0be7 0000 0000 0000 00c9         adr.    stbb    ; stb. store byte.
    0be8 0000 0000 0000 00d3         adr.    addb    ; add. add integer word.
    0be9 0000 0000 0000 00dd         adr.    subb    ; sub. subtract.
    0bea 0000 0000 0000 00e4         adr.    andb    ; and. logical and.
    0beb 0000 0000 0000 00eb         adr.    lorb    ; logical or.
    0bec 0000 0000 0000 00f2         adr.    xorb    ; xor. exlusive or.
    0bed 0000 0000 0000 00fd         adr.    lce23   ; lce.  load clear enable.
    0bee 0000 0000 0002 000c         adr.    msetb   ; dummy.
    0bef 0000 0000 0001 000b         adr.    rsw23   ; rsw. read switches.
    0bf0 0000 0000 0001 000f         adr.    bgwb    ; bgw. branch if greater.
    0bf1 0000 0000 0001 002d         adr.    bewb    ; bew. branch if equal.
    0bf2 0000 0000 0001 003c         adr.    blwb    ; blw. branch if less.
    0bf3 0000 0000 0001 0048         adr.    bgbb    ; bgb. branch if greater byte.
    0bf4 0000 0000 0001 0056         adr.    bebb    ; beb. branch if equal byte.
    0bf5 0000 0000 0001 005e         adr.    blbb    ; blb. branch if less byte.
    0bf6 0000 0000 0001 0065         adr.    bszb    ; bsz. branch if selected bits are zero.
    0bf7 0000 0000 0001 006f         adr.    bopb    ; bop. branch if selected bits has odd parity.
    0bf8 0000 0000 0001 00eb         adr.    update
    0bf9 0000 0000 0001 00eb         adr.    update
    0bfa 0000 0000 0002 0008         adr.    ildc
    0bfb 0000 0000 0002 0004         adr.    istc
    0bfc 0000 0000 0001 00eb         radr.   update,4.
                             
\f

!0101 m3503
0000 source lines in error
\f

▶EOF◀