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 - download

⟦0c9eeaad9⟧ Bits:30000868 GIER SIMULATOR GIER980ATXT, 8-hole paper tape, TextFileEvenParity

    Length: 91383 (0x164f7)
    Description: Bits:30000868 GIER SIMULATOR GIER980ATXT
    Types: 8-hole paper tape, TextFileEvenParity

TextFileEvenParity

;\f


R:    0,0,0,0        ;
M:    0,0,0,0        ;
F:    0,0,0,0        ;
ybes: 0              ;
      0              ;
by:   0              ;
bl:   0              ;
bsr:  0              ;
fejl: 1<8            ;
r1:   0              ;
s1:   0              ;
in:   0              ;
kbes: 0              ;
      0              ;
      0              ;
tkr:  0              ;
g:    0              ;
ta:   0              ;
svar: 0,0,0,0,0,0    ;
kbuf: 0              ;
vbuf: 0              ;
ybuf: 0              ;
;\f


o0:   qq, qq         ;
      zq, zq         ;
      ar, ardm       ;
      sr, srdm       ;
      an, andm       ;
      sn, sndm       ;
      ac, acdm       ;
      sc, scdm       ;
      mb, mbdm       ;
      ab, abdm       ;
      mt, mtdm       ;
      mk, mkdm       ;
      ml, mldm       ;
      dk, dkdm       ;
      dl, dldm       ;
      nk, nkdm       ;
      nl, nldm       ;
      hr, hrdm       ;
      tl, tldm       ;
      ck, ckdm       ;
      cl, cldm       ;
      gr, grdm       ;
      ga, gadm       ;
      gt, gtdm       ;
      tk, tkdm       ;
      ca, cadm       ;
      gm, gmdm       ;
      pm, pmdm       ;
      xr, xr         ;
      gi, gidm       ;
      ps, psdm       ;
      pp, ppdm       ;
      pa, padm       ;
      pt, ptdm       ;
      hk, hkdm       ;
      pi, pidm       ;
      is, isdm       ;
      it, itdm       ;
      cm, cmdm       ;
      bt, btdm       ;
      ns, nsdm       ;
      nt, ntdm       ;
      gp, gpdm       ;
      nc, ncdm       ;
      il, il         ;
      us, us         ;
      gg, ggdm       ;
      gc, gc         ;
      pc, pc         ;
      bs, bsdm       ;
      hs, hsdm       ;
      vy, vydm       ;
      lk, lkdm       ;
      sk, skdm       ;
      gk, gkdm       ;
      vk, vkdm       ;
      hv, hvdm       ;
      zj, zj         ;
      sy, sydm       ;
      ly, lydm       ;
      hh, hhdm       ;
      gs, gsdm       ;
      zl, zl         ;
      ud, uddm       ;
;\f


c0:   0,r.4096       ;
;\f


;   Den adresseberegning, der indleder enhver ordres udførelse,
;kan i ALGOL (dog uden alle erklæringerne) beskrives således:
;
;Stop:
;      comment: Her stopper GIER både efter en ZQ-ordre og ved
;               tryk på Normal Stop.
;               Det er iøvrigt også på dette trin at et tryk på
;               HP-knappen afbryder kørsel;
;Ny ordre:
;      r2:= r1;
;      s2:= s1;
;
;      if pos(40,r2) then
;         begin
;               if -, højrehalvord then
;                  begin
;                        Fvopr:= vopr(r2);
;                        Hadr:= adr(r2);
;                        r modif:= pos(28,r2);
;                        s modif:= pos(29,r2);
;                        parentes:= pos(27,r2);
;                        højrehalvord:= true
;                  end
;               else
;                  begin
;                        Fvopr:= hopr(r2);
;                        Hadr:= tæl(r2);
;                        r modif:= pos(38,r2);
;                        s modif:= pos(39,r2);
;                        parentes:= pos(37,r2);
;                        højrehalvord:= false;
;                        r1:= r1 + 1
;                  end;
;               Fhopr:= 0;
;               Ftæl:= 0
;         end
;      else
;      begin
;            Fopr:= opr(r2);
;            Hadr:= adr(r2);
;            Ftæl:= tæl(r2);
;            r modif:= pos(28,r2);
;            s modif:= pos(29,r2);
;            parentes:= pos(27,r2);
;            højrehalvord:= false;
;            r1:= r1 + 1;
;            if -, indikatorbetingelse then goto Ny ordre
;      end;
;
;Adresseberegn:
;      if parentes then goto Modif;
;      if statisk operation then goto Modif;
;      adressetal(r2):= Hadr:= Hadr + Ftæl;
;
;Modif:
;      if s modif and -, r modif then
;         begin
;               Hadr:= Hadr + s2;
;               s2:= tæl(s2)
;         end;
;      if r modif and -, s modif then Hadr:= Hadr + r2;
;      if r modif and s modif then Hadr:= Hadr + p;
;      if parentes then
;         begin
;               r2:= Hadr;
;               Hadr:= adr(r2);
;               r modif:= pos(28,r2);
;               s modif:= pos(29,r2);
;               parentes:= pos(27,r2);
;               goto Adresseberegn
;         end;
;
;   Herefter påbegyndes udførelsen af selve operationen, og den
;resulterende adresse c er netop c = Hadr, mens D-adressen er  
;Dadr = r2.
;   Hvor tælletallet benyttes under grundoperationens udførelse,
;tages det fra F-registerets tællepositioner Ftæl.
;   Ved D-mærkede aritmetiske operationer beregnes c med 11 bits
;(evt. med overløb), som indgår i operationen.
;
;
stop: rmo    ra,re   ;
      and  =-1       ;
      snz    ra      ;
      bru    k+4     ;
      lda  = 0       ;
      imo  = fejl    ;
      rin    re,re   ;
      lld    8       ;
      tmbz   4,by    ;
      sabz   14      ;
      snz    ra      ;
      rmo    rl,rp   ;
      ldx  = svar    ;
      lde æ  vbuf    ;
      snz    re      ;
      bru    k+2     ;
      trap   4       ;
      lde æ  kbuf    ;
      snz    re      ;
      bru    k+9     ;
      trap   4       ;
      lda æ  svar    ;
      ior æ  fejl    ;
      sta  = fejl    ;
      lde  = 0       ;
      ste  = kbuf    ;
      ste  = vbuf    ;
      lde  = 1       ;
      ste  = ybes    ;
      ldx  = ybes    ;
      trap   3       ;
      trap   4       ;
      trap   6       ;

a:    dld æ  fejl    ;
      rmo    re,rb   ;
      sze    ra      ;
      brl    stop    ;
      rmo    rb,rs   ;
      ldm æ  s1      ;
ais:  lda  b.c0+3    ;
      tabo   14      ;
      bru   (a0)     ;
      lde  = 3       ;
      ran    ra,re   ;
      tmbz   0,in    ;
      bru    ahh     ;
      smbo   0,in    ;
      lda  b.c0+2    ;
      dst  = F+2     ;
      ldx  b.c0      ;
      bru    a1      ;

a0:   ahel           ;

ahh:  smbz   0,in    ;
      reo    re,ra   ;
      dst  = F+2     ;
      ldx  b.c0+1    ;
      lda æ  r1      ;
      add  = 4       ;
      sabz   3       ;
      sta  = r1      ;
      lda  b.c0+2    ;
a1:   lde  = 0       ;
      ste  = F+1     ;
      brl    am0     ;
ait1: tabz   10      ;
      brl    snm     ;
      lra    5       ;
      and  = 126     ;
      lde æ= 4092    ;
      rex    ra,rb   ;
      brl (b.o0)     ;
      bru    a       ;
      bru    a       ;

am:   sze    re      ;
      tabz   11      ;
      bru    am0     ;
      tabz   4       ;
      tabz   6       ;
      bru    k+3     ;
      tabo   7       ;
      bru    am0     ;
      rex    ra,rx   ;
      rad    re,ra   ;
      lla    4       ;
      ara    4       ;
      sta  b.c0      ;
      rex    ra,rx   ;

am0:  tabz   13      ;
      bru    am2     ;
      tabz   12      ;
      rad    rb,rx   ;
am1:  tabo   11      ;
      rmo    rl,rp   ;
      and æ= 4064    ;
      rex    ra,rx   ;
      and æ= 4092    ;
      rmo    ra,rb   ;
      lda  b.c0+2    ;
      and  = 28      ;
      ror    rx,ra   ;
      ldx  b.c0      ;
      rde    rl,rp   ;

am2:  tabo   12      ;
      bru    am3     ;
      rex    ra,rx   ;
      add æ  F       ;
      rex    ra,rx   ;
      bru    am1     ;

am3:  rad    rm,rx   ;
      rex    rm,rx   ;
      ldx æx+c0+1    ;
      rex    rm,rx   ;
      bru    am1     ;
 
amd:  sze    re      ;
      tabz   11      ;
      bru    amd0    ;
      tabz   4       ;
      tabz   6       ;
      bru    k+3     ;
      tabo   7       ;
      bru    amd0    ;
      rex    ra,re   ;
      lla    4       ;
      ara    4       ;
      rad    ra,rx   ;
      rmo    rx,ra   ;
      lla    4       ;
      ara    4       ;
      sta  b.c0      ;
      rmo    re,ra   ;
amd0: rmo    ra,re   ;
      tabz   13      ;
      bru    amd3    ;
      tabo   12      ;
      bru    amd2    ;
      rmo    rb,ra   ;
amd1: lla    4       ;
      ara    4       ;
      rad    ra,rx   ;
      rmo    re,ra   ;
amd2: tabo   11      ;
      rin    rl,rp   ;
      and æ= 4064    ;
      rex    ra,rx   ;
      and æ= 4092    ;
      rmo    ra,rb   ;
      lda  b.c0+2    ;
      and  = 28      ;
      ror    rx,ra   ;
      ldx  b.c0      ;
      lde æ  F+1     ;
      bru    amd     ;

amd3: tabo   12      ;
      bru    amd4    ;
      lda æ  F       ;
      bru    amd1    ;

amd4: rex    rb,ra   ;
      rex    rb,rm   ;
      ldm  b.c0+1    ;
      rex    rb,ra   ;
      bru    amd1    ;

snm:  lda æ  R+3     ;
      and  = 3       ;
      rmo    ra,re   ;
      lda  = 0       ;
      dst  = R+2     ;
      lde  = 0       ;
      dst  = R       ;
      lda æ  F+2     ;
      tmbo   15,F+3  ;
      rmo    rl,rp   ;
      ste  = M       ;
      rmo    rl,rp   ;

vxm0: lde æ= ii0     ;
      rmo    re,rl   ;
vxm:  tabo   5       ;
      bru    xm      ;
      lda æ  r1      ;
      add  = 4       ;
      sabz   3       ;
      sta  = r1      ;
      rmo    rm,ra   ;
xm:   tabo   4       ;
      rmo    rl,rp   ;
      lda æ  R+3     ;
      lde  =-4       ;
      ran    ra,re   ;
      and  = 3       ;
      ior æ  M+3     ;
      sta  = R+3     ;
      lda æ  R+2     ;
      ldx æ  M+2     ;
      dst  = M+2     ;
      stx  = R+2     ;
      dld æ  R       ;
      lla    4       ;
      ara    4       ;
      ldx æ  M+1     ;
      stx  = R+1     ;
      ldx æ  M       ;
      stx  = R       ;
      dst  = M       ;
      rmo    rm,ra   ;
      rmo    rl,rp   ;

a2:   iln            ;
a3:   amd            ;
a4:   am             ;

ahel: rmo    ra,re   ;
      lda  b.c0+2    ;
      dst  = F+2     ;
      lda  b.c0+1    ;
      sta  = F+1     ;
ait0: smbz   0,in    ;
      lda æ  r1      ;
      add  = 4       ;
      sabz   3       ;
      sta  = r1      ;
      rmo    re,ra   ;
      tabz   7       ;
      brl   (a2)     ;
      dld  b.c0+1    ;
      rex    ra,re   ;
      tmbz   6,F+3   ;
      brl   (a3)     ;
      brl   (a4)     ;
      tabz   10      ;
      brl    snm     ;
      lra    5       ;
      and  = 126     ;
      tmbz   6,F+3   ;
      add  = 1       ;
      lde æ= 4092    ;
      rex    ra,rb   ;
      brl (b.o0)     ;
      bru    im      ;
      lda æ  F+3     ;
      rmo    ra,rm   ;
      brl    vxm     ;
;\f


