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

⟦926450dec⟧ TextFile

    Length: 29952 (0x7500)
    Types: TextFile
    Names: »tofromch4tx «

Derivation

└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code
    └─⟦75ff9bef3⟧ 
        └─⟦this⟧ »tofromch4tx « 

TextFile

\f

  ; *** tofromchar ***

b.     g1,e5

d.
p.     <:fpnames:>        ;
l.

  k=10000                 ;

s.     j54,c6,g5,f12
h.

b.            g4          ; begin block segment 1
h.

  g0=0                    ;

  e5:                     ;

  g1:  g3     , g2        ;

  j0:  1<11o.1, 0         ; 2. segment, flyt uden skævhed
  j1:  1<11o.2, 0         ; 3. segment, flyt med 1 tegns skævhed
  j2:  1<11o.3, 0         ; 4. segment, flyt med 2 tegns skævhed
  j4:  g0 + 4 , 0         ; take expression
  j8:  g0 + 8 , 0         ; end address expression
  j13: g0 +13 , 0         ; last used
  j21: g0 +21 , 0         ; general alarm
  j29: g0 +29 , 0         ; param alarm
  j30: g0 +30 , 0         ; saved sref, saved w3
  j54: g0 +54 , 0         ; field alarm

  g2=-g1.-2               ;
  g3=-g1.-2               ;

w.

  e0:  g0                 ; external list
       0                  ; bytes to copy
       s3                 ; date
       s4                 ; time

  f0:  3                  ; tegn pr ord
  f1:  0                  ; length
  f3:  0                  ; segment adr.

\f


b.     a10, b5            ; procedure take and test array;
w.                        ; begin
  a0:  0                  ;   link
  a1:  0                  ;    do.
  b5:  <:<10>oddfield:>   ; alarmtext

  a2:  ba. w0     1       ;   procedure div3mul2
  a3:  ba. w0     1       ;   begin
       rs. w1     a1.     ;
       ad  w1    -24      ;     extend sign;
       wd. w1     f0.     ;     w0:= w1 mod 3;
       sl  w0     0       ;     w1:= w1 div 3;
       jl.        a4.     ;     if w0 < 0 then
       wa. w0     f0.     ;     begin
       al  w1  x1-1       ;       w0:= w0 + 3; w1:= w1 - 1
  a4:  as  w0     3       ;     end;
       as  w1     1       ;     w0:= w0 * 8;
       sh  w1 (x3-2)      ;     w1:= w1 * 2;
       sh  w1 (x3)        ;     if w1 > øvre grænse or w1 <= nedre grænse
       jl. w3 (   j54.)   ;     then alarm(<:field:>);
       wa  w1 (x2+8)      ;     w1:= w1 + base word
       jl.    (   a1.)    ;   end;

a5:    al. w0     b5.     ; oddfield alarm:
       jl. w3    (j21.)   ;   general alarm (<:oddfield:>, paramno);

  c0:  rs. w3     a0.     ;
       bz  w0  x2+7       ;   if param <> array or zone
       sl  w0     17      ;   then alarm(<:param:>);
       sl  w0     24      ;
       jl. w3 (   j29.)   ;
       rl  w3 (x2+8)      ; 
       so  w3     1       ;   if base addr even then
       jl.        a5.     ;     goto oddfield alarm;
       rl  w3  x2+8       ;  
       ba  w3  x2+6       ;   w3:= dope address;
       rl  w0 (x2+12)     ;
       jl. w1     a2.     ;   div3mul2(pos);
       am.    (   a0.)    ;   call+2:= char pos * 8;
       ds  w1     2       ;   call+4:= første hw;
       rl  w0 (x2+12)     ;
       wa. w0     f1.     ;
       rs  w0 (x2+12)     ;   pos:= pos + length;
       jl. w1     a3.     ;   div3mul2(pos);
       rl. w3     a0.     ;   call+6:= char pos * 8;
       ds  w1  x3+6       ;   call+8:= sidste_hw;
       jl      x3+8       ; end;
e.
\f

b.     a10
w.
  c1:  rl. w1     f5.     ; procedure førsteord;
       rl  w0  x1         ; begin
       sn. w1 (   f7.)    ;   if første_dest. = sidste_dest
       al. w3     a1.     ;   then returadr:= spec._sidste;
       rx. w3     f4.     ;
       ls  w0  x3-24      ;   w0:= første_dest.
       am.    (   f9.)    ;     shift (char_pos(dest.) - 24);
       dl  w2     2       ;   (w1:w2):= første_kilde
       ld. w2 (   f8.)    ;     shift char_pos(kilde);
       ac  w3  x3         ;   (w0:w1):= (w0:w1)
       ld  w1  x3+24      ;     shift (24 - char_pos(dest.));
       rx. w0 (   f5.)    ;   første_dest.:= w0;
       rl. w2     f9.     ;   w2:= første_kilde
       al  w2  x2+2       ;        + 2;
       wa. w3     f8.     ;   w3:= - w3 + char_pos(kilde);
       sl  w3     0       ;   if w3<0 then
       jl.    (   f4.)    ;   begin
       al  w3  x3+24      ;     w3:= w3 + 24; w2:= w2 - 2
       al  w2  x2-2       ;   end
       jl.    (   f4.)    ; end;

  c2:  rl. w3     f7.     ; procedure sidsteord;
       rl  w0  x3         ; begin
       sn. w3 (   f5.)    ;   if sidste_dest = første_dest
       al. w1     a2.     ;   then returadr:= spec._første;
       rx. w1     f6.     ;
       ls  w0  x1+8       ;   w0:= sidste_dest.
       dl. w3 (   f11.)   ;     shift (char_pos(dest.) + 8);
       am.    (   f10.)   ;   (w2:w3):= sidste_kilde
       ld  w3    -16      ;     shift (char_pos(kilde) - 16);
       ac  w1  x1         ;   (w3:w0):= (w3:w0)
       ld  w0  x1-8       ;     shift (- char_pos(dest.) - 8);
       rx. w0 (   f7.)    ;   sidste_dest.:= w0;
       rl. w2     f11.    ;   w2:= sidste_kilde
       al  w2  x2-2       ;        - 2;
       wa. w1     f10.    ;   w1:= - w1 + char_pos(kilde);
       sl  w1     0       ;   if w1<0 then
       jl.    (   f6.)    ;   begin
       al  w1  x1+24      ;     w1:= w1 + 24; w2:= w2 - 2
       al  w2  x2-2       ;   end
       jl.    (   f6.)    ; end;
