DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 DFS Tapes

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

See our Wiki for more about Rational R1000/400 DFS Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦361518830⟧ M200

    Length: 1536 (0x600)
    Types: M200
    Notes: M200_PROGRAM
    Names: »P2UCLASS.M200«

Derivation

└─⟦24d56d853⟧ Bits:30000744 8mm tape, Rational 1000, DFS, D_12_6_5 SEQ293
    └─ ⟦this⟧ »P2UCLASS.M200« 
└─⟦9031b0687⟧ Bits:30000407 8mm tape, Rational 1000, DFS, D_12_7_3
    └─ ⟦this⟧ »P2UCLASS.M200« 

Disassembly

0x20166


@ 20166
EXP_FAIL
        <LVAR  0x00e 1(r)>
        <LVAR  0x00a 4(r)>
        <LVAR  0x008 1(r)>
    <POP 20166-202a2 Body>                                              
        <POP 20166-2017c Prologue>                           Σ0         ↓
        <POP 2017c-20192 RegCacheLoad>                       Σ0         ↓
        <POP 20192-201f2 Naked>                              Σ0         ↓ →0x2023a
            <Call 0x20192 0x103dc>                                              {}
                WriteConsoleCrLf(void)
            <Blob 0x20198 [18] @>                            Δ-18               {[«18""»]}
            <POP 201a4-201a6 StackAdj>                       Δ-4                {[«18""»]|[-4-]}
            <Lit 0x201a6 18>                                                    {[«18""»]|[$$Experiment error :]}
            <Call 0x201b2 0x103e0>                                              {[«18""»]|[$$Experiment error :]}
                WriteConsoleStringCrLf(str : String)
            <POP 201b4-201b5 StackAdj>                       Δ+22       ↓       {}
            <Blob 0x201b5 [14] @>                            Δ-14               {[«14""»]}
            <POP 201c4-201c6 StackAdj>                       Δ-8                {[«14""»]|[-8-]}
            <Lit 0x201c6 13>                                                    {[«14""»]|[-4-]|[$$Board      :_]}
            <POP 201d0-201d2 StackAdj>                       Δ-6                {[«14""»]|[-4-]|[$$Board      :_]|[-6-]}
            <MI 201d2  MOVE.B  (A6+0xe),(A7)>                                   {[«14""»]|[-4-]|[$$Board      :_]|[-6-]}
            <Call 0x201d6 0x1049c>                                              {[«14""»]|[-4-]|[$$Board      :_]|[-6-]}
                BoardName(address : B) : String
            <POP 201dc-201de StackAdj>                       Δ+2                {[«14""»]|[-4-]|[$$Board      :_]|[-4-]}
            <Call 0x201de 0x102d0>                                              {[«14""»]|[-4-]|[$$Board      :_]|[-4-]}
                StringCat2(a, b : String) : String
            <POP 201e4-201e6 StackAdj>                       Δ+8                {[«14""»]|[-4-]}
            <Call 0x201e6 0x103e0>                                              {[«14""»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 201e8-201ea StackAdj>                       Δ+18               {}
            <MI 201ea  MOVEA.L (A6+0xa),A0>                                     {}
            <MI 201ee  CMPA.W  #0x01,A0>                                        {}
            <MI 201f0  BEQ     0x2023a>                                         {}
        <POP 201f2-2023a Naked>                              Σ0         ↓
            <Blob 0x201f2 [14] @>                            Δ-14               {[«14""»]}
            <Blob 0x20202 [30] (A0+0xfc)>                    Δ-30               {[«14""»]|[«30»]}
            <POP 20212-20214 StackAdj>                       Δ-8                {[«14""»]|[«30»]|[-8-]}
            <Lit 0x20214 13>                                                    {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]}
            <POP 2021e-20220 StackAdj>                       Δ-4                {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[-4-]}
            <Lit 0x20220>                                                       {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[$$…]}
                <Pointer.sp 0x20220 12>                      Δ-4        
                <Const 0x20224 0x1.2>                        Δ-2        
                <Const 0x20226 0x1e.2>                       Δ-2        
                <Call 0x20228 0x102c4>
                    StringLit(Src : Pointer; Offset: W; Len : W) : String
                <POP 2022a-2022c StackAdj>                   Δ+8        
            <Call 0x2022c 0x102d0>                                              {[«14""»]|[«30»]|[-4-]|[$$Experiment :_]|[$$…]}
                StringCat2(a, b : String) : String
            <POP 20232-20234 StackAdj>                       Δ+8                {[«14""»]|[«30»]|[-4-]}
            <Call 0x20234 0x103e0>                                              {[«14""»]|[«30»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 20236-2023a StackAdj>                       Δ+48               {}
        <POP 2023a-2029a Naked>                              Σ0         ↓ ←0x20192
            <Blob 0x2023a [14] @>                            Δ-14               {[«14""»]}
            <POP 2024a-2024c StackAdj>                       Δ-8                {[«14""»]|[-8-]}
            <Lit 0x2024c 13>                                                    {[«14""»]|[-4-]|[$$Status     :_]}
            <POP 20256-20258 StackAdj>                       Δ-6                {[«14""»]|[-4-]|[$$Status     :_]|[-6-]}
            <MI 20258  MOVE.B  (A6+0x8),(A7)>                                   {[«14""»]|[-4-]|[$$Status     :_]|[-6-]}
            <Call 0x2025c 0x104a2>                                              {[«14""»]|[-4-]|[$$Status     :_]|[-6-]}
                ExpStatus2Text(status.B, &String)
            <POP 20262-20264 StackAdj>                       Δ+2                {[«14""»]|[-4-]|[$$Status     :_]|[-4-]}
            <Call 0x20264 0x102d0>                                              {[«14""»]|[-4-]|[$$Status     :_]|[-4-]}
                StringCat2(a, b : String) : String
            <POP 2026a-2026c StackAdj>                       Δ+8                {[«14""»]|[-4-]}
            <Call 0x2026c 0x103e0>                                              {[«14""»]|[-4-]}
                WriteConsoleStringCrLf(str : String)
            <POP 2026e-2026f StackAdj>                       Δ+18       ↓       {}
            <Blob 0x2026f [24] @>                            Δ-24               {[«24""»]}
            <Const 0x2027e 0x2.2>                            Δ-2                {[«24""»]|[#2]}
            <POP 20282-20284 StackAdj>                       Δ-4                {[«24""»]|[#2]|[-4-]}
            <Lit 0x20284 23>                                                    {[«24""»]|[#2]|[$$Fatal experiment error.]}
            <Call 0x20292 0x103b8>                                              {[«24""»]|[#2]|[$$Fatal experiment error.]}
                PopProgram(status : Byte; msg : String)
            <POP 20298-2029a StackAdj>                       Δ+30               {}
        <POP 2029a-202a2 Epilogue>                           Σ0         

0x202a2


@ 202a2
START
    <POP 202a2--0001 Body>                                              
        <POP 202a2-202ac Prologue>                           Σ0         
        <POP 202ac-202c4 RegCacheLoad>                       Σ0         ↓
        <POP 202c4-2032e Naked>                              Σ0         ↓
            <Call 0x202c4 0x10398>                                              {}
                FSCALL_10398
            <Const 0x202ca 0x204cf.4>                        Δ-4                {[##132303]}
            <Const 0x202d0 0x204d0.4>                        Δ-4                {[##132303]|[##132304]}
            <Call 0x202d6 0x10544>                                              {[##132303]|[##132304]}
                IPC_InitGetTwoBools(VAR a : Bool; VAR b : Bool)
            <POP 202dc-202de StackAdj>                       Δ+8                {}
            <Const 0x202de 0x0.4>                            Δ-4                {[##0]}
            <Call 0x202e2 0x104d8>                                              {[##0]}
                ExpInit(a : Long)
            <POP 202e8-202ea StackAdj>                       Δ+2                {[-2-]}
            <POP 202ea-202eb StackAdj>                       Δ+2                {}
            <Blob 0x202eb [2] 0x204d0>                       Δ-2                {[«2»]}
            <Call 0x202f0 0x104d2>                                              {[«2»]}
                SetExpInitDone(a : Byte)
            <POP 202f6-202f8 StackAdj>                       Δ+2                {}
            <Blob 0x202f8 [4] @>                             Δ-4                {[«4""»]}
            <Blob 0x202fc [4] @>                             Δ-4                {[«4""»]|[«4""»]}
            <POP 20300-20302 StackAdj>                       Δ-4                {[«4""»]|[«4""»]|[-4-]}
            <Lit 0x20302 8>                                                     {[«4""»]|[«4""»]|[$$P2UCLASS]}
            <MI 20314  MOVE.L  (A7)+,0x204be>                Δ+4                {[«4""»]|[«4""»]}
            <POP 2031a-2031c StackAdj>                       Δ+8                {}
            <Const 0x2031c 0x204c2.4>                        Δ-4                {[##132290]}
            <Call 0x20322 0x102b8>                                              {[##132290]}
                NewString(VAR a : String)
            <POP 20328-2032a StackAdj>                       Δ+4                {}
            <MI 2032a  MOVE.B  #0x03,0x204c7>                                   {}
            <MI 2032c  MOVEQ.L #0x01,D0>                                        {}
        <POP 2032e-2034a Naked>                              Σ0         ↓ →0x2032e ←0x2032e
            <MI 2032e  MOVE.L  D0,0x204dc>                                      {}
            <POP 0x20334 LimitCheck 0x0 ≤ D0 ≤ 0x7>                             {}
            <MI 2033a  LEA.L   0x204b6,A0>                                      {}
            <MI 20340  CLR.B   (A0+D0.L+#0x11)>                                 {}
            <MI 20344  ADDQ.L  #0x1,D0>                                         {}
            <MI 20346  CMP.L   #0x07,D0>                                        {}
            <MI 20348  BLE     0x2032e>                                         {}
        <POP 2034a-2038a Naked>                              Σ0         ↓ →0x20394
            <Call 0x2034a 0x20422>                                              {}
                exp_PREP_READ_REG.VAL()
            <MI 20350  CLR.B   -(A7)>                        Δ-2                {[#0]}
            <MI 20352  CLR.B   -(A7)>                        Δ-2                {[#0]|[#0]}
            <Const 0x20354 0x204d1.4>                        Δ-4                {[#0]|[#0]|[##132305]}
            <Call 0x2035a 0x203e4>                                              {[#0]|[#0]|[##132305]}
                exp_REG_TO_LOOP.VAL(Sw_1, Sw_1, &Sr_2)
            <POP 20360-20362 StackAdj>                       Δ+6                {[#0]}
            <POP 20362-20363 StackAdj>                       Δ+2                {}
            <Blob 0x20363 [2] 0x204d1>                       Δ-2                {[«2»]}
            <MI 20368  MOVE.B  0x204d2,(A7+0x1)>                                {[«2»]}
            <MI 20370  CLR.B   -(A7)>                        Δ-2                {[«2»]|[#0]}
            <Const 0x20372 0x204d3.4>                        Δ-4                {[«2»]|[#0]|[##132307]}
            <Call 0x20378 0x20404>                                              {[«2»]|[#0]|[##132307]}
                exp_READ_B_REG.VAL(Sw_2, Sw_1, &Sr_8)
            <POP 2037e-20380 StackAdj>                       Δ+8                {}
            <MI 20380  TST.B   0x204da>                                         {}
            <MI 20382  CLR.L   D0>                                              {}
            <MI 20384  MOVE.B  0x204da,D0>                                      {}
            <MI 20386  CMP.W   #0x08,D0>                                        {}
            <MI 20388  BLS     0x20394>                                         {}
        <POP 2038a-20394 Naked>                              Σ0         →0x20398
            <MI 2038a  MOVE.B  #0x27,0x204c7>                                   {}
            <MI 2038e  MOVE.B  #0x09,0x204c6>                                   {}
            <MI 20392  BRA     0x20398>                                         {}
        <POP 20394-20398 Naked>                              Σ0         ↓ ←0x2034a
            <MI 20394  MOVE.B  #0x03,0x204c7>                                   {}
            <MI 20396  MOVE.B  0x204da,0x204c6>                                 {}
        <POP 20398-2039a Naked>                              Σ0         ↓ ←0x2038a
            <MI 20398  MOVEQ.L #0x01,D0>                                        {}
        <POP 2039a-203b6 Naked>                              Σ0         ↓ →0x2039a ←0x2039a
            <MI 2039a  MOVE.L  D0,0x204dc>                                      {}
            <POP 0x203a0 LimitCheck 0x0 ≤ D0 ≤ 0x7>                             {}
            <MI 203a6  LEA.L   0x204b6,A0>                                      {}
            <MI 203ac  CLR.B   (A0+D0.L+#0x11)>                                 {}
            <MI 203b0  ADDQ.L  #0x1,D0>                                         {}
            <MI 203b2  CMP.L   #0x07,D0>                                        {}
            <MI 203b4  BLE     0x2039a>                                         {}
        <POP 203b6-203de Naked>                              Σ0         ↓
            <MI 203b6  CLR.B   -(A7)>                        Δ-2                {[#0]}
            <Blob 0x203b8 [4] 0x204be>                       Δ-4                {[#0]|[«4»]}
            <Blob 0x203be [4] 0x204c2>                       Δ-4                {[#0]|[«4»]|[«4»]}
            <Blob 0x203c4 [2] 0x204c6>                       Δ-2                {[#0]|[«4»]|[«4»]|[«2»]}
            <Blob 0x203c6 [8] 0x204c7>                       Δ-8                {[#0]|[«4»]|[«4»]|[«2»]|[«8»]}
            <Call 0x203d4 0x1054a>                                              {[#0]|[«4»]|[«4»]|[«2»]|[«8»]}
                ?IPC_Puts(a : Bool; b : String; c : String; d: Bool; e : Long; f : Long)
            <POP 203da-203de StackAdj>                       Δ+20               {}
        <POP 203de-203e4 Naked>                              Σ0         
            <Call 0x203de 0x10284>                                              {}
                ?exit

0x2044e


@ 2044e
PROG_FAIL
        <LVAR  0x008 1(r)>
    <POP 2044e-204b6 Body>                                              
        <POP 2044e-20464 Prologue>                           Σ0         ↓
        <POP 20464-204ae Naked>                              Σ0         ↓
            <Blob 0x20464 [14] @>                            Δ-14               {[«14""»]}
            <Const 0x20470 0x3.2>                            Δ-2                {[«14""»]|[#3]}
            <POP 20474-20476 StackAdj>                       Δ-8                {[«14""»]|[#3]|[-8-]}
            <Lit 0x20476 14>                                                    {[«14""»]|[#3]|[-4-]|[$$Words error :_]}
            <POP 20488-2048a StackAdj>                       Δ-4                {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <MI 2048a  MOVE.B  (A6+0x8),D0>                                     {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <MI 2048e  EXTB.W  D0>                                              {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <MI 20490  EXTW.L  D0>                                              {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <MI 20492  MOVE.L  D0,-(A7)>                     Δ-4                {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]|[4, 'D0']}
            <Call 0x20494 0x102e4>                                              {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]|[4, 'D0']}
                Long2String(a : Long) : String
            <POP 2049a-2049c StackAdj>                       Δ+4                {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
            <Call 0x2049c 0x102d0>                                              {[«14""»]|[#3]|[-4-]|[$$Words error :_]|[-4-]}
                StringCat2(a, b : String) : String
            <POP 204a2-204a4 StackAdj>                       Δ+8                {[«14""»]|[#3]|[-4-]}
            <Call 0x204a4 0x103b8>                                              {[«14""»]|[#3]|[-4-]}
                PopProgram(status : Byte; msg : String)
            <POP 204aa-204ae StackAdj>                       Δ+20               {}
        <POP 204ae-204b6 Epilogue>                           Σ0         

Raw from R1000.Disassembly/DFS

00020000 ; --------------------------------------------------------------------------------------
00020000 ; R1000.Disassembly modules:
00020000 ;   import all
00020000 ;   import kind.program
00020000 ;   no ident.cb34704c335802fb
00020000 ; --------------------------------------------------------------------------------------
00020000					stack.top:
00020000 00 04 00 00              |        |		.CODE	0x40000			; STACK.END
00020004 00 02 02 a2              |        |		.CODE	START
00020008 00 01 02 88              |        |		.CODE	FSCALL_10288
0002000c					heap.top:
0002000c 00 02 04 ea              |        |		.PTR	0x204ea
00020010					code.end:
00020010 00 02 04 b6              |        |		.PTR	0x204b6
00020014 00 00 00 00              |        |		.CONST	0x00000000
00020018					programfailurehandler:
00020018 00 02 04 4e              |   N    |		.CODE	PROG_FAIL
0002001c					experimentfailurehandler:
0002001c 00 02 01 66              |   f    |		.CODE	EXP_FAIL
00020020 00 00 00 00              |        |		.CONST	0x00000000
00020024					exp_init_done:
00020024 00                       |        |		.CONST	0x00
00020025 00                       |        |		.CONST	0x00
00020026 00 00                    |        |		.CONST	0x0000
00020028 00 00                    |        |		.CONST	0x0000
0002002a 00 00                    |        |		.XXX[0x2]
0002002c 00 00                    |        |		.CONST	0x0000
0002002e 00 00                    |        |		.CONST	0x0000
00020030 00 00                    |        |		.CONST	0x0000
00020032 00 00 00 00 00 00        |        |		.XXX[0x6]
00020038 00 00 00 00 00 00 00 00  |        |		.BLANK	00[0xb0]
000200e8 00 00 00 00              |        |		.XXX[0x4]
000200ec 00 00 00 00              |        |		.PTR	0x0
000200f0					is_open_ERROR_LOG:
000200f0 00                       |        |		.CONST	0x0
000200f1					write_error_ERROR_LOG:
000200f1 00                       |        |		.CONST	0x0
000200f2 00 00 00 00              |        |		.CONST	0x00000000
000200f6 00 00 00 00              |        |		.CONST	0x00000000
000200fa 00                       |        |		.CONST	0x00
000200fb 00                       |        |		.CONST	0x00
000200fc					file_ERROR_LOG:
000200fc 00 00 00 00              |        |		.CONST	0x00000000
00020100 00 00 00 00              |        |		.CONST	0x00000000
00020104 00 00                    |        |		.CONST	0x0000
00020106 00 00                    |        |		.CONST	0x0000
00020108					somekindoffsflag:
00020108 00                       |        |		.CONST	0x00
00020109 00                       |        |		.CONST	0x00
0002010a 42 6f 61 72 64 20 20 20  |Board   |		.TXT	'Board      :_ '
00020118 45 78 70 65 72 69 6d 65  |Experime|		.TXT	'Experiment :_ '
00020126 53 74 61 74 75 73 20 20  |Status  |		.TXT	'Status     :_ '
00020134 45 78 70 65 72 69 6d 65  |Experime|		.TXT	'Experiment error :'
00020146 46 61 74 61 6c 20 65 78  |Fatal ex|		.TXT	'Fatal experiment error. '
0002015e 50 32 55 43              |P2UC    |		.TXT	'P2UC'
00020162 4c 41 53 53              |LASS    |		.TXT	'LASS'
00020166 ; --------------------------------------------------------------------------------------
00020166 ; OMSI PASCAL Function
00020166 ;    <LVAR  0x00e 1(r)>
00020166 ;    <LVAR  0x00a 4(r)>
00020166 ;    <LVAR  0x008 1(r)>
00020166 ; --------------------------------------------------------------------------------------
00020166					EXP_FAIL:
00020166 4e 56 ff 8c              |NV      |		LINK.W	A6,#0xff8c
0002016a bf d5                    |        |		CMPA.L	(A5),A7
0002016c 62 06                    |b       |		BHI	0x20174
0002016e 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
00020172 4e 76                    |Nv      |		TRAPV
00020174 de fc 00 74              |   t    |		ADDA.W	#0x74,A7
00020178 48 e7 fc f8              |H       |		MOVEM.L	A4+A3+A2+A1+A0+D5+D4+D3+D2+D1+D0,-(A7)
0002017c 47 f9 00 01 02 c4        |G       |		LEA.L	StringLit(Src : Pointer; Offset: W; Len : W) : String,A3
00020182 49 f9 00 01 03 e0        |I       |		LEA.L	WriteConsoleStringCrLf(str : String),A4
00020188 72 01                    |r       |		MOVEQ.L	#0x01,D1
0002018a 74 0d                    |t       |		MOVEQ.L	#0x0d,D2
0002018c 76 1e                    |v       |		MOVEQ.L	#0x1e,D3
0002018e 78 12                    |x       |		MOVEQ.L	#0x12,D4
00020190 7a 0e                    |z       |		MOVEQ.L	#0x0e,D5
00020192 4e b9 00 01 03 dc        |N       |		JSR	WriteConsoleCrLf(void)
00020198 41 fa ff ac              |A       |		LEA.L	0x20146,A0
0002019c 70 08                    |p       |		MOVEQ.L	#0x08,D0
0002019e 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
000201a0 51 c8 ff fc              |Q       |		DBF	D0,0x2019e
000201a4 59 4f                    |YO      |		SUBQ.L	#0x4,A7
000201a6 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
000201aa 3f 01                    |?       |		MOVE.W	D1,-(A7)
000201ac 3f 04                    |?       |		MOVE.W	D4,-(A7)
000201ae 4e 93                    |N       |		JSR	(A3)
000201b0 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000201b2 4e 94                    |N       |		JSR	(A4)
000201b4 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000201b6 20 4f                    | O      |		MOVEA.L	A7,A0
000201b8 43 fa ff 50              |C  P    |		LEA.L	0x2010a,A1
000201bc 70 0c                    |p       |		MOVEQ.L	#0x0c,D0
000201be 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000201c0 51 c8 ff fc              |Q       |		DBF	D0,0x201be
000201c4 51 4f                    |QO      |		SUBQ.L	#0x8,A7
000201c6 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
000201ca 3f 01                    |?       |		MOVE.W	D1,-(A7)
000201cc 3f 02                    |?       |		MOVE.W	D2,-(A7)
000201ce 4e 93                    |N       |		JSR	(A3)
000201d0 54 4f                    |TO      |		ADDQ.L	#0x2,A7
000201d2 1e ae 00 0e              |        |		MOVE.B	(A6+0xe),(A7)
000201d6 4e b9 00 01 04 9c        |N       |		JSR	BoardName(address : B) : String
000201dc 54 4f                    |TO      |		ADDQ.L	#0x2,A7
000201de 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
000201e4 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000201e6 4e 94                    |N       |		JSR	(A4)
000201e8 de c4                    |        |		ADDA.W	D4,A7
000201ea 20 6e 00 0a              | n      |		MOVEA.L	(A6+0xa),A0
000201ee b0 c1                    |        |		CMPA.W	D1,A0
000201f0 67 48                    |gH      |		BEQ	0x2023a
000201f2 9e c5                    |        |		SUBA.W	D5,A7
000201f4 22 4f                    |"O      |		MOVEA.L	A7,A1
000201f6 45 fa ff 20              |E       |		LEA.L	0x20118,A2
000201fa 70 0c                    |p       |		MOVEQ.L	#0x0c,D0
000201fc 12 da                    |        |		MOVE.B	(A2)+,(A1)+
000201fe 51 c8 ff fc              |Q       |		DBF	D0,0x201fc
00020202 9e c3                    |        |		SUBA.W	D3,A7
00020204 22 4f                    |"O      |		MOVEA.L	A7,A1
00020206 41 e8 00 fc              |A       |		LEA.L	(A0+0xfc),A0
0002020a 70 1d                    |p       |		MOVEQ.L	#0x1d,D0
0002020c 12 d8                    |        |		MOVE.B	(A0)+,(A1)+
0002020e 51 c8 ff fc              |Q       |		DBF	D0,0x2020c
00020212 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00020214 48 6f 00 26              |Ho &    |		PEA.L	(A7+0x26)
00020218 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002021a 3f 02                    |?       |		MOVE.W	D2,-(A7)
0002021c 4e 93                    |N       |		JSR	(A3)
0002021e 58 4f                    |XO      |		ADDQ.L	#0x4,A7
00020220 48 6f 00 0c              |Ho      |		PEA.L	(A7+0xc)
00020224 3f 01                    |?       |		MOVE.W	D1,-(A7)
00020226 3f 03                    |?       |		MOVE.W	D3,-(A7)
00020228 4e 93                    |N       |		JSR	(A3)
0002022a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002022c 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
00020232 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00020234 4e 94                    |N       |		JSR	(A4)
00020236 de fc 00 30              |   0    |		ADDA.W	#0x30,A7
0002023a 9e c5                    |        |		SUBA.W	D5,A7
0002023c 20 4f                    | O      |		MOVEA.L	A7,A0
0002023e 43 fa fe e6              |C       |		LEA.L	0x20126,A1
00020242 70 0c                    |p       |		MOVEQ.L	#0x0c,D0
00020244 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
00020246 51 c8 ff fc              |Q       |		DBF	D0,0x20244
0002024a 51 4f                    |QO      |		SUBQ.L	#0x8,A7
0002024c 48 6f 00 08              |Ho      |		PEA.L	(A7+0x8)
00020250 3f 01                    |?       |		MOVE.W	D1,-(A7)
00020252 3f 02                    |?       |		MOVE.W	D2,-(A7)
00020254 4e 93                    |N       |		JSR	(A3)
00020256 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00020258 1e ae 00 08              |        |		MOVE.B	(A6+0x8),(A7)
0002025c 4e b9 00 01 04 a2        |N       |		JSR	ExpStatus2Text(status.B, &String)
00020262 54 4f                    |TO      |		ADDQ.L	#0x2,A7
00020264 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
0002026a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002026c 4e 94                    |N       |		JSR	(A4)
0002026e 5d 4f                    |]O      |		SUBQ.L	#0x6,A7
00020270 20 4f                    | O      |		MOVEA.L	A7,A0
00020272 43 fa fe d2              |C       |		LEA.L	0x20146,A1
00020276 70 16                    |p       |		MOVEQ.L	#0x16,D0
00020278 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
0002027a 51 c8 ff fc              |Q       |		DBF	D0,0x20278
0002027e 1f 3c 00 02              | <      |		MOVE.B	#0x02,-(A7)
00020282 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00020284 48 6f 00 06              |Ho      |		PEA.L	(A7+0x6)
00020288 3f 01                    |?       |		MOVE.W	D1,-(A7)
0002028a 3f 3c 00 17              |?<      |		MOVE.W	#0x17,-(A7)
0002028e 4e 93                    |N       |		JSR	(A3)
00020290 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00020292 4e b9 00 01 03 b8        |N       |		JSR	PopProgram(status : Byte; msg : String)
00020298 de c3                    |        |		ADDA.W	D3,A7
0002029a 4c df 1f 3f              |L  ?    |		MOVEM.L	(A7)+,D0+D1+D2+D3+D4+D5+A0+A1+A2+A3+A4
0002029e 4e 5e                    |N^      |		UNLK	A6
000202a0 4e 75                    |Nu      |		RTS
000202a2 ; --------------------------------------------------------------------------------------
000202a2 ; OMSI PASCAL Function
000202a2 ; --------------------------------------------------------------------------------------
000202a2					START:
000202a2 4f fa 00 08              |O       |		LEA.L	MAIN,A7
000202a6 4e f9 00 01 02 80        |N       |		JMP	?start_program
000202ac					MAIN:
000202ac 45 f9 00 02 04 c7        |E       |		LEA.L	0x204c7,A2
000202b2 47 f9 00 02 04 da        |G       |		LEA.L	0x204da,A3
000202b8 49 f9 00 02 04 c6        |I       |		LEA.L	0x204c6,A4
000202be 72 07                    |r       |		MOVEQ.L	#0x07,D1
000202c0 74 08                    |t       |		MOVEQ.L	#0x08,D2
000202c2 76 03                    |v       |		MOVEQ.L	#0x03,D3
000202c4 4e b9 00 01 03 98        |N       |		JSR	FSCALL_10398
000202ca 48 79 00 02 04 cf        |Hy      |		PEA.L	0x204cf
000202d0 48 79 00 02 04 d0        |Hy      |		PEA.L	0x204d0
000202d6 4e b9 00 01 05 44        |N    D  |		JSR	IPC_InitGetTwoBools(VAR a : Bool; VAR b : Bool)
000202dc 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000202de 48 78 00 00              |Hx      |		PEA.L	0x0
000202e2 4e b9 00 01 04 d8        |N       |		JSR	ExpInit(a : Long)
000202e8 54 4f                    |TO      |		ADDQ.L	#0x2,A7
000202ea 1e b9 00 02 04 d0        |        |		MOVE.B	0x204d0,(A7)
000202f0 4e b9 00 01 04 d2        |N       |		JSR	SetExpInitDone(a : Byte)
000202f6 54 4f                    |TO      |		ADDQ.L	#0x2,A7
000202f8 2f 3a fe 68              |/: h    |		MOVE.L	0x20162,-(A7)
000202fc 2f 3a fe 60              |/: `    |		MOVE.L	0x2015e,-(A7)
00020300 59 4f                    |YO      |		SUBQ.L	#0x4,A7
00020302 48 6f 00 04              |Ho      |		PEA.L	(A7+0x4)
00020306 3f 3c 00 01              |?<      |		MOVE.W	#0x1,-(A7)
0002030a 3f 02                    |?       |		MOVE.W	D2,-(A7)
0002030c 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00020312 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00020314 23 df 00 02 04 be        |#       |		MOVE.L	(A7)+,0x204be
0002031a 50 4f                    |PO      |		ADDQ.L	#0x8,A7
0002031c 48 79 00 02 04 c2        |Hy      |		PEA.L	0x204c2
00020322 4e b9 00 01 02 b8        |N       |		JSR	NewString(VAR a : String)
00020328 58 4f                    |XO      |		ADDQ.L	#0x4,A7
0002032a 14 83                    |        |		MOVE.B	D3,(A2)
0002032c 70 01                    |p       |		MOVEQ.L	#0x01,D0
0002032e 23 c0 00 02 04 dc        |#       |		MOVE.L	D0,0x204dc
00020334 b0 81                    |        |		CMP.L	D1,D0
00020336 63 02                    |c       |		BLS	0x2033a
00020338 4e 4f                    |NO      |		TRAP	#15
0002033a 41 f9 00 02 04 b6        |A       |		LEA.L	0x204b6,A0
00020340 42 30 08 11              |B0      |		CLR.B	(A0+D0.L+#0x11)
00020344 52 80                    |R       |		ADDQ.L	#0x1,D0
00020346 b0 81                    |        |		CMP.L	D1,D0
00020348 6f e4                    |o       |		BLE	0x2032e
0002034a 4e b9 00 02 04 22        |N    "  |		JSR	exp_PREP_READ_REG.VAL()
00020350 42 27                    |B'      |		CLR.B	-(A7)
00020352 42 27                    |B'      |		CLR.B	-(A7)
00020354 48 79 00 02 04 d1        |Hy      |		PEA.L	0x204d1
0002035a 4e b9 00 02 03 e4        |N       |		JSR	exp_REG_TO_LOOP.VAL(Sw_1, Sw_1, &Sr_2)
00020360 5c 4f                    |\O      |		ADDQ.L	#0x6,A7
00020362 1e b9 00 02 04 d1        |        |		MOVE.B	0x204d1,(A7)
00020368 1f 79 00 02 04 d2 00 01  | y      |		MOVE.B	0x204d2,(A7+0x1)
00020370 42 27                    |B'      |		CLR.B	-(A7)
00020372 48 79 00 02 04 d3        |Hy      |		PEA.L	0x204d3
00020378 4e b9 00 02 04 04        |N       |		JSR	exp_READ_B_REG.VAL(Sw_2, Sw_1, &Sr_8)
0002037e 50 4f                    |PO      |		ADDQ.L	#0x8,A7
00020380 4a 13                    |J       |		TST.B	(A3)
00020382 42 80                    |B       |		CLR.L	D0
00020384 10 13                    |        |		MOVE.B	(A3),D0
00020386 b0 42                    | B      |		CMP.W	D2,D0
00020388 63 0a                    |c       |		BLS	0x20394
0002038a 14 bc 00 27              |   '    |		MOVE.B	#0x27,(A2)
0002038e 18 bc 00 09              |        |		MOVE.B	#0x09,(A4)
00020392 60 04                    |`       |		BRA	0x20398
00020394 14 83                    |        |		MOVE.B	D3,(A2)
00020396 18 93                    |        |		MOVE.B	(A3),(A4)
00020398 70 01                    |p       |		MOVEQ.L	#0x01,D0
0002039a 23 c0 00 02 04 dc        |#       |		MOVE.L	D0,0x204dc
000203a0 b0 81                    |        |		CMP.L	D1,D0
000203a2 63 02                    |c       |		BLS	0x203a6
000203a4 4e 4f                    |NO      |		TRAP	#15
000203a6 41 f9 00 02 04 b6        |A       |		LEA.L	0x204b6,A0
000203ac 42 30 08 11              |B0      |		CLR.B	(A0+D0.L+#0x11)
000203b0 52 80                    |R       |		ADDQ.L	#0x1,D0
000203b2 b0 81                    |        |		CMP.L	D1,D0
000203b4 6f e4                    |o       |		BLE	0x2039a
000203b6 42 27                    |B'      |		CLR.B	-(A7)
000203b8 2f 39 00 02 04 be        |/9      |		MOVE.L	0x204be,-(A7)
000203be 2f 39 00 02 04 c2        |/9      |		MOVE.L	0x204c2,-(A7)
000203c4 1f 14                    |        |		MOVE.B	(A4),-(A7)
000203c6 51 4f                    |QO      |		SUBQ.L	#0x8,A7
000203c8 20 4f                    | O      |		MOVEA.L	A7,A0
000203ca 22 4a                    |"J      |		MOVEA.L	A2,A1
000203cc 70 07                    |p       |		MOVEQ.L	#0x07,D0
000203ce 10 d9                    |        |		MOVE.B	(A1)+,(A0)+
000203d0 51 c8 ff fc              |Q       |		DBF	D0,0x203ce
000203d4 4e b9 00 01 05 4a        |N    J  |		JSR	?IPC_Puts(a : Bool; b : String; c : String; d: Bool; e : Long; f : Long)
000203da de fc 00 14              |        |		ADDA.W	#0x14,A7
000203de 4e b9 00 01 02 84        |N       |		JSR	?exit
000203e4					exp_REG_TO_LOOP.VAL(Sw_1, Sw_1, &Sr_2):
000203e4 4e b9 00 01 05 68        |N    h  |		JSR	Run_Experiment()
000203ea 00 10                    |        |		.CONST	0x0010			; Stack-delta
000203ec 0f 52 45 47 5f 54 4f 5f  | REG_TO_|		.TXT	15,'REG_TO_LOOP.VAL'
000203fc 00                       |        |		.CONST	0x0
000203fd 07                       |        |		.CONST	0x7			; DIPROC address
000203fe 01                       |        |		.CONST	0x1			; Output Parameters
000203ff 02                       |        |		.CONST	0x2			; Input Parameters
00020400 00                       |        |		.CONST	0x0			; In arg [1]
00020401 00                       |        |		.CONST	0x0			; In arg [1]
00020402 01                       |        |		.CONST	0x1			; Out arg [2]
00020403 00                       |        |		.PAD	0x0
00020404					exp_READ_B_REG.VAL(Sw_2, Sw_1, &Sr_8):
00020404 4e b9 00 01 05 68        |N    h  |		JSR	Run_Experiment()
0002040a 00 10                    |        |		.CONST	0x0010			; Stack-delta
0002040c 0e 52 45 41 44 5f 42 5f  | READ_B_|		.TXT	14,'READ_B_REG.VAL'
0002041b 00                       |        |		.CONST	0x0
0002041c 07                       |        |		.CONST	0x7			; DIPROC address
0002041d 01                       |        |		.CONST	0x1			; Output Parameters
0002041e 02                       |        |		.CONST	0x2			; Input Parameters
0002041f 01                       |        |		.CONST	0x1			; In arg [2]
00020420 00                       |        |		.CONST	0x0			; In arg [1]
00020421 07                       |        |		.CONST	0x7			; Out arg [8]
00020422					exp_PREP_READ_REG.VAL():
00020422 4e b9 00 01 05 68        |N    h  |		JSR	Run_Experiment()
00020428 00 08                    |        |		.CONST	0x0008			; Stack-delta
0002042a 11 50 52 45 50 5f 52 45  | PREP_RE|		.TXT	17,'PREP_READ_REG.VAL'
0002043c 00                       |        |		.CONST	0x0
0002043d 07                       |        |		.CONST	0x7			; DIPROC address
0002043e 00                       |        |		.CONST	0x0			; Output Parameters
0002043f 00                       |        |		.CONST	0x0			; Input Parameters
00020440 57 6f 72 64 73 20 65 72  |Words er|		.TXT	'Words error :_'
0002044e ; --------------------------------------------------------------------------------------
0002044e ; OMSI PASCAL Function
0002044e ;    <LVAR  0x008 1(r)>
0002044e ; --------------------------------------------------------------------------------------
0002044e					PROG_FAIL:
0002044e 4e 56 ff d2              |NV      |		LINK.W	A6,#0xffd2
00020452 bf d5                    |        |		CMPA.L	(A5),A7
00020454 62 06                    |b       |		BHI	0x2045c
00020456 44 fc 00 02              |D       |		MOVE.W	#0x2,CCR
0002045a 4e 76                    |Nv      |		TRAPV
0002045c de fc 00 2c              |   ,    |		ADDA.W	#0x2c,A7
00020460 48 e7 80 80              |H       |		MOVEM.L	A0+D0,-(A7)
00020464 41 fa ff e8              |A       |		LEA.L	PROG_FAIL,A0
00020468 70 06                    |p       |		MOVEQ.L	#0x06,D0
0002046a 3f 20                    |?       |		MOVE.W	-(A0),-(A7)
0002046c 51 c8 ff fc              |Q       |		DBF	D0,0x2046a
00020470 1f 3c 00 03              | <      |		MOVE.B	#0x03,-(A7)
00020474 51 4f                    |QO      |		SUBQ.L	#0x8,A7
00020476 48 6f 00 0a              |Ho      |		PEA.L	(A7+0xa)
0002047a 3f 3c 00 01              |?<      |		MOVE.W	#0x1,-(A7)
0002047e 3f 3c 00 0e              |?<      |		MOVE.W	#0xe,-(A7)
00020482 4e b9 00 01 02 c4        |N       |		JSR	StringLit(Src : Pointer; Offset: W; Len : W) : String
00020488 58 4f                    |XO      |		ADDQ.L	#0x4,A7
0002048a 10 2e 00 08              | .      |		MOVE.B	(A6+0x8),D0
0002048e 48 80                    |H       |		EXTB.W	D0
00020490 48 c0                    |H       |		EXTW.L	D0
00020492 2f 00                    |/       |		MOVE.L	D0,-(A7)
00020494 4e b9 00 01 02 e4        |N       |		JSR	Long2String(a : Long) : String
0002049a 58 4f                    |XO      |		ADDQ.L	#0x4,A7
0002049c 4e b9 00 01 02 d0        |N       |		JSR	StringCat2(a, b : String) : String
000204a2 50 4f                    |PO      |		ADDQ.L	#0x8,A7
000204a4 4e b9 00 01 03 b8        |N       |		JSR	PopProgram(status : Byte; msg : String)
000204aa de fc 00 14              |        |		ADDA.W	#0x14,A7
000204ae 4c df 01 01              |L       |		MOVEM.L	(A7)+,D0+A0
000204b2 4e 5e                    |N^      |		UNLK	A6
000204b4 4e 75                    |Nu      |		RTS