;IOA   OA-bitten får samme indhold som overløbsregisteret har efter
;      grundoperationens udførelse:
;
;      OA:= if overløb then 1 else 0;
;
;IOB   OB-bitten får samme indhold som O-registeret har efter▶90◀ grund-
;      operationens udførelse:
;
;      OB:= if overløb then 1 else 0;
;
;IOC   OA- og OB-bittene får begge samme indhold som O-registeret har
;      efter grundoperationens udførelse:
;
;      OA:= OB:= if overløb then 1 else 0;
;
;      NB! Overløb registreres ved de aritmetiske grundoperationer
;          (heri indbefattet skifteoperationer) og disses varianter
;          med undtagelse af F-varianten. Det vil sige, at overløbs-
;          registeret O bliver 1-stillet, hvis der er overløb i
;          resultatat i H-registeret, og nulstillet ellers. Ved alle
;          øvrige grundoperationer og varianter er O-registeret
;          uændret.
;
;
;IZA   OA-bitten 1-stilles, hvis indholdet i R-registeret er 0 efter
;      grundoperationens udførelse. Ellers nulstilles OA:
;
;      OA:= if R=0 then 1 else 0;
;
;IZB   OB-bitten 1-stilles, hvis indholdet i R-registeret er 0 efter
;      grundoperationens udførelse. Ellers nulstilles OB:
;
;      OB:= if R=0 then 1 else 0;
;
;IZC   OA- og OB-bittene 1-stilles begge, hvis indholdet i R-regis-
;      teret er 0 efter grundoperationens udførelse. Ellers nulstil-
;      les OA og OB:
;
;      OA:= OB:= if R=0 then 1 else 0;
;
;      NB! R00 er her medregnet.
;          Indicering af nulsituationen i R-registeret kan ske i
;          forbindelse med med enhver operation.
;          Indiceringen sker inden en eventuel X-variants udførelse.
;
;
;ITA   TA-bitten 1-stilles, hvis indholdet i H-registeret er negativt
;      efter grundoperationens udførelse. Ellers nulstilles TA:
;
;      TA:= H00;
;
;ITB   TB-bitten 1-stilles, hvis indholdet i H-registeret er negativt
;      efter grundoperationens udførelse. Ellers nulstilles TB:      
;
;      TB:= H00;
;
;ITC   TA- og TB-bittene 1-stilles begge, hvis indholdet i H-registeret
;      er negativt efter grundoperationens udførelse. Ellers nulstil-
;      les TA og TB:
;
;      TA:= TB:= H00;
;
;      NB! Ved de aritmetiske grundoperationer (samt skifteoperatio-
;          ner og enkelte andre) er fortegnet i H-registeret det sam-
;          me som resultatets fortegn, og det er således resultatets   
;          fortegn, der indiceres. Det er nødvendigt at indicere tegnet
;          i den ordre, hvor det "opstår", da H-registeret anvendes i
;          hver eneste operation.
;          Fortegnet aflæses i pos. 00 og er således korrekt selv om
;          der er opstået overløb.
;          Bemærk iøvrigt forskellen fra indikatordelene LT og NT,
;          hvor fortegnet undersøges i R-registeret.
;
;
;IPA   PA-bitten får samme indhold som Rpos. 40 har efter grundopera-
;      tionens udførelse:
;
;      PA:= Rpos(40);
;
;IPB   PB-bitten får samme indhold som Rpos. 41 har efter grundopera-
;      tionens udførelse:
;
;      PB:= Rpos(41);
;
;IPC   PA- og PB-bittene får samme indhold som henholdsvis R40 og R41
;      har efter grundoperationens udførelse:
;
;      PA:= Rpos(40);
;      PB:= Rpos(41);
;
;IQA
;IQB
;IQC
;IRA
;IRB
;IRC   Har tilsvarende virkninger for Q- og R-bittene.
;
;      NB! Operandcellens mærkning registreres, d.v.s. overføres
;          til R40,41 ved følgende grundoperationer:
;          AR, AN, AC, SR, SN, SC, MK, ML, MT, DK, DL, AB, MB, PM, CM
;          samt disses S-, F-, X-, og V-varianter, men ikke D-varian-
;          terne.
;
;
;IK
;IKA
;IKB
;IKC   Har alle samme virkning, nemlig at indholdet af p-registeret
;      og af indikatoren ombyttes efter grundoperationens udførelse.
;
;      NB! Indholdet af KA og KB indgår ikke i ombytningen og forbliver
;          uændret. 
;
;
ii:   tabz   7       ;
      bru   (ii8)    ;
      tabz   8       ;
      bru    ii1     ;
ii0:  lde  = 12      ;
      ran    ra,re   ;
      and  = 112     ;
      lra    4       ;
      rad    ra,rp   ;
      bru   (ii8)    ;
      bru    ii2     ;
      bru    ii3     ;
      bru    ii6     ;
      bru    ii7     ;
      cre    14      ;
      cre    14      ;
      snz    re      ;
      bru   (ii8)    ;
      sub  = 5       ;
      rmo    ra,rs   ;
      lda æ  R+3     ;
      rad    rs,rp   ;
      lla    2       ;
      lla    2       ;
      lla    2       ;
      ran    re,ra   ;
      riv    re,rs   ;
      lde æ  in      ;
      ran    rs,re   ;
      ror    re,ra   ;
      sta  = in      ;
      bru   (ii8)    ;

ii1:  and  = 112     ;
      sze    ra      ;
      bru   (ii8)    ;
      lda æ  R+3     ;
      ior  = 3       ;
      sta  = R+3     ;
      bru   (ii8)    ;

ii2:  lda æ  in      ;
      rmo    ra,rs   ;
      and æ= 61443   ;= -4093
      ior æ  F       ;
      sta  = in      ;
      lda æ= 4092    ;
      ran    rs,ra   ;
      sta  = F       ;
      bru   (ii8)    ;

ii3:  snz    re      ;
      bru   (ii8)    ;
      tmbz   4,F+3   ;
      bru    ii5     ;
      lda  =-4       ;
      and æ  R+3     ;
      ior æ  R+2     ;
      ior æ  R+1     ;
      ior æ  R       ;
ii4:  cpa  = 0       ;
      cre    8       ;
      riv    re,ra   ;
      and æ  in      ;
      sne            ;
      lde  = 0       ;
      ror    re,ra   ;
      sta  = in      ;
      bru   (ii8)    ;

ii5:  lda æ  M       ;
      ior æ  M+1     ;
      ior æ  M+2     ;
      ior æ  M+3     ;
      bru    ii4     ;

ii6:  snz    re      ;
      bru   (ii8)    ;
      cre    8       ;
      riv    re,ra   ;
      and æ  in      ;
      tabo   1       ;
      lde  = 0       ;
      ror    re,ra   ;
      sta  = in      ;
      bru   (ii8)    ;

ii7:  snz    re      ;
      bru   (ii8)    ;
      cre    10      ;
      riv    re,ra   ;
      and æ  in      ;
      smi    rs      ;
      lde  = 0       ;
      ror    re,ra   ;
      sta  = in      ;
      bru   (ii8)    ;
ii8:  a              ;
;\f


;M     Operandcellens mærkebits nulstilles begge. R-registerets mærke-
;      bits 1-stilles begge:
;
;      pos(40,c):= pos(41,c):= 0;
;      Rpos(40):= Rpos(41):= 1;
;
;MA    Operandcellens mærkebits sættes lig 10. R-registerets mærkebits
;      1-stilles begge:
;
;      pos(40,c):= 1; pos(41,c):= 0;
;      Rpos(40):= Rpos(41):= 1;
;
;MB    Operandcellens mærkebits sættes lig 01. R-registerets mærkebits
;      1-stilles begge:
;
;      pos(40,c):= 0; pos(41,c):= 1;
;      Rpos(40):= Rpos(41):= 1;
;
;MC    Operandcellens mærkebits sættes lig 11. R-registerets mærkebits
;      1-stilles begge:
;
;      pos(40,c):= pos(41,c):= 1;
;      Rpos(40)= Rpos(41):= 1;
;
;      NB! Bruges normalt kun i forbindelse med grundoperationerne
;          AC, SC, GR, GM, GA, GT, GI, GP, GS, GK, GG, NK og NL samt
;          disses varianter.
;          I forbindelse med de øvrige grundoperationer vil operand-
;          cellens mærkebits ikke ændres, men R-registerets mærkebits
;          bliver stadig etstillet.
;          M, MA, MB og MC betegnes som absolutte mærkeoperationer.
;
;
;MOA   Pos. 40 i operandcellen får samme indhold som OA, mens pos. 41
;      nulstilles. R-registerets mærkebits er uændrede:
;
;      pos(40,c):= OA; pos(41,c):= 0;
;
;MOB   Pos. 41 i operandcellen får samme indhold som OB, mens pos. 40
;      nulstilles. R-registerets mærkebits er uændrede:
;
;      pos(40,c):= 0; pos(41,c):= OB;
;
;MOC   Pos. 40-41 i operandcellen får samme indhold som henholdsvis
;      OA og OB. R-registerets mærkebits er uændrede:
;
;      pos(40,c):= OA; pos(41,c):= OB;
;
;      NB! De øvrige bits i indikatoren inklusive KA og KB kan på helt
;          samme måde som OA og OB bruges ved mærkning af en celle.
;          R-registerets mærkebits er altid uændrede.
;          Se iøvrigt bemærkningerne under M.
;          MOA, MOB, MOC,..., MKC betegnes som indikatorafhængige mærke-
;          operationer.
;
;
im:   rmo    ra,rs   ;
      lda æ  F+3     ;
      rmo    ra,rm   ;
      tabz   7       ;
      bru    im1+1   ;
      tabo   8       ;
      bru   (im2)    ;
      lde  = 112     ;
      ran    ra,re   ;
      and  = 12      ;
      lra    2       ;
      rmo    ra,rs   ;
      lda æ  in      ;
      cre    3       ;
      rad    re,rp   ;
      bru    im0     ;
      0              ;
      bru    k+13    ;
      0              ;
      lra    10      ;
      bru    k+10    ;
      lra    10      ;
      bru    k+8     ;
      lra    8       ;
      bru    k+6     ;
      lra    6       ;
      bru    k+4     ;
      lra    4       ;
      bru    k+2     ;
      lra    2       ;
      sze    rs      ;
      bru    im1     ;
      ran    ra,rs   ;
      lda  =-4       ;
      and æx+c0+3    ;
      ror    rs,ra   ;
      sta æx+c0+3    ;
      bru    im1     ;

im0:  lda  =-4       ;
      and æx+c0+3    ;
      ror    rs,ra   ;
      sta æx+c0+3    ;
      lda æ  R+3     ;
      ior  = 3       ;
      sta  = R+3     ;
im1:  rmo    rm,ra   ;
      brl   (im3)    ;
      bru æ  a       ;

im2:  vxm0           ;
im3:  vxm            ;
;\f


;LO
;(NO)  Den aktuelle ordre udføres kun, hvis indholdet i R00 er forskel-
;      ligt fra (lig med) indholdet i R0.
;
;      NB! Uafhængige af indikatorindholdet.
;
;
;LOA
;(NOA) Den aktuelle ordre udføres kun, hvis indholdet i OA er 1 (er 0).
;
;LOB
;(NOB) Den aktuelle ordre udføres kun, hvis indholdet i OB er 1 (er 0).
;
;LOC
;(NOC) Den aktuelle ordre udføres kun, hvis både OA og OB indeholder
;      1 (indeholder 0).
;
;
;LZ
;(NZ)  Den aktuelle ordre udføres kun, hvis indholdet i R er lig 0
;      (forskelligt fra ).
;
;      NB! R00 er her medregnet.
;          Uafhængige af indikatorindholdet.
;
;
;LZA
;LZB
;LZC   Samme virkning som henholdsvis LOA, LOB og LOC.
;
;NZA
;NZB
;NZC   Samme virkning som henholdsvis NOA, NOB og NOC.
;
;
;LT
;(NT)  Den aktuelle ordre udføres kun, hvis R00=1 (R00=0).
;
;      NB! Bemærk forskellen fra fortegnsindiceringen, hvor fortegnet
;          tages fra H00.
;          Uafhængige af indikatorindholdet.
;
;
;LTA
;(NTA) Den aktuelle ordre udføres kun, hvis TA=1 (TA=0).
;
;LTB
;(NTB) Den aktuelle ordre udføres kun, hvis TB=1 (TB=0).
;
;LTC
;(NTC) Den aktuelle ordre udføres kun, hvis TA=TB=1 (TA=TB=0).
;
;
;LA
;(NA)  Den aktuelle ordre udføres kun, hvis R40=1 (R40=0).
;
;LB
;(NB)  Den aktuelle ordre udføres kun, hvis R41=1 (R41=0).
;
;LC
;(NC)  Den aktuelle ordre udføres kun, hvis R40=R41=1 (R40=R41=0).
;
;      NB! Uafhængige af indikatorindholdet.
;
;
;LPA
;(NPA) Den aktuelle ordre udføres kun, hvis PA=1 (PA=0).
;
;LPB
;(NPB) Den aktuelle ordre udføres kun, hvis PB=1 (PB=0).
;
;LPC
;(NPC) Den aktuelle ordre udføres kun, hvis PA=PB=1 (PA=PB=0).
;
;LQA
;NQA
; .
; .
; .
;NRC   Har tilsvarende betingende virkninger.
;
;
;LKA
;(NKA) Den aktuelle ordre udføres kun, hvis KA=1 (KA=0).
;
;LKB
;(NKB) Den aktuelle ordre udføres kun, hvis KB=1 (KB=0).
;
;LKC
;(NKC) Den aktuelle ordre udføres kun, hvis KA=KB=1 (KA=KB=0).
;
;      NB! Indholdet i KA og KB kan kun ændres ved hjælp af trykknapper
;          på manøvrebordet.
;
;
iln:  lde  = 112     ;
      ran    ra,re   ;
      and  = 12      ;
      snz    ra      ;
      bru    iln2    ;
      cre    3       ;
      rad    re,rp   ;
      lra    2       ;
      bru    iln3    ;
      lra    2       ;
      bru    k+11    ;
      lla    8       ;
      bru    k+9     ;
      lla    8       ;
      bru    k+7     ;
      lla    6       ;
      bru    k+5     ;
      lla    4       ;
      bru    k+3     ;
      lla    2       ;
      add  = 0       ;
      lde æ  in      ;
iln0: ran    ra,re   ;
      rcl    ra,re   ;
      tmbo   8,F+3   ;
      bru    k+4     ;
      sne            ;
      rmo    rl,rp   ;
      bru   (iln1)   ;
      seq            ;
      rmo    rl,rp   ;
      bru   (iln1)   ;
iln1: a              ;

iln2: lda æ  R       ;
      cre    4       ;
      rad    re,rp   ;
      rmo    rl,rp   ;
      rmo    rl,rp   ;
      bru    iln4    ;
      bru    iln5    ;
      bru    iln6    ;
      rmo    rl,rp   ;
      rmo    rl,rp   ;
      rmo    rl,rp   ;