\f

  a8:  rs  w3  x2+10      ; procedure take value:
       so  w0     16      ;   if expression then
       jl. w3 (   j4.)    ;     take expression;
       ds. w3 (   j30.)   ;   save sref, w3;
       jl     (x2+10)     ;   return;

  e1:                     ;entry tofromchar:
       rl. w2 (   j13.)   ; take last used; 

       dl  w1  x2+12      ; take til_pos;
       jl. w3     a8.     ; take value;
       rs  w1  x2+12      ; gem adresse

       dl  w1  x2+20      ; take fra_pos;
       jl. w3     a8.     ; take value;
       rs  w1  x2+20      ; gem adresse

       dl  w1  x2+24      ; take length;
       jl. w3     a8.     ; take value;
       rl  w1  x1         ; get value;
       sn  w1     0       ; if length = 0 then return;
       jl.    (   j8.)    ;
       sh  w1     0       ; if length < 0 then
       jl. w3 (   j29.)   ; param_alarm;
       rs. w1     f1.     ; save length;

       al  w1     1       ; prepare paramno for oddfield alarm;
       jl. w3     c0.     ; test til_array and _pos;

  f4:  0                  ; første_til_pos, link
  f5:  0                  ; første_til_hw
  f6:  0                  ; sidste_til_pos, link
  f7:  0                  ; sidste_til_hw

       al  w1     3       ; prepare paramno for oddfield alarm;
       al  w2  x2+8       ;
       jl. w3     c0.     ; test fra_array and _pos;

  f8:  0                  ; første_fra_pos
  f9:  0                  ; første_fra_hw
  f10: 0                  ; sidste_fra_pos
  f11: 0                  ; sidste_fra_hw
\f

       rl. w1     f5.     ;
       sn. w1 (   f9.)    ; if første_til_hw <> første_fra_hw then
       jl.        a10.    ;  goto if første_til_hw < første_fra_hw then
       sl. w1 (   f9.)    ;   forfra else bagfra
       jl.        a0.     ;
       jl.        a9.     ; else
  a10: rl. w1     f4.     ;  goto if første_til_pos < første_fra_pos then
       sl. w1 (   f8.)    ;   forfra else bagfra;
       jl.        a0.     ;
                          ;forfra:
  a9:  jl. w3     c1.     ; førsteord;
       ls  w3    -2       ; goto case ofsett of(noskip, skipone, skiptwo);
       jl.     x3+c3.     ;
                          ;bagfra:
  a0:  jl. w1     c2.     ; sidsteord;
       ls  w1    -2       ; goto case ofsett of(pikson, enopiks, owtpiks);
       jl.     x1+c4.     ;

  a1:  rl. w1     f6.     ;spec._sidste:
       ls  w0  x1+8       ; w0:= gl_sidste_dest.
       rl. w3 (   f7.)    ;   shift (char_pos(dest.) + 8);
       ls  w3  x1-16      ; w3:= sidste_dest.
       ac  w1  x1         ;   shift (char_pos(dest.) - 16);
       ld  w0  x1-8       ; (w3:w0):= (w3:w0) shift (8 - char_pos(dest.));
       rs. w0 (   f7.)    ; sidste_dest.:= w0;
       jl.    (   j8.)    ; return;

  a2:  rl. w3     f4.     ;spec._første:
       ls  w0  x3-24      ; w0:= gl_første_dest.
       rl. w1 (   f5.)    ;   shift (char_pos(dest.) - 24);
       ls  w1  x3         ; w1:= første_dest.
       ac  w3  x3         ;   shift char_pos(dest.);
       ld  w1  x3+24      ; (w0:w1):= (w0:w1) shift (24 - char_pos(dest.));
       rs. w0 (   f5.)    ; første_dest.:= w0;
       jl.    (   j8.)    ; return;
e.
\f

b.     a10                ;forlæns:
w.
  c3:  jl.        a1.     ;
       am         j1-j2   ;skipone:
       rl. w3 (   j2.)    ;skiptwo:
       al. w1     a0.     ; w3:= segm. table addr.; w1:= return addr;
       rs  w1  x3+f12     ; fetch segment;
       rs. w3     f3.     ; save segm. addr.
       rl. w3     f5.     ; w3:= first dest.
       al  w3  x3+2       ;   + 2;
  a0:  al  w1  x3         ;return segm skipone skiptwo:
       ws. w1     f7.     ; w1:= w3 - sidste_dest.
       sl  w1     0       ; if w1>=0 then goto færdig;
       jl.        a4.     ;
       sh  w1    -82      ; if w1<-82 then w1:= -82;
       al  w1    -82      ;
       ws  w2     2       ; w2:= w2 - w1;
       ws  w3     2       ; w3:= w3 - w1;
       wm. w1     f0.     ; w1:= w1 * 3;
       am.    (   f3.)    ; goto segment forlæns + w1;
       jl      x1+c5      ;

  a1:  rl. w3 (   j0.)    ;noskip:
       al. w1     a2.     ; w3:= segm. table addr.; w1:= return addr;
       rs  w1  x3+f12     ; fetch segment;
       rs. w3     f3.     ; save segm. addr.
       rl. w3     f5.     ; w3:= first dest.
       al  w3  x3+2       ;   + 2;
  a2:  al  w1  x3         ;return segm noskip:
       ws. w1     f7.     ; w1:= w3 - sidste_dest.
       sl  w1    -3       ; if w1>=-3 then goto næsten færdig;
       jl.        a3.     ;
       sh  w1    -248     ; if w1<-248 then w1:= -248;
       al  w1    -248     ;
       sz  w1     2       ; if w1 mod 4 <> 0 then w1:= w1 + 2;
       al  w1  x1+2       ;
       ws  w2     2       ; w2:= w2 - w1;
       ws  w3     2       ; w3:= w3 - w1;
       am.    (   f3.)    ; goto segment forlæns + w1;
       jl      x1+c5      ;

  a3:  sl  w1     0       ;næsten færdig:
       jl.        a4.     ; if w1<0 then flyt sidste ord;
       rl  w0  x2         ;
       rs  w0  x3         ;færdig:
  a4:  jl. w1     c2.     ; sidsteord;
       jl.    (   j8.)    ; return
e.
\f

b.     a10                ;baglæns:
w.
  c4:  jl.        a1.     ;
       am         j1-j2   ;enopiks:
       rl. w3 (   j2.)    ;owtpiks:
       al. w1     a0.     ; w3:= segm. table addr.; w1:= return addr.;
       rs  w1  x3+f12     ; fetch segment;
       rs. w3     f3.     ; save segm addr.;
       rl. w3     f7.     ; w3:= sidste_dest.
       al  w3  x3-2       ;   - 2;
  a0:  ac  w1  x3         ;return segm enopiks owtpiks:
       wa. w1     f5.     ; w1:= første_dest. - w3;
       sl  w1     0       ; if w1>=0 then goto færdig;
       jl.        a4.     ;
       sh  w1    -82      ; if w1<-82 then w1:= -82;
       al  w1    -82      ;
       wa  w2     2       ; w2:= w2 + w1;
       wa  w3     2       ; w3:= w3 + w1;
       wm. w1     f0.     ; w1:= w1 * 3;
       am.    (   f3.)    ; goto segment baglæns + w1;
       jl      x1+c6      ;

  a1:  rl. w3 (   j0.)    ;pikson:
       al. w1     a2.     ; w3:= segm. table addr.; w1:= return addr.;
       rs  w1  x3+f12     ; fetch segment;
       rs. w3     f3.     ; save segm addr.;
       rl. w3     f7.     ; w3:= sidste_dest.
       al  w3  x3-2       ;   - 2;
  a2:  ac  w1  x3         ;return from pikson:
       wa. w1     f5.     ; w1:= første_dest. - w3;
       sl  w1    -3       ; if w1>=-3 then goto næsten færdig;
       jl.        a3.     ;
       sh  w1    -248     ; if w1<-248 then w1:= -248;
       al  w1    -248     ;
       sz  w1     2       ; if w1 mod 4 <> 0 then w1:= w1 + 2;
       al  w1  x1+2       ;
       wa  w2     2       ; w2:= w2 + w1;
       wa  w3     2       ; w3:= w3 + w1;
       am.    (   f3.)    ; goto segment baglæns + w1;
       jl      x1+c6      ;

  a3:  sl  w1     0       ;næsten færdig:
       jl.        a4.     ; if w1<0 then flyt sidste ord;
       rl  w0  x2         ;
       rs  w0  x3         ;færdig:
  a4:  jl. w3     c1.     ; førsteord;
       jl.    (   j8.)    ; return;
e.
\f


  g4:  m. end code on segment 1
       c. g4-g1-506       ; end segment:
       m. code too long on segment 1
       z.
       c. 502-g4+g1, 0,r.252-(:g4-g1:)>1; fill segment
       z.

       <:tofromchar:>     ; alarm text

i.
e.                        ; end block segment 1

m. tofromchar, segment 1

\f

  ; start på segment 2 som flytter uden skævhed


b.            g4          ; begin block segment 2
w.

  g1:
  g5:  0                  ; head word

  f12=-g5.
       0                  ; retur adr. til kalde-segment