iln3: lde æ  R+3     ;
      bru    iln0    ;

iln4: ior æ  R+1     ;
      ior æ  R+2     ;
      ior æ  R+3     ;
      and æ= 65532   ;= -4
      cpa  = 0       ;
      bru    iln0+2  ;

iln5: rmo    ra,re   ;
      lla    4       ;
      ara    4       ;
      bru    iln0+1  ;

iln6: and   (k+2)    ;
      cpl æ= 61440   ;= -1<12
      bru    iln0+2  ;
;\f


;AR    celle c adderes til R og resultatet anbringes i R:
;
;      R:= R + celle(c);
;
;            Mærkning registreres.
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;AR D  c*2**(-9) adderes til R og resultatet anbringes i R:
;
;      R:= R + c*2**(-9);
;
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! c opfattes som et heltal i intervallet -512 <= c <= 511.
;
;AR F  flydcelle c adderes til RF og resultatet anbringes i RF,
;      mens M's tælledel indeholder antallet af skift for resultatet:
;
;      RF:= RF + flydcelle(c);
;      Mtæl:= antal skift;
;
;            Mærkning registreres.
;            Fortegn kan indiceres.
;
;      NB! D-varianten virker som AR D.
;          Ved overløb hoppes til celle 0 med adressen på næste ordre i
;          Radr. (Hvis den aktuelle ordre er en venstre halvordsordre,
;          hoppes til højre halvdel af celle 0; hvis den aktuelle ordre
;          er en højre halvordsordre, hoppes til venstre halvdel af
;          celle 0; i begge tilfælde er Radr = r1).
;
;
ar:   ran    re,rx   ;
      tmbz   15,F+3  ;
      bru    arf     ;
ar0:  lda  =-4       ;
      and æ  R+3     ;
      add æx+c0+3    ;
      cpl æ= 1<12    ;
      sabz   3       ;
      rmo    ra,re   ;
      lda æ  R+2     ;
      add æx+c0+2    ;
      sgt            ;
      add  = 4       ;
      cpl æ= 1<12    ;
      sabz   3       ;
      dst  = R+2     ;
      lda æ  R+1     ;
      add æx+c0+1    ;
      sgt            ;
      add  = 4       ;
      cpl æ= 1<12    ;
      sabz   3       ;
      rmo    ra,re   ;
      lda æ  R       ;
      add æx+c0      ;
      sgt            ;
      add  = 4       ;
      lla    3       ;
      ara    3       ;
      dst  = R       ;
ar1:  tabz   3       ;
      bru    k+9     ;
      tabz   4       ;
      bru    k+4     ;
      smbz   1,in    ;
      rin    rl,rp   ;
      smbo   1,in    ;
      rin    rl,rp   ;
      tabo   4       ;
      bru    k+4     ;
      smbz   1,in    ;
      rin    rl,rp   ;
      smbo   1,in    ;
      rin    rl,rp   ;

ardm: rmo    rx,ra   ;
      add æ  R       ;
      lla    3       ;
      ara    3       ;
      sta  = R       ;
      bru    ar1     ;
arf:
;\f


;AN    Absolutværdien af celle c adderes til R og resultatet anbringes
;      i R:
;
;      R:= R + abs(celle(c));
;
;            Mærkning registreres.
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! Operanden -1 behandles korrekt, d.v.s. absolutværdien af -1
;          er +1 (med overløb).
;
;AN D  Absolutværdien af c*2**(-9) adderes til R og resultatet
;      anbringes i R:
;
;      R:= R + abs(c*2**(-9));
;
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! c opfattes som et heltal i intervallet -512 <= c <= 511.
;
;AN F  Absolutværdien af flydcelle c adderes til RF og resultatet
;      anbringes i RF, mens M's tælledel indeholder antallet af skift
;      for resultatet:
;
;      RF:= RF + abs(flydcelle(c));
;      Mtæl:= antal skift;
;
;            Mærkning kan foretages.
;            Fortegn kan indiceres.
;
;      NB! D-varianten virker som AN D.
;          Ved overløb sker det samme som ved AR F.
;
;
an:   ran    re,rx   ;
      tmbz   15,F+3  ;
      bru    anf     ;
      lda æx+c0      ;
      smi    ra      ;
      bru    ar0     ;
      bru æ  sr0     ;

anf:  lda æx+c0+1    ;
      smi    ra      ;
      bru    arf     ;
      bru æ  srf     ;

andm: smi    rx      ;
      bru    ardm    ;
      bru æ  srdm    ;
;\f


;AC    R adderes til celle c og resultatet anbringes i celle c:
;
;      celle(c):= H:= celle(c) + R;
;
;            Mærkning registreres.
;            Overløb registreres.
;            Mærkning kan foretages.
;            Fortegn kan indiceres.
;
;      NB! R-registeret er uændret.
;          Vi fremhæver at AC F har samme virkning som AC, d.v.s. at
;          der ikke sker en korrekt addition af de flydende tal.
;
;AC D  Radr. adderes til ordrens eventuelle tælletal og denne sum
;      adderes til adressetallet i Dadr:
;
;      adressetal(Dadr):= Hadr:= c + Radr;
;
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;
ac:   ran    re,rx   ;
      lda  =-4       ;
      and æ  R+3     ;
      add æx+c0+3    ;
      cpl æ= 1<12    ;
      sabz   3       ;
      rmo    ra,re   ;
      lda æ  R+2     ;
      add æx+c0+2    ;
      sgt            ;
      add  = 4       ;
      cpl æ= 1<12    ;
      sabz   3       ;
      dst æx+c0+2    ;
      lda æ  R+1     ;
      add æx+c0+1    ;
      sgt            ;
      add  = 4       ;
      cpl æ= 1<12    ;
      sabz   3       ;
      rmo    ra,re   ;
      lda æ  R       ;
      add æx+c0      ;
      sgt            ;
      add  = 4       ;
ac0:  rmo    ra,rs   ;
      lla    4       ;
      ara    4       ;
      dst æx+c0      ;
      rmo    rs,ra   ;
      rde    rl,rl   ;
      bru æ  ar1     ;

acdm: rmo    ra,rb   ;
      rmo    rx,ra   ;
      add æ  R       ;
      rmo    ra,re   ;
      lla    4       ;
      ara    4       ;
      sta  b.c0      ;
      rmo    re,ra   ;
      bru æ  ar1     ;
;\f


;SR    celle c subtraheres fra R og resultatet anbringes i R:
;
;      R:= R - celle(c);
;
;            Mærkning registreres.
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! Operanden -1 behandles korrekt, d.v.s. subtraktion af -1
;          udføres som addition af +1.
;
;SR D  c*2**(-9) subtraheres fra R og resultatet anbringes i R:
;
;      R:= R - c*2**(-9);
;
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! c opfattes som et heltal i intervallet -512 <= c <= 511.
;
;SR F  flydcelle c subtraheres fra RF og resultatet anbringes i RF,
;      mens M's tælledes indeholder antallet af skift for resultatet:
;
;      RF:= RF - flydcelle(c);
;      Mtæl:= antal skift;
;
;            Mærkning registreres.
;            Fortegn kan indiceres.
;
;      NB! D-varianten virker som SR D.
;          Ved overløb hoppes til celle 0 som ved AR F.
;
;
sr:   ran    re,rx   ;
      tmbz   15,F+3  ;
      bru    srf     ;
sr0:  lda æx+c0+3    ;
      ran    ra,re   ;
      and  = 3       ;
      rmo    ra,rs   ;
      lda  =-4       ;
      and æ  R+3     ;
      rsu    re,ra   ;
      ror    rs,ra   ;
      cpa  = 0       ;
      and æ= 4095    ;
      rmo    ra,re   ;
      lda æ  R+2     ;
      sub æx+c0+2    ;
      sle            ;
      sub  = 4       ;
      cpa  = 0       ;
      and æ= 4092    ;
      dst  = R+2     ;
      lda æ  R+1     ;
      sub æx+c0+1    ;
      sle            ;
      sub  = 4       ;
      cpa  = 0       ;
      and æ= 4092    ;
      rmo    ra,re   ;
      lda æ  R       ;
      sub æx+c0      ;
      sle            ;
      sub  = 4       ;
      lla    3       ;
      ara    3       ;
      dst  = R       ;
      bru æ  ar1     ;

srdm: lda æ  R       ;
      rsu    rx,ra   ;
      lla    3       ;
      ara    3       ;
      sta  = R       ;
      bru æ  ar1     ;
srf:
;\f


;SN    Absolutværdien af celle c subtraheres fra R og resultatet
;      anbringes i R:
;
;      R:= R - abs(celle(c));
;
;            Mærkning registreres.
;            Overløb registreres.
;
;      NB! Operanden -1 behandles korrekt, d.v.s. absolutværdien af -1
;          er +1 (med overløb).
;
;SN D  Absolutværdien af c*2**(-9) subtraheres fra R og resultatet
;      anbringes i R:
;
;      R:= R - abs(c*2**(-9));
;
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! c opfattes som et heltal i intervallet -512 <= c <= 511.
;
;SN F  Absolutværdien af flydcelle c subtraheres fra RF og resultatet
;      anbringes i RF, mens M's tælledel indeholder antallet af
;      skift for resultatet:
;
;      RF:= RF - abs(flydcelle(c));
;      Mtæl:= antal skift;
;
;            Mærkning registreres.
;            Fortegn kan indiceres.
;
;      NB! D-varianten virker som SN D.
;          Ved overløb hoppes til celle 0 som ved AR F.
;
;
sn:   ran    re,rx   ;
      tmbz   15,F+3  ;
      bru    snf     ;
      lda æx+c0      ;
      smi    ra      ;
      bru    sr0     ;
      bru æ  ar0     ;

snf:  lda æx+c0+1    ;
      smi    ra      ;
      bru    srf     ;
      bru æ  arf     ;

sndm: spl    rx      ;
      bru    srdm    ;
      bru æ  ardm    ;
;\f


;SC    R subtraheres fra celle c og resultatet anbringes i celle c:
;
;      celle(c):= H:= celle(c) - R;
;
;            Mærkning registreres.
;            Overløb registreres.
;            Mærkning kan foretages.
;            Fortegn kan indiceres.
;
;      NB! R-registeret er uændret.
;          Vi fremhæver at SC F har samme virkning som SC, d.v.s. at
;          der ikke sker en korrekt subtraktion af de flydende tal.
;
;SC D  Radr. subtraheres fra adressetallet i Dadr. Ordrens eventuelle
;      tælletal adderes til resultatet:
;
;      adressetal(Dadr):= Hadr:= c - Radr;
;
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! Hvis R pos. 10-39 <> 0, subtraheres Radr + 1.
;
;
sc:   ran    re,rx   ;
      lda æ  R+3     ;
      ran    ra,re   ;
      lda æx+c0+3    ;
      rsu    re,ra   ;
      cpa  = 0       ;
      and æ= 4095    ;
      rmo    ra,re   ;
      lda æx+c0+2    ;
      sub æ  R+2     ;
      sle            ;
      sub  = 4       ;
      cpa  = 0       ;
      and æ= 4092    ;
      dst æx+c0+2    ;
      lda æx+c0+1    ;
      sub æ  R+1     ;
      sle            ;
      sub  = 4       ;
      cpa  = 0       ;
      and æ= 4092    ;
      rmo    ra,re   ;
      lda æx+c0      ;
      sub æ  R       ;
      sle            ;
      sub  = 4       ;
      bru æ  ac0     ;

scdm: rmo    ra,rb   ;
      lda æ  R+3     ;
      ior æ  R+2     ;
      ior æ  R+1     ;
      ran    ra,re   ;
      rmo    rx,ra   ;
      sub æ  R       ;
      sze    re      ;
      sub  = 4       ;
      rmo    ra,re   ;
      lla    4       ;
      ara    4       ;
      sta  b.c0      ;
      rmo    re,ra   ;
      bru æ  ar1     ;
;\f


;MK    M multipliceres med celle c hvorefter produktet adderes
;      til R:
;
;      R:= R + M*celle(c) + 2**(-40);
;
;            Mærkning registreres.
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! Multiplikationen siges at være akkumulerende.
;          Resultatet er afrundet.
;          Indholdet af M ændres ikke.
;
;MK D  M multipliceres med c*2**(-9) hvorefter produktet adderes
;      til R. Resultatet kommer i R:
;
;      R:= R + M*c*2**(-9) + 2**(-40);
;
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! Som ved MK.
;          Iøvrigt vil c blive opfattet som et heltal i intervallet
;          -512 <= c <= 511.
;
;MK F  RF multipliceres med flydcelle c og produktet kommer i RF:
;
;      RF:= RF*flydcelle(c);
;
;            Mærkning registreres.
;            Fortegn kan indiceres.
;
;      NB! D-varianten virker som MK D.
;          Multiplikationen er ikke akkumulerende.
;          Ved overløb hoppes til celle 0 som ved AR F.
;          Der foretages ingen afrunding.
;
;
mk:
mkdm:
;\f


;ML    M multipliceres med celle c hvorefter produktet adderes til
;      R*2**(-39). Resultatet kommer i RM:
;
;      RM:= R*2**(-39) + M*celle(c);
;      Mpos(0):= 0;
;
;            Mærkning registreres.
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! Multiplikationen udføres uden afrunding.
;          Resultatet har 78 binnaler.
;
;ML D  M multipliceres med c*2**(-9) hvorefter produktet adderes til
;      R*2**(-39). Resultatet kommer i RM:
;
;      RM:= R*2**(-39) + M*c*2**(-9);
;      Mpos(0):= 0;
;
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! Resultatet har 78 binnaler.
;
;
ml:
mldm:
;\f