\f

  ; sekvens flyt forlæns


       dl  w1  x2-246,   ds  w1  x3-246,   dl  w1  x2-242,   ds  w1  x3-242
       dl  w1  x2-238,   ds  w1  x3-238,   dl  w1  x2-234,   ds  w1  x3-234
       dl  w1  x2-230,   ds  w1  x3-230,   dl  w1  x2-226,   ds  w1  x3-226
       dl  w1  x2-222,   ds  w1  x3-222,   dl  w1  x2-218,   ds  w1  x3-218
       dl  w1  x2-214,   ds  w1  x3-214,   dl  w1  x2-210,   ds  w1  x3-210
       dl  w1  x2-206,   ds  w1  x3-206,   dl  w1  x2-202,   ds  w1  x3-202
       dl  w1  x2-198,   ds  w1  x3-198,   dl  w1  x2-194,   ds  w1  x3-194
       dl  w1  x2-190,   ds  w1  x3-190,   dl  w1  x2-186,   ds  w1  x3-186
       dl  w1  x2-182,   ds  w1  x3-182,   dl  w1  x2-178,   ds  w1  x3-178
       dl  w1  x2-174,   ds  w1  x3-174,   dl  w1  x2-170,   ds  w1  x3-170
       dl  w1  x2-166,   ds  w1  x3-166,   dl  w1  x2-162,   ds  w1  x3-162
       dl  w1  x2-158,   ds  w1  x3-158,   dl  w1  x2-154,   ds  w1  x3-154
       dl  w1  x2-150,   ds  w1  x3-150,   dl  w1  x2-146,   ds  w1  x3-146
       dl  w1  x2-142,   ds  w1  x3-142,   dl  w1  x2-138,   ds  w1  x3-138
       dl  w1  x2-134,   ds  w1  x3-134,   dl  w1  x2-130,   ds  w1  x3-130
       dl  w1  x2-126,   ds  w1  x3-126,   dl  w1  x2-122,   ds  w1  x3-122
       dl  w1  x2-118,   ds  w1  x3-118,   dl  w1  x2-114,   ds  w1  x3-114
       dl  w1  x2-110,   ds  w1  x3-110,   dl  w1  x2-106,   ds  w1  x3-106
       dl  w1  x2-102,   ds  w1  x3-102,   dl  w1  x2-98 ,   ds  w1  x3-98
       dl  w1  x2-94 ,   ds  w1  x3-94 ,   dl  w1  x2-90 ,   ds  w1  x3-90
       dl  w1  x2-86 ,   ds  w1  x3-86 ,   dl  w1  x2-82 ,   ds  w1  x3-82
       dl  w1  x2-78 ,   ds  w1  x3-78 ,   dl  w1  x2-74 ,   ds  w1  x3-74
       dl  w1  x2-70 ,   ds  w1  x3-70 ,   dl  w1  x2-66 ,   ds  w1  x3-66
       dl  w1  x2-62 ,   ds  w1  x3-62 ,   dl  w1  x2-58 ,   ds  w1  x3-58
       dl  w1  x2-54 ,   ds  w1  x3-54 ,   dl  w1  x2-50 ,   ds  w1  x3-50
       dl  w1  x2-46 ,   ds  w1  x3-46 ,   dl  w1  x2-42 ,   ds  w1  x3-42
       dl  w1  x2-38 ,   ds  w1  x3-38 ,   dl  w1  x2-34 ,   ds  w1  x3-34
       dl  w1  x2-30 ,   ds  w1  x3-30 ,   dl  w1  x2-26 ,   ds  w1  x3-26
       dl  w1  x2-22 ,   ds  w1  x3-22 ,   dl  w1  x2-18 ,   ds  w1  x3-18
       dl  w1  x2-14 ,   ds  w1  x3-14 ,   dl  w1  x2-10 ,   ds  w1  x3-10
       dl  w1  x2-6  ,   ds  w1  x3-6  ,   dl  w1  x2-2  ,   ds  w1  x3-2

  c5=-g5.                 ; basis for flyt forlæns
       jl.    (   g5.+f12); retur