;MT    R multipliceres med +1 eller med -1 eftersom pos(0,c) er 0
;      eller 1. Resultatet i R:
;
;      R:= if pos(0,c) then -R else R;
;
;            Mærkning registreres.
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! Står der et maskintal i celle c multipliceres R med dettes
;          fortegn.
;          Står der et flydende tal i celle c multipliceres R med
;          fortegnet for dettes exponent.
;
;MT D  c*2**(-9) opfattes som maskintal og R multipliceres med c's
;      fortegn:
;
;      R:= if H00 then -R else R;
;
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;
mt:   ran    re,rx   ;
      lda æx+c0+3    ;
      and  = 3       ;
      rmo    ra,re   ;
      lda æx+c0      ;
      smi    ra      ;
      bru    mt1     ;
      lda  =-4       ;
      and æ  R+3     ;
      rco    ra,ra   ;
      cpa  = 0       ;
      and æ= 4092    ;
      ror    ra,re   ;
mt0:  lda æ  R+2     ;
      sle            ;
      bru    k+4     ;
      rco    ra,ra   ;
      cpa  = 0       ;
      bru    k+2     ;
      riv    ra,ra   ;
      and æ= 4092    ;
      dst  = R+2     ;
      lda æ  R+1     ;
      sle            ;
      bru    k+4     ;
      rco    ra,ra   ;
      cpa  = 0       ;
      bru    k+2     ;
      riv    ra,ra   ;
      and æ= 4092    ;
      rmo    ra,re   ;
      lda æ  R       ;
      sle            ;
      bru    k+3     ;
      rco    ra,ra   ;
      bru    k+3     ;
      ior  = 3       ;
      riv    ra,ra   ;
      dst  = R       ;
      bru æ  ar1     ;

mt1:  lda  =-4       ;
      and æ  R+3     ;
      ror    re,ra   ;
      sta  = R+3     ;
      lda æ  R       ;
      bru æ  ar1     ;

mtdm: smi    rx      ;
      bru    mtd0    ;
      lda æ  R+3     ;
      ran    ra,re   ;
      and  = 3       ;
      rco    re,re   ;
      ror    re,ra   ;
      cpa  = 0       ;
      and æ= 4095    ;
      rmo    ra,re   ;
      bru    mt0     ;

mtd0: lda æ  R       ;
      bru æ  ar1     ;
;\f


;DK    R divideres med celle c; resultatet anbringes i R og
;      resten - multipliceret med 2**39 - anbringes i M.
;      Hvis abs(R) > 2*abs(celle c) registreres der overløb:
;
;      if abs(R) < 2*abs(celle(c)) then
;      begin
;            q:= entier(R/celle(c)*2**39)*2**(-39);
;            M:= (R - q*celle(c))*2**39;
;            R:= q;
;            if celle(c) < 0 and
;               R/celle(c)*2**39 = entier(R/celle(c)*2**39) then
;            begin
;                  R:= q - 2**(-39);
;                  M:= celle(c)
;            end
;      end else
;      overløb:= true;
;
;            Mærkning registreres.
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! Bør kun benyttes såfremt abs(R) < 2*abs(celle c).
;          Hvis abs(R) > abs(celle c) kan man - ved et højreskift - få
;          den halve kvotient i R.
;          Resten vil have divisors fortegn.
;
;DK D  R divideres med c*2**(-9); resultatet anbringes i R og
;      resten - multipliceret med 2**39 - anbringes i M:
;
;      if abs(R) < 2*abs(c*2**(-9)) then
;      begin
;            q:= entier(R/c*2**48)*2**(-39);
;            M:= (R - q*c*2**(-9))*2**39;
;            R:= q;
;            if c < 0 and
;               R/c*2**48 = entier(R/c*2**48) then
;            begin
;                  R:= q - 2**(-39);
;                  M:= c*2**(-9)
;            end
;      end else
;      overløb:= true;
;
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! Bør kun benyttes såfremt abs(R) < 2*abs(c*2**(-9)).
;          c opfattes som et heltal i intervallet -512 <= c <= 511.
;          Se iøvrigt bemærkningen til DK.
;          Hvis kvotienternes absolutværdier er > 2, er både R's og
;          M's indhold ubrugeligt.
;          0/0 giver som resultat R00 = 0, R pos. 0-39 = 1 og M = 0.
;
;DK F  RF divideres med flydcelle c; resultatet kommer i RF; resten
;      går tabt:
;
;      RF:= RF/flydcelle(c);
;
;            Mærkning registreres.
;            Fortegn kan indiceres.
;
;      NB! D-varianten virker som DK D.
;          Ved overløb hoppes til celle 0 som ved AR F.
;
;
dk:
dkdm:
;\f


;DL    RM divideres med celle c; resultatet anbringes i R og
;      resten - multipliceret med 2**39 - anbringes i M. Hvis
;      abs(RM) > abs(celle c)  registreres der overløb:
;
;      ALGOL-beskrivelse som ved DK, idet R erstattes af RM undtagen
;      i sætningerne R:= q og R:= q - 2**(-39).
;
;            Mærkning registreres.
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! Bør kun benyttes såfremt abs(RM) < 2*abs(celle c).
;          Se iøvrigt bemærkningen til DK.
;
;DL D  RM divideres med c*2**(-9), iøvrigt som DK D blot med
;      RM i stedet for R.
;
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! Bør kun benyttes såfremt abs(RM) < 2*abs(c*2**(-9)).
;          c opfattes som et heltal i intervallet -512 <= c <= 511.
;          Se iøvrigt bemærkningen til DK.
;
;
dl:
dldm:
;\f


;NK    R normaliseres, d.v.s. skiftes indtil der fremkommer et tal, N,
;      der opfylder følgende: -1 <= N < -1/2 eller N = 0 eller 
;      1/2 <= N < 1. Normaliseringsexponenten (antallet af skift    
;      med modsat fortegn) anbringes som adressetal i celle c:
;
;      exponent:= 0;
;      if R <> 0 then
;      begin
;            if R00 <> Rpos(0) then
;            begin
;                  for i:= 39 step -1 until 1 do Rpos(i):= Rpos(i-1);
;                  Rpos(0):= R00;
;                  exponent:= 1
;            end else
;      E:    if Rpos(0) = Rpos(1) then
;            begin
;                  R:= 2 * R;
;                  exponent:= exponent - 1;
;                  goto E
;            end
;      end;
;      adressetal(c):= exponent;
;
;            Mærkning kan foretages.
;            Fortegn kan indiceres.
;
;      NB! Normaliseringsexponenten er kun positiv (+1), såfremt der
;          er overløb i R inden operationens udførelse. Der foretages
;          ingen afrunding ved dette højreskift.
;
;NK D  Som NK med den ændring, at normaliseringsexponenten anbringes i
;      den celle, hvis adresse er D-adressen.
;
;            Mærkning kan foretages.
;            Fortegn kan indiceres.
;
;NK F  Først normaliseres R, hvorefter det normaliserede tal forskydes
;      10 pladser til højre. Normaliseringsexponenten minus 1 adderes
;      til c og denne sum anbringes i Madr. (se bemærkningen).
;
;      ALGOL-beskrivelse: Som ved NK idet den sidste sætning erstattes
;      af:
;
;      for i:= 39 step -1 until 10 do Rpos(i):= Rpos(i-10);
;      for i:= 1 step 1 until 9 do Rpos(i):= Rpos(0);
;      Madr:= c + exponent - 1;
;
;            Fortegn kan indiceres.
;
;      NB! D-modifikationen virker som NK D.
;          Ordren NK F 0 vil bevirke, at et maskintal i R omdannes til
;          et flydende tal i RF.
;          Der foretages ingen afrunding.
;          Hvis R = 0, vil NK F c bevirke at Madr:= c.
;
;
nk:
nkdm:
;\f


;NL    RM normaliseres, idet M0 ikke indgår i skiftene: Mpos(0):= 0.
;      I øvrigt som ved NK.
;
;            Mærkning kan foretages.
;            Fortegn kan indiceres.
;
;NL D  Som NL, dog anbringes normaliseringsexponenten i den celle, hvis
;      adresse er D-adressen.
;
;            Mærkning kan foretages.
;            Fortegn kan indiceres.
;
;
nl:
nldm:
;\f


;TK    R forskydes c pladser til venstre hvis c > 0 og -c pladser til
;      højre hvis c < 0:
;
;      if c >= 0 then
;         for k:= 1 step 1 until c do
;         begin
;               R00:= Rpos(0);
;               for i:= 0 step 1 until 38 do Rpos(i):= Rpos(i+1);   
;               Rpos(39):= 0
;         end
;      else
;         begin
;               q:= Rpos(40+c);   
;               for k:= 1 step 1 until -c do
;               begin
;                     for i:= 39 step -1 until 1 do Rpos(i):= Rpos(i-1);
;                     Rpos(0):= R00
;               end;   
;               R:= R + q*2**(-39)
;         end;   
;
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! Såfremt R*2**c ligger i intervallet -2 <= x < 2 vil det være
;          dette tal, der står i R efter operationen.
;          Ved højreskift foretages afrunding til sidst.
;          Overløb registreres til sidst, efter selve skifteoperationen.
;
;TK D  R forskydes så mange pladser til venstre (eller til højre) som
;      Dadr angiver. Iøvrigt som TK.
;
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! Normalt uden interesse.
;
;TK F  R forskydes (c+Madr+1) pladser til venstre hvis (c+Madr+1) > 0,
;      og -(c+Madr+1) pladser til højre hvis (c+Madr+1) < 0.
;
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! D-modificationen virker som TK D.
;          Ordren TK F 10 vil bevirke, at et flydende tal i RF omdannes
;          til et maskintal i R (hvis tallet ligger mellem -2 og 2).
;          Overløb registreres til sidst, efter selve skifteoperationen.
;          Der foretages eventuelt afrunding.
;
;
tk:   rmo    rx,ra   ;
      tmbo   15,F+3  ; 
      bru    tkdm    ;
      add æ  M       ;
      add  = 1       ;
tkdm: lla    4       ;
      ara    6       ;
;\f


;TL    RM forskydes, idet dog M0 ikke indgår: Mpos(0):= 0. I øvrigt
;      som TK, men uden afrunding ved højre skift.
;
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;TL D  Som TK D, men med RM i stedet for R.
;
;            Overløb registreres.
;            Fortegn kan indiceres.
;
;      NB! Normalt uden interesse.
;
;
tl:   rmo    rx,ra   ;
tldm: lla    4       ;
      ara    6       ;
;\f


;CK    R forskydes cyklisk c pladser til venstre hvis c > 0 og -c
;      pladser til højre hvis c < 0:
;
;      R00:= 0
;      if c >= 0 then
;         for k:= 1 step 1 until c do
;         begin
;               a:= Rpos(0);   
;               for i:= 0 step 1 until 38 do Rpos(i):= Rpos(i+1);   
;               Rpos(39):= a
;         end
;      else
;         for k:= 1 step 1 until -c do
;         begin
;               a:= Rpos(39);   
;               for i:= 39 step -1 until 1 do Rpos(i):= Rpos(i-1);   
;               Rpos(0):= a
;         end;   
;
;            Overløb registreres.
;
;      NB! Pos. 00 i R-registeret indgår ikke i skiftet, men nulstilles.
;
;CK D  R forskydes cyklisk så mange pladser til venstre (eller til
;      højre) som Dadr angiver. Iøvrigt som CK.
;
;            Overløb registreres.
;
;      NB! Normalt uden interesse.
;
;
ck:   rmo    rx,ra   ;
ckdm: lla    4       ;
      ara    6       ;
      add æ= 520     ;
      rmo    ra,re   ;
      lda  = 0       ;
      div  = 40      ;
      lda  = 0       ;
      div  = 10      ;
      rco    ra,rb   ;
      lda    ck1     ;
      rad    re,ra   ;
      sta    ck3     ;
      rmo    rl,rs   ;
      dld æ  R       ;
      brl    ck2     ;
      dld æ  R+1     ;
      brl    ck2     ;
      dld æ  R+2     ;
      brl    ck2     ;
      lde æ  R       ;
      ald    3       ;
      lda æ  R+3     ;
      ldm  = 3       ;
      ran    ra,rm   ;
      lra    2       ;
      brl    ck3     ;
      dld    ck0     ;
      tabz   4       ;
      bru    k+4     ;
      smbz   1,in    ;
      bru    k+3     ;
      smbo   1,in    ;
      dst  = R       ;
      dld    ck0+2   ;
      ror    rm,re   ;
      dst  = R+2     ;
      rin    rs,rp   ;

ck0:  0,0,0,0        ;
ck1:  ald    0       ;

ck2:  ald    3       ;
      lra    5       ;
ck3:  0              ;
      lla    2       ;
      and æ= 4092    ;
      ldx  = 3       ;
      ran    rb,rx   ;
      sta  x+ck0     ;
      rin    rb,rb   ;
      rmo    rl,rp   ;
;\f