\f

  ; sekvens flyt baglæns


       dl  w1  x2+248,   ds  w1  x3+248,   dl  w1  x2+244,   ds  w1  x3+244
       dl  w1  x2+240,   ds  w1  x3+240,   dl  w1  x2+236,   ds  w1  x3+236
       dl  w1  x2+232,   ds  w1  x3+232,   dl  w1  x2+228,   ds  w1  x3+228
       dl  w1  x2+224,   ds  w1  x3+224,   dl  w1  x2+220,   ds  w1  x3+220
       dl  w1  x2+216,   ds  w1  x3+216,   dl  w1  x2+212,   ds  w1  x3+212
       dl  w1  x2+208,   ds  w1  x3+208,   dl  w1  x2+204,   ds  w1  x3+204
       dl  w1  x2+200,   ds  w1  x3+200,   dl  w1  x2+196,   ds  w1  x3+196
       dl  w1  x2+192,   ds  w1  x3+192,   dl  w1  x2+188,   ds  w1  x3+188
       dl  w1  x2+184,   ds  w1  x3+184,   dl  w1  x2+180,   ds  w1  x3+180
       dl  w1  x2+176,   ds  w1  x3+176,   dl  w1  x2+172,   ds  w1  x3+172
       dl  w1  x2+168,   ds  w1  x3+168,   dl  w1  x2+164,   ds  w1  x3+164
       dl  w1  x2+160,   ds  w1  x3+160,   dl  w1  x2+156,   ds  w1  x3+156
       dl  w1  x2+152,   ds  w1  x3+152,   dl  w1  x2+148,   ds  w1  x3+148
       dl  w1  x2+144,   ds  w1  x3+144,   dl  w1  x2+140,   ds  w1  x3+140
       dl  w1  x2+136,   ds  w1  x3+136,   dl  w1  x2+132,   ds  w1  x3+132
       dl  w1  x2+128,   ds  w1  x3+128,   dl  w1  x2+124,   ds  w1  x3+124
       dl  w1  x2+120,   ds  w1  x3+120,   dl  w1  x2+116,   ds  w1  x3+116
       dl  w1  x2+112,   ds  w1  x3+112,   dl  w1  x2+108,   ds  w1  x3+108
       dl  w1  x2+104,   ds  w1  x3+104,   dl  w1  x2+100,   ds  w1  x3+100
       dl  w1  x2+96 ,   ds  w1  x3+96 ,   dl  w1  x2+92 ,   ds  w1  x3+92
       dl  w1  x2+88 ,   ds  w1  x3+88 ,   dl  w1  x2+84 ,   ds  w1  x3+84
       dl  w1  x2+80 ,   ds  w1  x3+80 ,   dl  w1  x2+76 ,   ds  w1  x3+76
       dl  w1  x2+72 ,   ds  w1  x3+72 ,   dl  w1  x2+68 ,   ds  w1  x3+68
       dl  w1  x2+64 ,   ds  w1  x3+64 ,   dl  w1  x2+60 ,   ds  w1  x3+60
       dl  w1  x2+56 ,   ds  w1  x3+56 ,   dl  w1  x2+52 ,   ds  w1  x3+52
       dl  w1  x2+48 ,   ds  w1  x3+48 ,   dl  w1  x2+44 ,   ds  w1  x3+44
       dl  w1  x2+40 ,   ds  w1  x3+40 ,   dl  w1  x2+36 ,   ds  w1  x3+36
       dl  w1  x2+32 ,   ds  w1  x3+32 ,   dl  w1  x2+28 ,   ds  w1  x3+28
       dl  w1  x2+24 ,   ds  w1  x3+24 ,   dl  w1  x2+20 ,   ds  w1  x3+20
       dl  w1  x2+16 ,   ds  w1  x3+16 ,   dl  w1  x2+12 ,   ds  w1  x3+12
       dl  w1  x2+8  ,   ds  w1  x3+8  ,   dl  w1  x2+4  ,   ds  w1  x3+4

  c6=-g5.                 ; basis for flyt baglæns
       jl.    (   g5.+f12); retur
\f


  g4:  m. end code on segment 2
       c. g4-g1-506       ; end segment:
       m. code too long on segment 2
       z.
       c. 502-g4+g1, 0,r.252-(:g4-g1:)>1; fill segment
       z.

       <:tofromchar:>     ; alarm text

i.
e.                        ; end block segment 2

m. tofromchar, segment 2

\f

  ; start på segment 3 som flytter med 1 tegns skævhed

b.            g4          ; begin block segment 3
w.


  k=g5
g1:    0                  ; head word

  ;f12=-g5.
       0                  ; retur adr. til kalde-segment
\f

       0                  ; one dummy location to balance locations on
                          ; segments 2 - 4

  ; sekvens flyt forlæns og overspring 1 tegn


       dl  w1  x2-80 ,   ld  w1     8  ,   rs  w0  x3-82
       dl  w1  x2-78 ,   ld  w1     8  ,   rs  w0  x3-80
       dl  w1  x2-76 ,   ld  w1     8  ,   rs  w0  x3-78
       dl  w1  x2-74 ,   ld  w1     8  ,   rs  w0  x3-76
       dl  w1  x2-72 ,   ld  w1     8  ,   rs  w0  x3-74
       dl  w1  x2-70 ,   ld  w1     8  ,   rs  w0  x3-72
       dl  w1  x2-68 ,   ld  w1     8  ,   rs  w0  x3-70
       dl  w1  x2-66 ,   ld  w1     8  ,   rs  w0  x3-68
       dl  w1  x2-64 ,   ld  w1     8  ,   rs  w0  x3-66
       dl  w1  x2-62 ,   ld  w1     8  ,   rs  w0  x3-64
       dl  w1  x2-60 ,   ld  w1     8  ,   rs  w0  x3-62
       dl  w1  x2-58 ,   ld  w1     8  ,   rs  w0  x3-60
       dl  w1  x2-56 ,   ld  w1     8  ,   rs  w0  x3-58
       dl  w1  x2-54 ,   ld  w1     8  ,   rs  w0  x3-56
       dl  w1  x2-52 ,   ld  w1     8  ,   rs  w0  x3-54
       dl  w1  x2-50 ,   ld  w1     8  ,   rs  w0  x3-52
       dl  w1  x2-48 ,   ld  w1     8  ,   rs  w0  x3-50
       dl  w1  x2-46 ,   ld  w1     8  ,   rs  w0  x3-48
       dl  w1  x2-44 ,   ld  w1     8  ,   rs  w0  x3-46
       dl  w1  x2-42 ,   ld  w1     8  ,   rs  w0  x3-44
       dl  w1  x2-40 ,   ld  w1     8  ,   rs  w0  x3-42
       dl  w1  x2-38 ,   ld  w1     8  ,   rs  w0  x3-40
       dl  w1  x2-36 ,   ld  w1     8  ,   rs  w0  x3-38
       dl  w1  x2-34 ,   ld  w1     8  ,   rs  w0  x3-36
       dl  w1  x2-32 ,   ld  w1     8  ,   rs  w0  x3-34
       dl  w1  x2-30 ,   ld  w1     8  ,   rs  w0  x3-32
       dl  w1  x2-28 ,   ld  w1     8  ,   rs  w0  x3-30
       dl  w1  x2-26 ,   ld  w1     8  ,   rs  w0  x3-28
       dl  w1  x2-24 ,   ld  w1     8  ,   rs  w0  x3-26
       dl  w1  x2-22 ,   ld  w1     8  ,   rs  w0  x3-24
       dl  w1  x2-20 ,   ld  w1     8  ,   rs  w0  x3-22
       dl  w1  x2-18 ,   ld  w1     8  ,   rs  w0  x3-20
       dl  w1  x2-16 ,   ld  w1     8  ,   rs  w0  x3-18
       dl  w1  x2-14 ,   ld  w1     8  ,   rs  w0  x3-16
       dl  w1  x2-12 ,   ld  w1     8  ,   rs  w0  x3-14
       dl  w1  x2-10 ,   ld  w1     8  ,   rs  w0  x3-12
       dl  w1  x2-8  ,   ld  w1     8  ,   rs  w0  x3-10
       dl  w1  x2-6  ,   ld  w1     8  ,   rs  w0  x3-8
       dl  w1  x2-4  ,   ld  w1     8  ,   rs  w0  x3-6
       dl  w1  x2-2  ,   ld  w1     8  ,   rs  w0  x3-4
       dl  w1  x2    ,   ld  w1     8  ,   rs  w0  x3-2

  ;c5=-g5.                ; basis for flyt forlæns
       jl.    (   g5.+f12); retur