;CL    RM forskydes cyklisk c pladser til venstre hvis c > 0 og -c
;      pladser til højre hvis c < 0. M0 indgår ikke: Mpos(0):= 0.
;      Iøvrigt som CK.
;
;            Overløb registreres.
;
;      NB! Pos. 00 i R-registeret og pos. 0 i M-registeret indgår ikke i
;          i skiftet, men nulstilles.
;
;CL D  Som CK D, men med RM i stedet for R.
;
;            Overløb registreres.
;
;      NB! Normalt uden interesse.
;
;
cl:   rmo    rx,ra   ;
cldm: lla    4       ;
      ara    6       ;
      add æ= 553     ;
      rmo    ra,re   ;
      lda  = 0       ;
      div  = 79      ;
      lda  = 0       ;
      div  = 10      ;
      sub  = 4       ;
      rco    ra,rb   ;
      lda    cl1     ;
      rad    re,ra   ;
      sta    cl3     ;
      rmo    rl,rs   ;
      dld æ  M       ;
      brl    cl2     ;
      dld æ  M+1     ;
      brl    cl2     ;
      dld æ  M+2     ;
      brl    cl2     ;
      lde æ  R       ;
      ald    3       ;
      lda æ  M+3     ;
      lra    2       ;
      brl    cl3     ;
      dld æ  R       ;
      brl    cl2     ;
      dld æ  R+1     ;
      brl    cl2     ;
      dld æ  R+2     ;
      brl    cl2     ;
      lde æ  M       ;
      ald    4       ;
      lda æ  R+3     ;
      lra    2       ;
      brl    cl3     ;
      dld    cl0     ;
      tabz   4       ;
      bru    k+4     ;
      smbz   1,in    ;
      bru    k+3     ;
      smbo   1,in    ;
      dst  = R       ;
      dld    cl0+2   ;
      ror    rm,re   ;
      dst  = R+2     ;
      dld    cl0+4   ;
      sabz   4       ;
      dst  = M       ;
      dld    cl0+6   ;
      dst  = M+2     ;
      rin    rs,rp   ;

cl0:  0,0,0,0,0,0,0,0;
cl1:  ald    0       ;

cl2:  ald    3       ;
      lra    5       ;
cl3:  0              ;
      ldx  = 4       ;
      rca    rb,rx   ;
      slt            ;
      ald    1       ;
      lla    2       ;
      and æ= 4092    ;
      ldx  = 7       ;
      ran    rb,rx   ;
      sta  x+cl0     ;
      rin    rb,rb   ;
      rmo    rl,rp   ;
;\f


;AB    celle c adderes logisk til R og summen anbringes i R:
;
;      for i:= 0 step 1 until 39 do
;          Rpos(i):= Rpos(i) or pos(i,c);
;      R00:= R00 or pos(0,c);
;
;            Mækning registreres.
;            Fortegn kan indiceres.
;
;AB D  c adderes logisk til R og summen anbringes i R:
;
;      for i:= 0 step 1 until 9 do
;          Rpos(i):= Rpos(i) or Hpos(i);
;      R00:= R00 or H00;
;
;            Fortegn kan indiceres.
;
;AB X  Efter udførelsen af AB anbringes R i M-registeret
;      og -,R i R-registeret:
;
;      for i:= 0 step 1 until 39 do
;      begin
;            Mpos(i):= Rpos(i) or pos(i,c);
;            Rpos(i):= -,Mpos(i)
;      end;
;      R00:= -,(R00 or pos(0,c));
;
;            Mærkning registreres.
;            Fortegn kan indiceres.
;
;AB DX Efter udførelsen af AB D anbringes R i M-registeret
;      og -,R i R-registeret:
;
;      for i:= 0 step 1 until 9 do
;          Rpos(i):= Rpos(i) or Hpos(i);
;      for i:= 0 step 1 until 39 do
;      begin
;            Mpos(i):= Rpos(i);
;            Rpos(i):= -,Rpos(i)
;      end;
;      R00:= -,(R00 or H00);
;
;            Fortegn kan indiceres.
;
;
ab:   ran    re,rx   ;
      tmbz   4,F+3   ;
      bru    abx     ;
      lda  =-4       ;
      and æ  R+3     ;
      ior æx+c0+3    ;
      rmo    ra,re   ;
      lda æ  R+2     ;
      ior æx+c0+2    ;
      dst  = R+2     ;
      lda æ  R+1     ;
      ior æx+c0+1    ;
      rmo    ra,re   ;
      lda æ  R       ;
      ior æx+c0      ;
      dst  = R       ;
      rin    rl,rp   ;

abx:  lda  =-4       ;
      and æ  R+3     ;
      ior æx+c0+3    ;
      lde  =-4       ;
      ran    ra,re   ;
      ste  = M+3     ;
      lde æ= 4092    ;
      reo    ra,re   ;
      lda æ  R+2     ;
      ior æx+c0+2    ;
      sta  = M+2     ;
      riv    ra,ra   ;
      and æ= 4092    ;
      dst  = R+2     ;
      lda æ  R+1     ;
      ior æx+c0+1    ;
      sta  = M+1     ;
      lde æ= 4092    ;
      reo    ra,re   ;
      lda æ  R       ;
      ior æx+c0      ;
      rmo    ra,rs   ;
      lla    4       ;
      ara    4       ;
      sta  = M       ;
      lda  =-4       ;
      reo    rs,ra   ;
      dst  = R       ;
abx0: lda æ  F+3     ;
      tabo   5       ;
      bru   (abx1)   ;
      rmo    ra,re   ;
      lda æ  r1      ;
      add  = 4       ;
      sabz   3       ;
      sta  = r1      ;
      rmo    re,ra   ;
      bru   (abx1)   ;
abx1: ii             ;

abdm: tmbz   4,F+3   ;
      bru    abdx    ;
      rmo    rx,ra   ;
      ior æ  R       ;
      sta  = R       ;
      rmo    ra,rs   ;
      bru    abx0    ;

abdx: lda æ  R+3     ;
      ran    ra,re   ;
      ste  = M+3     ;
      lde æ= 4092    ;
      reo    ra,re   ;
      lda æ  R+2     ;
      sta  = M+2     ;
      riv    ra,ra   ;
      and æ= 4092    ;
      dst  = R+2     ;
      dld æ  R       ;
      ror    rx,ra   ;
      rmo    ra,rs   ;
      lla    4       ;
      ara    4       ;
      dst  = M       ;
      riv    re,ra   ;
      and æ= 4092    ;
      rmo    ra,re   ;
      lda  =-4       ;
      reo    rs,ra   ;
      dst  = R       ;
      bru    abx0    ;
;\f


;MB    celle c multipliceres logisk med R og produktet anbringes i R:
;
;      for i:= 0 step 1 until 39 do
;          Rpos(i):= Rpos(i) and pos(i,c);
;      R00:= R00 and pos(0,c);
;
;            Mærkning registreres.
;            Fortegn kan indiceres.
;
;MB D  c multipliceres logisk med R og produktet anbringes i R:
;
;      for i:= 0 step 1 until 9 do
;          Rpos(i):= Rpos(i) and Hpos(i);
;      R00:= R00 and H00;
;      for i:= 10 step 1 until 39 do Rpos(i):= 0;
;
;            Fortegn kan indiceres.
;
;MB X  Efter udførelse af MB anbringes R i M-registeret og
;      nonækvivalens af opr. R og celle(c) anbringes i
;      R-registeret:
;
;      for i:= 0 step 1 until 39 do
;      begin
;            Mpos(i):= Rpos(i) and pos(i,c);
;            Rpos(i):= -,(Rpos(i) == pos(i,c))
;      end;
;      R00:= -,(R00 == pos(o,c));
;
;            Mærkning registreres.
;            Fortegn kan indiceres.
;
;MB DX Efter udførelsen af MB D anbringes R i M-registeret og
;      nonækvivalens af opr. R og c anbringes i R-registeret:
;
;      for i:= 0 step 1 until 9 do
;      begin
;            Mpos(i):= Rpos(i) and Hpos(i);
;            Rpos(i):= -,(Rpos(i) == Hpos(i))
;      end;
;      R00:= -,(R00 == H00);
;      for i:= 10 step 1 until 39 do Mpos(i):= 0;
;
;            Fortegn kan indiceres.
;
;      NB! Pos. 10-39 i R er uændrede efter operationen.
;
;
mb:   ran    re,rx   ;
      tmbz   4,F+3   ;
      bru    mbx     ;
      lda æ  R+3     ;
      ior  = 3       ;
      and æx+c0+3    ;
      rmo    ra,re   ;
      lda æ  R+2     ;
      and æx+c0+2    ;
      dst  = R+2     ;
      lda æ  R+1     ;
      and æx+c0+1    ;
      rmo    ra,re   ;
      lda æ  R       ;
      and æx+c0      ;
      dst  = R       ;
      rin    rl,rp   ;

mbx:  lda  =-4       ;
      and æ  R+3     ;
      rmo    ra,rs   ;
      lde æx+c0+3    ;
      ran    re,ra   ;
      sta  = M+3     ;
      reo    rs,re   ;
      ste  = R+3     ;
      lde æ  R+2     ;
      rmo    re,rs   ;
      lda æx+c0+2    ;
      ran    ra,re   ;
      ste  = M+2     ;
      reo    rs,ra   ;
      sta  = R+2     ;
      lde æ  R+1     ;
      rmo    re,rs   ;
      lda æx+c0+1    ;
      ran    ra,re   ;
      ste  = M+1     ;
      reo    rs,ra   ;
      sta  = R+1     ;
      lde æ  R       ;
      rmo    re,rs   ;
      lda æx+c0      ;
      reo    ra,re   ;
      ste  = R       ;
      ran    ra,rs   ;
      rmo    rs,ra   ;
      lla    4       ;
      ara    4       ;
      sta  = M       ;
      bru    abx0    ;

mbdm: tmbz   4,F+3   ;
      bru    mbdx    ;
      lda æ  R+3     ;
      and  = 3       ;
      rmo    ra,re   ;
      lda  = 0       ;
      dst  = R+2     ;
      rmo    rx,ra   ;
      lde  = 0       ;
      and æ  R       ;
      dst  = R       ;
      rmo    ra,rs   ;
      bru æ  abx0    ;

mbdx: dld  = 0       ;
      dst  = M+2     ;
      lda æ  R       ;
      rmo    rx,rs   ;
      reo    ra,rx   ;
      stx  = R       ;
      ran    ra,rs   ;
      rmo    rs,ra   ;
      lla    4       ;
      ara    4       ;
      dst  = M       ;
      bru æ  abx0    ;
;\f


;PM    Indholdet af celle c anbringes i M:
;
;      M:= celle(c);
;
;            Mærkning registreres.
;            Fortegn kan indiceres.
;
;PM D  c*2**(-9) anbringes i M0-9 mens resten af M nulstilles:
;
;      M:= c*2**(-9);
;
;            Fortegn kan indiceres;
;
;
pm:   lda æx+c0+3    ;
      ran    ra,re   ;
      and  = 3       ;
      rmo    ra,rs   ;
      lda  =-4       ;
      and æ  R+3     ;
      ror    rs,ra   ;
      sta  = R+3     ;
      lda æx+c0+2    ;
      dst  = M+2     ;
      dld æx+c0      ;
      dst  = M       ;
      rin    rl,rp   ;

pmdm: dld  = 0       ;
      dst  = M+2     ;
      rmo    rx,ra   ;
      dst  = M       ;
      rin    rl,rp   ;
;\f


;PI    Den modificerede adresse placeres i indikatoren (på nær KA
;      og KB) med ordrens tælletal som maske, idet de positioner i
;      indikatoren, der er angivet ved ettaller i ordrens tælletal
;      (binært), ikke ændres:
;
;      for i:= 0 step 1 until 9 do
;          in(i):= (in(i) and Ftæl(i)) or (Hpos(i) and -,Ftæl(i));
;
;      NB! Ordren er statisk.
;          Står PI som halvordsordre, opfattes tælletallet som nul,
;          d.v.s. at hele den modificerede adresse overføres til
;          indikatoren.
;
;PI D  Som ovenfor idet D-adressen træder i stedet for den
;      modificerede adresse.
;
;      NB! Ordren er statisk.
;          Normalt uden interesse.
;
;
pidm: rmo    ra,rx   ;
pi:   lda æ  F+1     ;
      ior æ= 61443   ;= -4093
      riv    ra,re   ;
      and æ  in      ;
      ran    rx,re   ;
      ror    re,ra   ;
      sta  = in      ;
      rin    rl,rp   ;
;\f


;PP    c placeres i p-registeret:
;
;      p:= c;
;
;PP D  D-adressen anbringes i p-registeret:
;
;      p:= Dadr;
;
;      NB! Normalt uden interesse.
;
;
ppdm: rmo    ra,rx   ;
pp:   ran    re,rx   ;
      stx  = F       ;
      rin    rl,rp   ;
;\f


;PS    c placeres i sekvensregisteret:
;
;      s1:= c;
;
;PS D  D-adressen anbringes i sekvensregisteret:
;
;      s1:= Dadr;
;
;      NB! Normalt uden interesse.
;
;
psdm: rmo    ra,rx   ;
ps:   ran    re,rx   ;
      stx  = s1      ;
      rin    rl,rp   ;
;\f


;PA    Ordrens tælletal anbringes i positionerne 0-9 af celle c,
;      mens resten af cellen er uforandret:
;
;      adressetal(c):= Ftæl;
;
;      NB! Ordren er statisk.
;          Hvis PA-ordren er en halvordsordre, virker den som
;          en helordsordre med tælletal 0.
;
;PA D  Ordrens tælletal anbringes i pos. 0-9 i den celle, D-adressen
;      angiver:
;
;      adressetal(Dadr):= Ftæl;
;
;      NB! Ordren er statisk.
;
;
padm: rmo    ra,rx   ;
pa:   ran    re,rx   ;
      lda æ  F+1     ;
      lla    4       ;
      ara    4       ;
      sta æx+c0      ;
      rin    rl,rp   ;
;\f


;PT    Ordrens tælletal anbringes i pos. 10-19 af celle c, mens
;      resten af cellen er uændret:
;
;      tælletal(c):= Ftæl;
;
;      NB! Ordren er statisk.
;          Hvis PT-ordren er en halvordsordre, virker den som en 
;          helordsordre med tælletal 0.
;
;PT D  Ordrens tælletal anbringes i pos. 10-19 af den celle,
;      D-adressen angiver:
;
;      tælletal(Dadr):= Ftæl;
;
;      NB! Ordren er statisk.
;
;
ptdm: rmo    ra,rx   ;
pt:   ran    re,rx   ;
      lda æ  F+1     ;
      sta æx+c0+1    ;
      rin    rl,rp   ;
;\f


;GR    R lagres i celle c:
;
;      celle(c):= R;
;
;            Mærkning kan foretages.
;
;      NB! R00 er irrelevant.
;
;GR D  Adressetal og tælletal i R lagres i de tilsvarende
;      positioner i den celle, der angives ved D-adressen,
;      mens resten af cellen er uændret:
;
;      adressetal(Dadr):= Radr;
;      tælletal(Dadr):= Rtæl;
;
;      NB! R00 er irrelevant.
;
;GR F  RF lagres i celle c:
;
;      flydcelle(c):= RF;
;
;            Mærkning kan foretages.
;
;      NB! R00-9 er irrelevant.
;          D-varianten virker som GR D.
;
;
gr:   ran    re,rx   ;
      lda æ  R+3     ;
      ran    ra,re   ;
      lda æx+c0+3    ;
      and  = 3       ;
      ror    ra,re   ;
      lda æ  R+2     ;
      dst æx+c0+2    ;
      tmbz   15,F+3  ;
      bru    grf     ;
      dld æ  R       ;
      lla    4       ;
      ara    4       ;
      dst æx+c0      ;
      rmo    rl,rp   ;

grf:  lde æ  R+1     ;
      lda æ  M       ;
      dst æx+c0      ;
      rmo    rl,rp   ;

grdm: rmo    ra,rb   ;
      dld æ  R       ;
      lla    4       ;
      ara    4       ;
      dst  b.c0      ;
      rin    rl,rp   ;
;\f


;GM    M lagres i celle c:
;
;      celle(c):= M;
;
;            Mærkning kan foretages.
;
;GM D  Adressetal og tælletal i M lagres i de tilsvarende
;      positioner i den celle, der angives ved D-adressen,
;      mens resten af cellen er uændret:
;
;      adressetal(Dadr):= Madr;
;      tælletal(Dadr):= Mtæl;
;
;
gm:   ran    re,rx   ;
      lda æx+c0+3    ;
      and  = 3       ;
      ior æ  M+3     ;
      rmo    ra,re   ;
      lda æ  M+2     ;
      dst æx+c0+2    ;
      dld æ  M       ;
      dst æx+c0      ;
      rmo    rl,rp   ;

gmdm: rmo    ra,rb   ;
      dld æ  M       ;
      dst  b.c0      ;
      rin    rl,rp   ;
;\f


;GA    Adressetallet i R lagres i pos. 0-9 i celle c, mens
;      resten af cellen er uændret:
;
;      adressetal(c):= Radr;
;
;            Mærkning kan foretages.
;
;GA D  Adressetallet i R lagres i pos. 0-9 i den celle, der
;      angives ved D-adressen, mens resten af denne celle er
;      uændret:
;
;      adressetal(Dadr):= Radr;
;
;            Mærkning kan foretages.
;
;
gadm: rmo    ra,rx   ;
ga:   ran    re,rx   ;
      lda æ  R       ;
      lla    4       ;
      ara    4       ;
      sta æx+c0      ;
      rmo    rl,rp   ;
;\f


;GT    Tælletallet i R lagres i pos. 10-19 i celle c, mens
;      resten af cellen er uændret:
;
;      tælletal(c):= Rtæl;
;
;            Mærkning kan foretages.
;
;GT D  Tælletallet i R lagres i pos. 10-19 i den celle, der
;      angives ved D-adressen, mens resten af denne celle er
;      uændret:
;
;      tælletal(Dadr):= Rtæl;
;
;            Mærkning kan foretages.
;
;
gtdm: rmo    ra,rx   ;
gt:   ran    re,rx   ;
      lda æ  R+1     ;
      sta æx+c0+1    ;
      rmo    rl,rp   ;
;\f


;GP    p-registerets indhold lagres i pos. 0-9 i celle c, mens
;      resten af cellen er uforandret:
;
;      adressetal(c):= p;
;
;            Mærkning kan foretages.
;
;GP D  p-registerets indhold lagres i pos. 0-9 i den celle, der
;      angives ved D-adressen, mens resten af cellen er uændret:
;
;      adressetal(Dadr):= p;
;
;            Mærkning kan foretages.
;
;
gpdm: rmo    ra,rx   ;
gp:   ran    re,rx   ;
      lda æ  F       ;
      lla    4       ;
      ara    4       ;
      sta æx+c0      ;
      rmo    rl,rp   ;
;\f


;GS    Sekvensregisterets indhold lagres i pos. 0-9 i celle c, mens
;      resten af cellen er uforandret:
;
;      adressetal(c):= s1;
;
;            Mærkning kan foretages.
;
;GS D  Sekvensregisterets indhold lagres i pos. 0-9 i den celle,
;      der angives ved D-adressen, mens resten af cellen er uændret:
;
;      adressetal(Dadr):= s1;
;
;            Mærkning kan foretages.
;
;
gsdm: rmo    ra,rx   ;
gs:   ran    re,rx   ;
      lda æ  s1      ;
      lla    4       ;
      ara    4       ;
      sta æx+c0      ;
      rmo    rl,rp   ;
;\f


;GI    Indikatorens indhold (på nær KA og KB) lagres i pos. 0-9
;      i celle c, mens resten af cellen er uforandret:
;
;      adressetal(c):= indikator;
;
;            Mærkning kan foretages.
;
;GI D  Indikatorens indhold (på nær KA og KB) lagres i pos. 0-9
;      i den celle, der angives ved D-adressen, mens resten af
;      cellen er uændret:
;
;      adressetal(Dadr):= indikator;
;
;            Mærkning kan foretages.
;
;
gidm: rmo    ra,rx   ;
gi:   ran    re,rx   ;
      lda  =-4       ;
      and æ  in      ;
      lla    4       ;
      ara    4       ;
      sta æx+c0      ;
      rmo    rl,rp   ;
;\f


;GK    Indholdet af by-registeret samt kanalregisteret lagres i
;      adresse- og tællepositionerne i celle c, mens resten af
;      cellen er uændret:
;
;      adressetal(c):= by;
;      tælletal(c):= tk;
;
;            Mærkning kan foretages.
;
;GK D  Som ovenfor, idet lagringen sker i den celle, der angives
;      ved D-adressen:
;
;      adressetal(Dadr):= by;
;      tælletal(Dadr):= tk;
;
;            Mærkning kan foretages.
;
;
gkdm: rmo    ra,rx   ;
gk:   ran    re,rx   ;
      lda æ  by      ;
      lla    4       ;
      ara    4       ;
      lde æ  tkr     ;
      dst æx+c0      ;
      rmo    rl,rp   ;
;\f


;GG    Gruppereristerets indhold lagres i pos. 0-9 i celle c, mens
;      resten af cellen er uforandret:
;
;      adressetal(c):= g;
;
;            Mærkning kan foretages.
;
;GG D  Som ovenfor, idet lagringen sker i den celle, der angives 
;      ved D-adressen:
;
;      adressetal(Dadr):= g;
;
;            Mærkning kan foretages.
;
;
ggdm: rmo    ra,rx   ;
gg:   ran    re,rx   ;
      lda æ  g       ;
      sta æx+c0      ;
      rmo    rl,rp   ;
;\f


;IS    IS-ordren har kun virkning, hvis s indgår i adresseberegningen
;      for den umiddelbart følgende ordre og kun første gang s indgår.
;      Virkningen vil da være, at den resulterende adresse i IS-ordren
;      anvendes som s-værdi ved adresseberegningen i den følgende ordre
;      uanset sekvensregisterets øjeblikkelige indhold (og dette er
;      uændret efter operationen):
;
;      s2:= c;
;      comment: Denne sætning erstatter sætningen s2:= s1 i adresse-
;               bereregningen for den umiddelbart følgende ordre;
;
;      NB! Den umiddelbart følgende ordre bør (af hensyn til overvåg-
;          ningsprogrammer) ikke være en hopordre eller en V-variant.
;          Indicering er virkningsløs.
;          X og V-variant i IS-ordren er virkningsløse.
;
;IS D  Ordrens D-adresse anvendes som s-værdi i den umiddelbart
;      følgende ordre. I øvrigt som IS-ordren.
;
;      NB! Se under IS-ordren.
;
;
isdm: rmo    ra,rx   ;
is:   ran    re,rx   ;
      brl    is0     ;
      rmo    ra,rb   ;
      rmo    ra,rs   ;
      rmo    rx,rm   ;
      bru æ  ais     ;

is0:  rmo    rs,ra   ;
      tmbo   14,F+3  ;
      bru    k+3     ;
      tmbo   0,in    ;
      add  = 4       ;
      sabz   3       ;
      rmo    rl,rp   ;
;\f


;NS    Ordrens resulterende adresse med modsat fortegn anvendes som
;      s-værdi i den umiddelbart følgende ordre. I øvrigt som
;      IS-ordren:
;
;      s2:= -c;
;      comment: Denne sætning erstatter sætningen s2:= s1 i adresse-
;               beregningen for den umiddelbart følgende ordre;
;
;      NB! Se under IS-ordren.
;
;NS D  Ordrens D-adresse med modsat fortegn anvendes som s-værdi i
;      den umiddelbart følgende ordre. I øvrigt som NS-ordren.
;
;      NB! Se under IS-ordren.
;
;
nsdm: rmo    ra,rx   ;
ns:   rco    rx,rx   ;
      bru    is      ;
;\f


;IT    Ordrens resulterende adresse anvendes som tælletal i den
;      umiddelbart følgende ordre uanset denne ordres eventuelle
;      tælletal (som er uændret efter operationen):
;
;      Ftæl:= c;
;      comment: Denne sætning erstatter sætningerne Ftæl:= 0 og
;               Ftæl:= tælletal(r2) i adresseberegningen for den
;               umiddelbart følgende ordre;
;
;      NB! Den umiddelbart følgende ordre bør (af hensyn til overvåg-
;          ningsprogrammer) ikke være en hopordre eller en V-variant.
;          X- og V-variant i IT ordren er virkningsløse.
;          Indicering er virkningsløs.
;          Hvis IT-ordren er en venstre halvordsordre, bør den tilhø-
;          rende højre halvordsordre være statisk eller parentesmærket;
;          i modsat fald ændres IT-ordrens adressetal.
;
;IT D  Ordrens D-adresse anvendes som tælletal i den umiddelbart
;      følgende ordre. I øvrigt som IT-ordren.
;
;      NB! Se under IT-ordren.
;
;
itdm: rmo    ra,rx   ;
it:   ran    re,rx   ;
      stx  = F+1     ;
      brl    is0     ;
      rmo    ra,rs   ;
      rmo    ra,rb   ;
      ldm æ  s1      ;
      lda  b.c0+3    ;
      tabo   14      ;
      bru    it2     ;
      lde  = 3       ;
      ran    ra,re   ;
      tmbz   0,in    ;
      bru    it0     ;
      smbo   0,in    ;
      lda  b.c0+2    ;
      dst  = F+2     ;
      rmo    rx,re   ;
      ldx  b.c0      ;
      bru    it1     ;

it0:  smbz   0,in    ;
      reo    re,ra   ;
      dst  = F+2     ;
      rmo    rx,re   ;
      ldx  b.c0+1    ;
      lda æ  r1      ;
      add  = 4       ;
      sabz   3       ;
      sta  = r1      ;
      lda  b.c0+2    ;
it1:  brl æ  am      ;
      bru æ  ait1    ;


it2:  rmo    ra,re   ;
      lda  b.c0+2    ;
      dst  = F+2     ;
      bru æ  ait0    ;
;\f


;NT    Ordrens resulterende adresse med modsat fortegn anvendes som
;      tælletal i den umiddelbart følgende ordre. I øvrigt som IT-
;      ordren:
;
;      Ftæl:= -c;
;      comment: Denne sætning erstatter sætningerne Ftæl:= 0 og
;               Ftæl:= tælletal(r2) i adresseberegningen for den
;               umiddelbart følgende ordre;
;
;      NB! Se under IT-ordren.
;
;NT D  Ordrens D-adresse med modsat fortegn anvendes som tælletal
;      i den umiddelbart følgende ordre. I øvrigt som NT-ordren.
;
;      NB! Se under IT-ordren.
;
;
ntdm: rmo    ra,rx   ;
nt:   rco    rx,rx   ;
      bru    it      ;
;\f


;BT    Idet ordrens resulterende adresse c og dens tælletal t
;      begge opfattes som tal i intervallet -512 <= x <= 511,
;      udføres den ordre (eller de ordrer), der findes til og
;      med den følgende højre halvcelle, kun såfremt c > t.
;      Ellers overspringes denne ordre (eller disse ordrer):
;
;      if c <= Ftæl then
;      begin
;            højrehalvord:= false;
;            r1:= r1+1
;      end;
;
;      NB! For en halvordsordre sættes tælletallet t=0.
;          Hvis BT-ordren er V-mærket, gælder den beskrevne virk-
;          ning ordren (ordrene) i celle r+2, idet cellen umid-
;          delbart efter BT-ordren da altid overspringes.
;
;BT D  Ordren har betingende virkning nøjagtig som BT, blot
;      sammenlignes D-adressen med tælletallet:
;
;      if Dadr <= Ftæl then
;      begin
;            højrehalvord:= false;
;            r1:= r1+1
;      end;
;
;      NB! V-variant: Som ved BT.
;
;\f