\f

       0                  ; one dummy location to balance locations on
                          ; segments 2 - 4

  ; sekvens flyt baglæns og overspring 1 tegn


       dl  w1  x2+84 ,   ld  w1     8  ,   rs  w0  x3+82
       dl  w1  x2+82 ,   ld  w1     8  ,   rs  w0  x3+80
       dl  w1  x2+80 ,   ld  w1     8  ,   rs  w0  x3+78
       dl  w1  x2+78 ,   ld  w1     8  ,   rs  w0  x3+76
       dl  w1  x2+76 ,   ld  w1     8  ,   rs  w0  x3+74
       dl  w1  x2+74 ,   ld  w1     8  ,   rs  w0  x3+72
       dl  w1  x2+72 ,   ld  w1     8  ,   rs  w0  x3+70
       dl  w1  x2+70 ,   ld  w1     8  ,   rs  w0  x3+68
       dl  w1  x2+68 ,   ld  w1     8  ,   rs  w0  x3+66
       dl  w1  x2+66 ,   ld  w1     8  ,   rs  w0  x3+64
       dl  w1  x2+64 ,   ld  w1     8  ,   rs  w0  x3+62
       dl  w1  x2+62 ,   ld  w1     8  ,   rs  w0  x3+60
       dl  w1  x2+60 ,   ld  w1     8  ,   rs  w0  x3+58
       dl  w1  x2+58 ,   ld  w1     8  ,   rs  w0  x3+56
       dl  w1  x2+56 ,   ld  w1     8  ,   rs  w0  x3+54
       dl  w1  x2+54 ,   ld  w1     8  ,   rs  w0  x3+52
       dl  w1  x2+52 ,   ld  w1     8  ,   rs  w0  x3+50
       dl  w1  x2+50 ,   ld  w1     8  ,   rs  w0  x3+48
       dl  w1  x2+48 ,   ld  w1     8  ,   rs  w0  x3+46
       dl  w1  x2+46 ,   ld  w1     8  ,   rs  w0  x3+44
       dl  w1  x2+44 ,   ld  w1     8  ,   rs  w0  x3+42
       dl  w1  x2+42 ,   ld  w1     8  ,   rs  w0  x3+40
       dl  w1  x2+40 ,   ld  w1     8  ,   rs  w0  x3+38
       dl  w1  x2+38 ,   ld  w1     8  ,   rs  w0  x3+36
       dl  w1  x2+36 ,   ld  w1     8  ,   rs  w0  x3+34
       dl  w1  x2+34 ,   ld  w1     8  ,   rs  w0  x3+32
       dl  w1  x2+32 ,   ld  w1     8  ,   rs  w0  x3+30
       dl  w1  x2+30 ,   ld  w1     8  ,   rs  w0  x3+28
       dl  w1  x2+28 ,   ld  w1     8  ,   rs  w0  x3+26
       dl  w1  x2+26 ,   ld  w1     8  ,   rs  w0  x3+24
       dl  w1  x2+24 ,   ld  w1     8  ,   rs  w0  x3+22
       dl  w1  x2+22 ,   ld  w1     8  ,   rs  w0  x3+20
       dl  w1  x2+20 ,   ld  w1     8  ,   rs  w0  x3+18
       dl  w1  x2+18 ,   ld  w1     8  ,   rs  w0  x3+16
       dl  w1  x2+16 ,   ld  w1     8  ,   rs  w0  x3+14
       dl  w1  x2+14 ,   ld  w1     8  ,   rs  w0  x3+12
       dl  w1  x2+12 ,   ld  w1     8  ,   rs  w0  x3+10
       dl  w1  x2+10 ,   ld  w1     8  ,   rs  w0  x3+8
       dl  w1  x2+8  ,   ld  w1     8  ,   rs  w0  x3+6
       dl  w1  x2+6  ,   ld  w1     8  ,   rs  w0  x3+4
       dl  w1  x2+4  ,   ld  w1     8  ,   rs  w0  x3+2

  ;c6=-g5.                ; basis for flyt baglæns
       jl.    (   g5.+f12); retur