;BS    Idet ordrens modificerede adresse m og dens tælletal t
;      begge opfattes som tal i intervallet -512 <= x <= 511,
;      udføres den ordre (eller de ordrer), der findes til og
;      med den følgende højre halvcelle, kun såfremt m > t.
;      Ellers overspringes denne ordre (eller disse ordrer):
;
;      if m <= Ftæl then
;      begin
;            højrehalvord:= false;
;            r1:= r1+1
;      end;
;
;      NB! Ordren er statisk.
;          For en halvordsordre sættes tælletallet t=0.
;          V-variant: Som ved BT.
;
;BS D  Ordren har en betingende virkning nøjagtig som BS, blot
;      sammenlignes D-adressen med tælletallet:
;
;      if Dadr <= Ftæl then
;      begin
;            højrehalvord:= false;
;            r1:= r1+1
;      end;
;
;      NB! Ordren er statisk.
;          V-variant: Som ved BT.
;
;
btdm:
bsdm: rmo    ra,rx   ;
bt:   
bs:   ran    rx,re   ;
      lda æ  F+1     ;
      lld    4       ;
      rca    re,ra   ;
      sle            ;
      rin    rl,rp   ;
      smbz   0,in    ;
      lda æ  r1      ;
      add  = 4       ;
      sabz   3       ;
      sta  = r1      ;
      rin    rl,rp   ;
;\f


;CA    Den ordre (eller de ordrer), der findes til og med den
;      følgende højre halvcelle, udføres kun, når den resulterende
;      adresse er lig med adressetallet i R. Ellers overspringes
;      denne ordre (eller disse ordrer):
;
;      if c <> Radr then
;      begin
;            højrehalvord:= false;
;            r1:= r1 + 1
;      end;
;
;      NB! c beregnes med 11 bits i pos. 00-9 af H-registeret, og
;          derpå sammenlignes indholdet i pos 0-9 med de tilsvarende
;          bits i R.
;          V-variant: Som ved BT.
;
;CA D  Samme virkning som CA, idet dog D-adressen sammenlignes med
;      adressetallet i R:
;
;      if Dadr <> Radr then
;      begin
;            højrehalvord:= false;
;            r1:= r1 + 1
;      end;
;
;      NB! V-variant: Som ved BT.
;
;
cadm: rmo    ra,rx   ;
ca:   ran    re,rx   ;
      lda æ  R       ;
      ran    re,ra   ;
      rcl    rx,ra   ;
      sne            ;
      rin    rl,rp   ;
      smbz   0,in    ;
      lda æ  r1      ;
      add  = 4       ;
      sabz   3       ;
      sta  = r1      ;
      rin    rl,rp   ;
;\f


;NC    Den ordre (eller de ordrer), der findes til og med den
;      følgende højre halvcelle, udføres kun når den resulterende
;      adresse er forskellig fra adressetallet i R. Ellers over-
;      springes denne ordre (eller disse ordrer):
;
;      if c = Radr then
;      begin
;            højrehalvord:= false;
;            r1:= r1 + 1
;      end;
;
;      NB! c beregnes som ved CA-ordren.
;          V-variant: Som ved BT.
;
;NC D  Samme virkning som NC, idet dog D-adressen sammenlignes med
;      adressetallet i R:
;
;      if Dadr = Radr then
;      begin
;            højrehalvord:= false;
;            r1:= r1 + 1
;      end;
;
;      NB! V-variant: som ved BT.
;
;
ncdm: rmo    ra,rx   ;
nc:   ran    re,rx   ;
      lda æ  R       ;
      ran    re,ra   ;
      rcl    rx,ra   ;
      seq            ;
      rin    rl,rp   ;
      smbz   0,in    ;
      lda æ  r1      ;
      add  = 4       ;
      sabz   3       ;
      sta  = r1      ;
      rin    rl,rp   ;
;\f


;CM    Den ordre (eller de ordrer) findes til og med den følgende
;      højre halvcelle, udføres kun når indholdet i celle c ikke
;      er identisk med R i de positioner, hvor de tilsvarende posi-
;      tioner i M indeholder ettaller:
;
;      coinc:= true;
;      for i:= 0 step 1 until 39 do
;          coinc:= coinc and (pos(i,c) and Mpos(i)
;                             == Rpos(i) and Mpos(i));
;      if coinc then
;      begin
;            højrehalvord:= false;
;            r1:= r1 + 1
;      end;
;
;            Mærkning registreres.
;
;      NB! R00 indgår ikke i coincidens-undersøgelsen.
;          V-variant: Som ved BT.
;
;CM D  Samme virkning som CM, idet dog selve den resulterende
;      adresse c efterfulgt af 30 nuller sammenlignes med R
;      (med M som maske).
;
;      NB! R00 indgår ikke i coincidens-undersøgelsen.
;          V-variant: Som ved BT.
;
;
cm:   ran    re,rx   ;
      lde æ  R+3     ;
      lrd    2       ;
      lda æx+c0+3    ;
      cra    2       ;
      cld    2       ;
      ste  = R+3     ;
      reo    re,ra   ;
      and æ  M+3     ;
      sze    ra      ;
      rin    rl,rp   ;
      lde æ  R+2     ;
      lda æx+c0+2    ;
      reo    re,ra   ;
      and æ  M+2     ;
      sze    ra      ;
      rin    rl,rp   ;
      lde æ  R+1     ;
      lda æx+c0+1    ;
      reo    re,ra   ;
      and æ  M+1     ;
      sze    ra      ;
      rin    rl,rp   ;
      lde æ  R       ;
      lda æx+c0      ;
      reo    re,ra   ;
      and æ  M       ;
      and æ= 4092    ;
      sze    ra      ;
      rin    rl,rp   ;
      smbz   0,in    ;
      lda æ  r1      ;
      add  = 4       ;
      sabz   3       ;
      sta  = r1      ;
      rin    rl,rp   ;

cmdm: lda æ  R       ;
      reo    rx,ra   ;
      and æ  M       ;
      and æ= 4092    ;
      sze    ra      ;
      rin    rl,rp   ;
      lda æ  R+1     ;
      and æ  M+1     ;
      sze    ra      ;
      rin    rl,rp   ;
      lda æ  R+2     ;
      and æ  M+2     ;
      sze    ra      ;
      rin    rl,rp   ;
      lda æ  R+3     ;
      and æ  M+3     ;
      sze    ra      ;
      rin    rl,rp   ;
      smbz   0,in    ;
      lda æ  r1      ;
      add  = 4       ;
      sabz   3       ;
      sta  = r1      ;
      rin    rl,rp   ;
;\f


;HV    Næste ordre hentes i celle c; er der to halvordsordrer
;      i celle c, udføres først den venstre:
;
;      højrehalvord:= false;
;      r1:= c;
;
;      NB! Er ordren en V-variant, hentes næste ordre i celle c+1.
;
;HV D  Næste ordre hentes i den celle, der angives ved D-adressen.
;      I øvrigt som HV-ordren.
;
;
hvdm: rmo    ra,rx   ;
hv:   ran    re,rx   ;
      smbz   0,in    ;
hv0:  rcl    rl,rp   ;
      sgt            ;
      bru    hv1     ;
      stx  = r1      ;
      rin    rl,rp   ;

hv1:  lda æ  ud4     ;
      rmo    ra,rb   ;
      sub  = 4       ;
      and æ= 4092    ;
      sta  = r1      ;
      rmo    rx,ra   ;
      tmbo   5,F+3   ;
      bru    k+4     ;
      add  = 4       ;
      smbz   5,F+3   ;
      lla    4       ;
      ara    4       ;
      sta  b.c0      ;
      rin    rl,rp   ;
;\f


;HH    Næste ordre hentes i celle c; er der to halvordsordrer
;      i celle c, udføres kun den højre:
;
;      højrehalvord:= true;
;      r1:= c;
;
;      NB! Er ordren en V-variant, hentes næste ordre i celle c+1;
;
;HH D  Næste ordre hentes i den celle, der angives ved D-adressen.
;      I øvrigt som HH-ordren.
;
;
hhdm: rmo    ra,rx   ;
hh:   ran    re,rx   ;
      smbo   0,in    ;
      bru    hv0     ;
;\f


;HS    Næste ordre hentes i den celle, der angives ved den modi-
;      ficerede adresse m; indeholder denne celle to halvordsordrer,
;      udføres først den venstre. HS-ordrens adresse lagres i sekvens-
;      registeret, og hvis det er en helordsordre, lagres i dennes
;      tællepositioner det tidligere indhold i sekvensregisteret:
;
;      if -,Fpos(40) then tælletal(r):= s1;
;      s1:= r;
;      højrehalvord:= false;
;      r1:= m;
;
;      NB! Ordren er statisk.
;          Er ordren en V-variant, hentes næste ordre i celle m+1.
;          Benyttes flere undersekvenser "inden i hinanden", bør HS-
;          ordrene altid være helordsordrer, undtagen i den yderste
;          blok.
;
;HS D  Samme virkning som HS. Blot hentes næste ordre i den celle,
;      der angives ved D-adressen.
;
;      NB! Ordren er statisk.
;
;
hsdm: rmo    ra,rx   ;
hs:   ran    re,rx   ;
      smbz   0,in    ;
      rmo    rs,ra   ;
      lde æ  s1      ;
      sta  = s1      ;
      tmbz   14,F+3  ;
      bru    hv0     ;
      rmo    ra,rb   ;
      ste  b.c0+1    ;
      bru    hv0     ;
;\f


;HR    Næste ordre hentes i celle c. Indeholder denne celle to
;      halvordsordrer, udføres først den venstre. Desuden overføres
;      tælletallet fra celle s til sekvensregisteret:
;
;      s1:= tælletal(s2);
;      højrehalvord:= false;
;      r1:= c;
;
;      NB! Er ordren en V-variant, hentes næste ordre i celle c+1.
;          Benyttes flere undersekvenser "inden i hinanden", må
;          der benyttes et HR-hop svarende til hvert HS-hop, hvis
;          sekvensmekanismen skal fungere korrekt.
;
;HR D  Samme virkning som HR, men næste ordre hentes i den celle,
;      der angives ved D-adressen.
;
;
hrdm: rmo    ra,rx   ;
hr:   ran    re,rx   ;
      smbz   0,in    ;
      rmo    rm,rb   ;
      lda  b.c0+1    ;
      sta  = s1      ;
      bru    hv0     ;
;\f


;HK    Hvis der ikke er en tromletransport i gang, har ordren
;      samme virkning som HS. Ellers har ordren ingen virkning
;      (dog udføres altid en eventuel S-variant).
;
;      NB! Ordren er statisk.
;
;HK D  Hvis der ikke er en tromletransport i gang, har ordren
;      samme virkning som HS D. Ellers har ordren ingen virkning
;      (dog udføres altid en eventuel S-variant).
;
;      NB! Ordren er statisk.
;
;
hkdm: rmo    ra,rx   ;
hk:   ran    re,rx   ;
      lde æ  kbuf    ;
      snz    re      ;
      bru   (k+2)    ;
      trap   5       ;
      hs+1           ;
      rin    rl,rp   ;
;\f


;VK    Den tromlekanal, der angives ved den resulterende adresse,
;      tilkobles ferritlageret (men der sker ingen overførsel):
;
;      tk:= c;
;
;      NB! VK-ordren udføres først, når en eventuel igangværende
;          tromletransport er afsluttet.
;
;VK D  Den tromlekanal, der angives ved D-adressen, tilkobles
;      ferritlageret (men der sker ingen overførsel).
;
;      NB! Se under VK.
;
;
vkdm: rmo    ra,rx   ;
vk:   ran    re,rx   ;
      rmo    rx,ra   ;
      ldx  = svar    ;
      lde æ  vbuf    ;
      snz    re      ;
      bru    k+2     ;
      trap   4       ;
      lde æ  kbuf    ;
      snz    re      ;
      bru    vk0     ;
      trap   4       ;
      lde æ  svar    ;
      snz    re      ;
      bru    vk0     ;
      ste  = fejl    ;
      bru æ  a       ;

vk0:  sta æ  tkr     ;
      ste  = kbuf    ;
      sub æ= 3840    ;
      smi    ra      ;
      bru    vk1     ;
      lda  = 2       ;
      sta  = kbes    ;
      ldx  = kbes    ;
      trap   3       ;
      ste  = vbuf    ;
      snz    re      ;
      trap   2       ;
      rin    rl,rp   ;

vk1:  sta  = g       ;
      ste  = vbuf    ;
      rin    rl,rp   ;
;\f


;LK    Den i forvejen tilkoblede tromlekanal overføres til ferrit-
;      lageret i 40 konsekutive celler, således at kanalens første
;      ord lagres i celle c. R og M berøres ikke.
;
;      NB! LK-ordren udføres først, når en eventuel igangværende
;          tromletransport er afsluttet.
;
;LK D  Samme virkning som LK, idet blot D-adressen træder i stedet
;      for den resulterende adresse c.
;
;      NB! Se under LK.
;
;
lkdm: rmo    ra,rx   ;
lk:   ran    re,rx   ;
      rmo    rx,ra   ;
      lde æ  kbuf    ;
      snz    re      ;
      bru    lk0     ;
      ldx  = svar    ;
      trap   4       ;
      lde æ  svar    ;
      snz    re      ;
      bru    lk0     ;
      ste  = fejl    ;
      bru æ  a       ;

lk0:  sta  = ta      ;
      lda  = 3       ;
      sta  = kbes    ;
      ldx  = kbes    ;
      trap   3       ;
      ste  = kbuf    ;
      snz    re      ;
      trap   2       ;
      rin    rl,rp   ;
;\f


;SK    På den i forvejen tilkoblede tromlekanal lagres indholdet af
;      40 konsekutive celler fra ferritlageret; den første af disse
;      celler er celle c, der lagres som det første ord på tromle-
;      kanalen. R og M berøres ikke.
;
;      NB! SK-ordren udføres først, når en eventuel igangværende
;          tromletransport er afsluttet.
;          Visse kanaler er låset for skrivning. En SK-ordre, der
;          refererer til en af disse kanaler, negligeres.
;
;SK D  Samme virkning som SK, idet blot D-adressen træder i stedet
;      for den resulterende adresse c.
;
;      NB! Se under SK.
;
;
skdm: rmo    ra,rx   ;
sk:   ran    re,rx   ;
      rmo    rx,ra   ;
      lde æ  kbuf    ;
      snz    re      ;
      bru    sk0     ;
      ldx  = svar    ;
      trap   4       ;
      lde æ  svar    ;
      snz    re      ;
      bru    sk0     ;
      ste  = fejl    ;
      bru æ  a       ;

sk0:  sta  = ta      ;
      lda  = 4       ;
      sta  = kbes    ;
      ldx  = kbes    ;
      trap   3       ;
      ste  = kbuf    ;
      snz    re      ;
      trap   2       ;
      rin    rl,rp   ;
;\f


;VY    Den modificerede adresse anbringes i by-registeret med
;      ordrens tælletal som maske, idet de positioner, der er
;      angivet ved ettaller i ordrens tælletal (binært), ikke
;      ændres:
;
;      for i:= 0 step 1 until 9 do
;          by(i):= (by(i) and Ftæl(i)) or (Hpos(i) and -,Ftæl(i));
;
;      NB! Ordren er statisk.
;          Står VY-ordren som halvordsordre, opfattes tælletallet
;          som 0, d.v.s. at hele den modificerede adresse overføres
;          til by-registeret.
;
;VY D  Samme virkning som VY, idet blot D-adressen træder i  
;      stedet for den modificerede adresse m.
;
;      NB! Ordren er statisk.
;          Normalt uden interesse.
;
;
vydm: rmo    ra,rx   ;
vy:   ran    re,rx   ;
      lda æ  F+1     ;
      riv    ra,re   ;
      and æ  by      ;
      ran    rx,re   ;
      ror    re,ra   ;
      sta  = by      ;
      rin    rl,rp   ;
;\f


;LY    Et tegn læses fra en ydre enhed til adressepositionerne i R og
;      i celle c således, at tegnets bitkombination (bortset fra pari-
;      tetsmærket) anbringes i pos. 3-9. Pos 0-2 (samt R00) nulstilles,
;      og pos 10-39 er uændrede.
;      by-registerets pos. 7-9 bestemmer, fra hvilken ydre enhed der
;      indlæses:
;
;      by7-9 = 000: strimmellæser
;      by7-9 = 001: skrivemaskine
;      by7-9 = 010: hulkortlæser
;      by7-9 = 011: strimmellæser uden stop ved lige paritet
;
;      NB! Tegnet overføres via bufferregistret bl til cellen og R.
;          Ved lige paritet standser GIER efter overførsel af tegnet
;          fra bl til R og cellen, hvis by pos. 7-9 = 000, og man har
;          da mulighed for at rette i R og cellen. Er by pos. 7-9
;          = 011, sættes R pos. 00 = r pos. 0 = 1 ved lige paritet,
;          og GIER standser ikke. Blank strimmel overspringes altid,
;          og All Holes indlæses altid uden stop med henholdsvis
;          talværdi 127, hvis by pos 7-9 = 000, og talværdi -385,
;          hvis by pos 7-9 = 011.
;
;LY D  Samme virkning som LY, idet blot D-adressen træder i stedet
;      for den resulterende adresse c.
;
;      NB! Se under LY.
;
;
lydm: rmo    ra,rx   ;
ly:   ran    re,rx   ;
      rmo    rx,rb   ;
      lda  = 5       ;
      sta  = ybes    ;
      ldx  = ybes    ;
      trap   3       ;
      trap   4       ;
      lda æ  bl      ;
      sta  = R       ;
      sta  b.c0      ;
      rin    rl,rp   ;
;\f


;SY    De 7 bageste cifre i den resulterende adresse c (pos. 3-9)
;      udskrives i overensstemmelse med flexowriterkoden (uden       
;      hensyn til paritetsmærke). Ved udlæsning til strimmel sættes
;      derefter paritetsmærke på rette plads. De 7 bageste cifre
;      i c skiftes 10 positioner til højre og adderes til indholdet
;      i celle 1023 i pos. 0-19.
;      by-registerets pos 4-5 bestemmer, hvilke ydre enheder der
;      skrives på:
;
;      by(6) = 1: linieskriver
;      by(5) = 1: skrivemaskine
;      by(4) = 1: perforator
;      by(3) = 1: plotter
;
;      NB! I celle 1023, pos. 0-19, dannes summen af de udlæste
;          "tegn", og indholdet kan derfor bruges som checksum
;          for udskrift.
;          Udskriftsenhederne kan tilsluttes uafhængigt af hinanden
;          og af indlæseenheder.
;
;SY D  Samme virkning som SY, idet blot D-adressen træder i stedet
;      for den resulterende adresse c.
;
;      NB! Se under SY.
;          Normalt uden interesse.
;
;
sydm: rmo    ra,rx   ;
sy:   stx  = bsr     ;
      lda  = 6       ;
      sta  = ybes    ;
      ldx  = ybes    ;
      trap   3       ;
      trap   4       ;
      lda æ  bsr     ;
      add æ  c0+4093 ;
      cpl æ= 1<12    ;
      sabz   3       ;
      sta æ  c0+4093 ;
      sle            ;
      rin    rl,rp   ;
      lda  = 4       ;
      add æ  c0+4092 ;
      lla    4       ;
      ara    4       ;
      sta æ  c0+4092 ;
      rin    rl,rp   ;
;\f


;QQ    Ingen grundoperation, men alle ønskede modifikationer
;      (adresseberegning, X-variant etc.) udføres.
;
;      NB! Da talværdien for QQ er 0, bevirker ordren QQ 0 under
;          indlæsningen nulstilling af en celle (eller af et
;          halvord).
;          Adressen er irrelevant for ordrens udførelse.
;
;
qq:   rin    rl,rp   ;
;\f


;ZQ    Efter at have udført alle modifikationer stopper GIER.
;      En eventuel igangværende tromletransport afsluttes dog før
;      stoppet. Ved tryk på NORMAL START fortsætter GIER med
;      næste ordre (eller den næste igen, hvis ZQ-ordren er for-
;      synet med et V).
;
;      NB! Adressen i ZQ-ordren er irrelevant.
;
;
zq:   smbo   7,fejl  ;
      rin    rl,rp   ;
;\f


;XR    Indholdet af R og M ombyttes (idet R00 ikke medtages):
;
;      H:= M;
;      M:= R;
;      comment exclusive R00;
;      R:= H;
;
;            Fortegn kan indiceres.
;
;      NB! Adressen i XR-ordren er irrelevant.
;          Det fortegn, der kan indiceres, er det resulterende
;          fortegn i R, d.v.s. fortegnet for indholdet i M før
;          operationen.
;
;
xr:   lda æ  R+3     ;
      ran    ra,re   ;
      and  = 3       ;
      ior æ  M+3     ;
      sta  = R+3     ;
      lda æ  R+2     ;
      ldx æ  M+2     ;
      dst  = M+2     ;
      stx  = R+2     ;
      dld æ  R       ;
      ldx æ  M+1     ;
      ste  = M+1     ;
      stx  = R+1     ;
      lde æ  M       ;
      rmo    re,rs   ;
      cld    4       ;
      ara    4       ;
      cre    4       ;
      sta  = M       ;
      ste  = R       ;
      rmo    rs,ra   ;
      rin    rl,rp   ;
;\f


;UD    En af de ordrer, der står i celle c, udføres med den dergældende
;      r-værdi og (hvis s-mekanismen benyttes korrekt) med den dergæld- 
;      ende s-værdi.
;      Af nedenstående skema aflæses virkningerne af samspillet mellem
;      placeringen af UD-ordren og af ordren (ordrerne) i celle c.
;      Er ordren i celle c en sattellitordre (IS, NS, IT eller NT),
;      udføres hele sattellitkæden, d.v.s. sattellitordren (evt. or-
;      drerne) samt den ordre, der påvirkes af den sidste sattellit-
;      ordre. Samtidig øges r tilsvarende. (Er den sidste ordre i sat-
;      tellitkæden en hopordre, udføres denne).
;
;      NB! X- og V-varianter i UD-ordren er virkningsløse.
;
;UD D  Samme virkning som UD, idet c overalt erstattes med D-adressen.
;
;      NB! Normalt uden interesse.
;          X- og V-varianter i UD D-ordren er virkningsløse.
;\f


;            !                UD-ordren i celle r er et
; I celle c  !                  !                  !
;            ! helord           ! venstre halvord  ! højre halvord
;------------!------------------!------------------!------------------
;To halvord  !                  !                  !         
;            !                  !                  !
;   Ingen    !                  !                  !
;   hopordrer!Højre halvord i   !Venstre halvord i !Højre halvord i
;            !celle c udføres,  !celle c udføres,  !celle c udføres,
;            !og derefter ordren!og derefter højre !og derefter ordren
;            !i celle r+1.      !halvord i celle r.!i celle r+1.
;            !                  !                  !
;   Hopordre !Som når der ingen !Res. adresse af   !Som når der ingen
;   i venstre!hopordrer er i    !venstre halvord   !hopordrer er i
;   halvord  !celle c.          !lagres som adres- !celle c.
;            !                  !setal i celle r.  !
;            !                  !Dernæst udføres   !
;            !                  !venstre eller høj-!
;            !                  !re halvord i celle!
;            !                  !r-1 eftersom hop- !
;            !                  !ordren er HV (HS, !
;            !                  !HR, HK) eller HH. !
;            !                  !                  !
;   Hopordre !Res. adresse af   !Som når der ingen !Res. adresse af
;   i højre  !højre halvord lag-!hopordrer er i    !højre halvord lag-
;   halvord  !res som adressetal!celle c.          !res som adressetal
;            !i celle r. Dernæst!                  !i celle r. Dernæst
;            !udføres venstre   !                  !udføres venstre
;            !eller højre halv- !                  !eller højre halv-
;            !ord i celle r-1   !                  !ord i celle r-1
;            !eftersom hopordren!                  !eftersom hopordren
;            !er HV (HS, HR, HK)!                  !er HV (HS, HR, HK)
;            !eller HH.         !                  !eller HH.
;            !                  !                  !
;------------!--------------------------------------------------------
;Et helord   !
;            !
;   Ikke hop-!
;   ordre,   !
;   uden V   !Ordren i celle c udføres, og derefter ordren i celle r+1.
;            !
;   Ikke hop-!
;   ordre,   !
;   med V    !Ordren i celle c udføres, og derefter ordren i celle r+2.
;            !
;   Hopordre !Res. adresse af ordren i celle c lagres som adressetal i
;            !celle r. Dernæst udføres venstre eller højre halvord i
;            !celle r-1 eftersom hopordren er HV (HS, HR, HK) eller HH.
;            !
;
;
uddm: rmo    ra,rx   ;
ud:   ran    re,rx   ;
      rmo    rx,rb   ;
      rex    rx,rs   ;
      rcl    rl,rp   ;
      sgt            ;
      stx    ud4     ;
      lda  b.c0+3    ;
      tabo   14      ;
      bru    ud2     ;
      lde  = 3       ;
      ran    ra,re   ;
      tmbo   0,in    ;
      bru    ud0     ;
      lda  b.c0+2    ;
      ldx  b.c0      ;
      bru    ud1     ;

ud0:  reo    re,ra   ;
      ldx  b.c0+1    ;
ud1:  dst  = F+2     ;
      lde  = 0       ;
      ste  = F+1     ;
      brl æ  am0     ;
      tabz   10      ;
      brl   (ud5)    ;
      lra    5       ;
      and  = 126     ;
      lde æ= 4092    ;
      rex    ra,rb   ;
      brl (b.o0)     ;
      bru   (k+2)    ;
      bru æ  a       ;

ud2:  sta  = F+3     ;
      tmbo   0,in    ;
      bru    ud3     ;
      smbz   0,in    ;
      lda æ  r1      ;
      add  = 4       ;
      sabz   3       ;
      sta  = r1      ;
      lda  b.c0+3    ;
ud3:  tabz   7       ;
      brl   (ud6)    ;
      dld  b.c0+1    ;
      dst  = F+1     
      rex    ra,re   ;
      tmbz   6,F+3   ;
      brl   (ud7)    ;
      brl   (ud8)    ;
      tabz   10      ;
      brl   (ud5)    ;
      lra    5       ;
      and  = 126     ;
      tmbz   6,F+3   ;
      add  = 1       ;
      lde æ= 4092    ;
      rex    ra,rb   ;
      brl (b.o0)     ;
      bru   (ud9)    ;
      rmo    ra,rs   ;
      lda æ  F+3     ;
      rmo    ra,rm   ;
      brl æ  vxm     ;
      bru æ  ii      ;

ud4:  0              ;
ud5:  snm            ;
ud6:  iln            ;
ud7:  amd            ;
ud8:  am             ;
ud9:  im             ;
;\f


;IL
;US
;GC
;PC
;ZJ
;ZL    Illegale ordrer, der bevirker, at GIER stopper på
;      tærsklen til næste ordre med TO-fejl lampen tændt.
;
;
il:
us:
gc:
pc:
zj:
zl:   smbo   0,fejl  ; 
      bru æ  a       ;
▶EOF◀