\f


  g4:  m. end code on segment 3
       c. g4-g1-506       ; end segment:
       m. code too long on segment 3
       z.
       c. 502-g4+g1, 0,r.252-(:g4-g1:)>1; fill segment
       z.

       <:tofromchar:>     ; alarm text

i.
e.                        ; end block segment 3

m. tofromchar, segment 3

\f

  ; start på segment 4 som flytter med 2 tegns skævhed

b.            g4          ; begin block segment 4
w.


  k=g5
g1:    0                  ; head word

  ;f12=-g5.
       0                  ; retur adr. til kalde-segment
\f

       0                  ; one dummy location to balance locations on
                          ; segments 2 - 4

  ; sekvens flyt forlæns og overspring 2 tegn


       dl  w1  x2-80 ,   ld  w1    -8  ,   rs  w1  x3-82
       dl  w1  x2-78 ,   ld  w1    -8  ,   rs  w1  x3-80
       dl  w1  x2-76 ,   ld  w1    -8  ,   rs  w1  x3-78
       dl  w1  x2-74 ,   ld  w1    -8  ,   rs  w1  x3-76
       dl  w1  x2-72 ,   ld  w1    -8  ,   rs  w1  x3-74
       dl  w1  x2-70 ,   ld  w1    -8  ,   rs  w1  x3-72
       dl  w1  x2-68 ,   ld  w1    -8  ,   rs  w1  x3-70
       dl  w1  x2-66 ,   ld  w1    -8  ,   rs  w1  x3-68
       dl  w1  x2-64 ,   ld  w1    -8  ,   rs  w1  x3-66
       dl  w1  x2-62 ,   ld  w1    -8  ,   rs  w1  x3-64
       dl  w1  x2-60 ,   ld  w1    -8  ,   rs  w1  x3-62
       dl  w1  x2-58 ,   ld  w1    -8  ,   rs  w1  x3-60
       dl  w1  x2-56 ,   ld  w1    -8  ,   rs  w1  x3-58
       dl  w1  x2-54 ,   ld  w1    -8  ,   rs  w1  x3-56
       dl  w1  x2-52 ,   ld  w1    -8  ,   rs  w1  x3-54
       dl  w1  x2-50 ,   ld  w1    -8  ,   rs  w1  x3-52
       dl  w1  x2-48 ,   ld  w1    -8  ,   rs  w1  x3-50
       dl  w1  x2-46 ,   ld  w1    -8  ,   rs  w1  x3-48
       dl  w1  x2-44 ,   ld  w1    -8  ,   rs  w1  x3-46
       dl  w1  x2-42 ,   ld  w1    -8  ,   rs  w1  x3-44
       dl  w1  x2-40 ,   ld  w1    -8  ,   rs  w1  x3-42
       dl  w1  x2-38 ,   ld  w1    -8  ,   rs  w1  x3-40
       dl  w1  x2-36 ,   ld  w1    -8  ,   rs  w1  x3-38
       dl  w1  x2-34 ,   ld  w1    -8  ,   rs  w1  x3-36
       dl  w1  x2-32 ,   ld  w1    -8  ,   rs  w1  x3-34
       dl  w1  x2-30 ,   ld  w1    -8  ,   rs  w1  x3-32
       dl  w1  x2-28 ,   ld  w1    -8  ,   rs  w1  x3-30
       dl  w1  x2-26 ,   ld  w1    -8  ,   rs  w1  x3-28
       dl  w1  x2-24 ,   ld  w1    -8  ,   rs  w1  x3-26
       dl  w1  x2-22 ,   ld  w1    -8  ,   rs  w1  x3-24
       dl  w1  x2-20 ,   ld  w1    -8  ,   rs  w1  x3-22
       dl  w1  x2-18 ,   ld  w1    -8  ,   rs  w1  x3-20
       dl  w1  x2-16 ,   ld  w1    -8  ,   rs  w1  x3-18
       dl  w1  x2-14 ,   ld  w1    -8  ,   rs  w1  x3-16
       dl  w1  x2-12 ,   ld  w1    -8  ,   rs  w1  x3-14
       dl  w1  x2-10 ,   ld  w1    -8  ,   rs  w1  x3-12
       dl  w1  x2-8  ,   ld  w1    -8  ,   rs  w1  x3-10
       dl  w1  x2-6  ,   ld  w1    -8  ,   rs  w1  x3-8
       dl  w1  x2-4  ,   ld  w1    -8  ,   rs  w1  x3-6
       dl  w1  x2-2  ,   ld  w1    -8  ,   rs  w1  x3-4
       dl  w1  x2    ,   ld  w1    -8  ,   rs  w1  x3-2

  ;c5=-g5.                ; basis for flyt forlæns
       jl.    (   g5.+f12); retur
\f

       0                  ; one dummy location to balance locations on
                          ; segments 2 - 4

  ; sekvens flyt baglæns og overspring 2 tegn


       dl  w1  x2+84 ,   ld  w1    -8  ,   rs  w1  x3+82
       dl  w1  x2+82 ,   ld  w1    -8  ,   rs  w1  x3+80
       dl  w1  x2+80 ,   ld  w1    -8  ,   rs  w1  x3+78
       dl  w1  x2+78 ,   ld  w1    -8  ,   rs  w1  x3+76
       dl  w1  x2+76 ,   ld  w1    -8  ,   rs  w1  x3+74
       dl  w1  x2+74 ,   ld  w1    -8  ,   rs  w1  x3+72
       dl  w1  x2+72 ,   ld  w1    -8  ,   rs  w1  x3+70
       dl  w1  x2+70 ,   ld  w1    -8  ,   rs  w1  x3+68
       dl  w1  x2+68 ,   ld  w1    -8  ,   rs  w1  x3+66
       dl  w1  x2+66 ,   ld  w1    -8  ,   rs  w1  x3+64
       dl  w1  x2+64 ,   ld  w1    -8  ,   rs  w1  x3+62
       dl  w1  x2+62 ,   ld  w1    -8  ,   rs  w1  x3+60
       dl  w1  x2+60 ,   ld  w1    -8  ,   rs  w1  x3+58
       dl  w1  x2+58 ,   ld  w1    -8  ,   rs  w1  x3+56
       dl  w1  x2+56 ,   ld  w1    -8  ,   rs  w1  x3+54
       dl  w1  x2+54 ,   ld  w1    -8  ,   rs  w1  x3+52
       dl  w1  x2+52 ,   ld  w1    -8  ,   rs  w1  x3+50
       dl  w1  x2+50 ,   ld  w1    -8  ,   rs  w1  x3+48
       dl  w1  x2+48 ,   ld  w1    -8  ,   rs  w1  x3+46
       dl  w1  x2+46 ,   ld  w1    -8  ,   rs  w1  x3+44
       dl  w1  x2+44 ,   ld  w1    -8  ,   rs  w1  x3+42
       dl  w1  x2+42 ,   ld  w1    -8  ,   rs  w1  x3+40
       dl  w1  x2+40 ,   ld  w1    -8  ,   rs  w1  x3+38
       dl  w1  x2+38 ,   ld  w1    -8  ,   rs  w1  x3+36
       dl  w1  x2+36 ,   ld  w1    -8  ,   rs  w1  x3+34
       dl  w1  x2+34 ,   ld  w1    -8  ,   rs  w1  x3+32
       dl  w1  x2+32 ,   ld  w1    -8  ,   rs  w1  x3+30
       dl  w1  x2+30 ,   ld  w1    -8  ,   rs  w1  x3+28
       dl  w1  x2+28 ,   ld  w1    -8  ,   rs  w1  x3+26
       dl  w1  x2+26 ,   ld  w1    -8  ,   rs  w1  x3+24
       dl  w1  x2+24 ,   ld  w1    -8  ,   rs  w1  x3+22
       dl  w1  x2+22 ,   ld  w1    -8  ,   rs  w1  x3+20
       dl  w1  x2+20 ,   ld  w1    -8  ,   rs  w1  x3+18
       dl  w1  x2+18 ,   ld  w1    -8  ,   rs  w1  x3+16
       dl  w1  x2+16 ,   ld  w1    -8  ,   rs  w1  x3+14
       dl  w1  x2+14 ,   ld  w1    -8  ,   rs  w1  x3+12
       dl  w1  x2+12 ,   ld  w1    -8  ,   rs  w1  x3+10
       dl  w1  x2+10 ,   ld  w1    -8  ,   rs  w1  x3+8
       dl  w1  x2+8  ,   ld  w1    -8  ,   rs  w1  x3+6
       dl  w1  x2+6  ,   ld  w1    -8  ,   rs  w1  x3+4
       dl  w1  x2+4  ,   ld  w1    -8  ,   rs  w1  x3+2

  ;c6=-g5.                ; basis for flyt baglæns
       jl.    (   g5.+f12); retur
\f


  g4:  m. end code on segment 4
       c. g4-g1-506       ; end segment:
       m. code too long on segment 4
       z.
       c. 502-g4+g1, 0,r.252-(:g4-g1:)>1; fill segment
       z.

       <:tofromchar:>     ; alarm text

i.
e.                        ; end block segment 4

m. tofromchar, segment 4
m. tofromchar  1988.06.01

\f

i.
e.                        ; end segment
w.

  ; tails

  ; tofromchar
  g0:
  g1:                     ; last tail
       4                  ; size
       0,0,0,0            ; docname
       1<23+e1-e5         ; entry
       1<18+19<12+19<6+41 ; procedure tofromchar(undef, integer addr,
       19<18+41<12        ;     _     undef, integer addr, integer addr);
       4<12+e0-e5         ; code procedure, start ext list
       4<12+0             ; 4 segments, 0 bytes
                          
d.
p.     <:insertproc:>     ;
▶EOF◀