ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:08 2020
Source File: \t2subsc.asm
LIBF SUBSC
2 | * FORTRAN SUBSCRIPT DISPLACEMENT CALC. T2D00020
3 | LIBR SUBSC T2D00030
4 | ENT SUBSC T2D00040
5 | * SYSTEMS SUBROUTINE 'SUBSC' T2D00050
6 | * COMPUTES DISPLACEMENT AND MOVES IT T2D00060
7 | * INTO SUBSCRIPT-GENERATED-TEMPORARY T2D00070
8 | * AND INTO INDEXREGISTER 1 T2D00080
9 | * T2D00090
10 | * ORDER OF ARGUMENTS IS T2D00100
11 | * T2D00110
12 | * ADDR OF SUBSCR GENERATED TEMPORARY T2D00120
13 | * D4 T2D00130
14 | * ADDRESS OF AN INTEGER VARIABLE T2D00140
15 | * (ONLY INCLUDED FOR THREE- T2D00150
16 | * DIMENSIONAL ARRAYS) T2D00160
17 | * D3 T2D00170
18 | * (ONLY INCLUDED FOR THREE- T2D00180
19 | * DIMENSIONAL ARRAYS) T2D00190
20 | * ADDRESS OF AN INTEGER VARIABLE T2D00200
21 | * (ONLY INCLUDED FOR TWO- AND T2D00210
22 | * THREEDIMENSIONAL ARRAYS) T2D00220
23 | * D2 T2D00230
24 | * (ONLY INCLUDED FOR TWO- AND T2D00240
25 | * THREEDIMENSIONAL ARRAYS) T2D00250
26 | * ADDRESS OF AN INTEGER VARIABLE T2D00260
27 | * D1, TAGGED (HAS A ONE IN BIT 0. TO T2D00270
28 | * INDICATE THAT IT IS THE LAST T2D00280
29 | * ARGUMENT T2D00290
30 | * T2D00300
0000 D01C 31 | SUBSC STO SUBS4+1 SAVE CONTENTS OF A-REG T2D00310
0001 6580 0000 32 | LDX I1 *+*-*-* 'CALLING ARGUM ADDR' TO X1 T2D00320
33 | * (ADDRESS OF LINKWORD IN T2D00330
34 | * TRANSFER VECTOR INSERTED T2D00340
35 | * BY LOADER) T2D00350
0003 C100 36 | LD 1 0 INSERT ADDRESS OF T2D00360
0004 D016 37 | STO SUBS3+1 SUBSC-GENER-TEMPORARY T2D00370
0005 1010 38 | SLA 16 T2D00380
0006 9101 39 | S 1 1 STORE -D4 AS INITIAL VALUE T2D00390
0007 D011 40 | STO SUBS2+1 OF SUBSEQUENT ACCUMULATION T2D00400
0008 7102 41 | MDX 1 2 T2D00410
0009 7102 42 | SUBS1 MDX 1 2 T2D00420
000A 1010 43 | SLA 16 T2D00430
000B 91FF 44 | S 1 -1 GET -D1 (OR -D2 OR -D3) T2D00440
000C 1001 45 | SLA 1 FROM ARGUMENT LIST T2D00450
000D A580 FFFE 46 | M I1 -2 MULTIPLY T2D00460
000F 108F 47 | SLT 15 BY VARIABLE AND T2D00470
0010 8008 48 | A SUBS2+1 ACCUMULATE THE RESULT T2D00480
0011 D007 49 | STO SUBS2+1 T2D00490
0012 C1FF 50 | LD 1 -1 T2D00500
0013 4810 51 | BSC - SKIP IF LAST (=TAGGED) ARGUM T2D00510
0014 70F4 52 | MDX SUBS1 BR IF NOT T2D00520
0015 C007 53 | LD SUBS4+1 RESTORE A-REGISTER T2D00530
0016 6D00 001DR 54 | STX L1 SUBS4+1 INSERT RETURN-ADDRESS T2D00540
0018 6500 0000 55 | SUBS2 LDX L1 *-* COMPUTED DISPLACEMENT TO X1 T2D00550
001A 6D00 0000 56 | SUBS3 STX L1 *-* SAME VALUE TO SUBSC-GEN-TEMP T2D00560
001C 4C00 0000 57 | SUBS4 BSC L *-* RETURN (ADDRESSPART ALSO T2D00570
58 | * USED FOR TEMPORARY T2D00580
59 | * STORAGE OF A-REGISTER) T2D00590
001E 60 | END T2D00600
There were no errors in this assembly
=== CROSS REFERENCES ==========================================================
Name Val Defd Referenced
SUBS1 0009R 42 52
SUBS2 0018R 55 40 48 49
SUBS3 001AR 56 37
SUBS4 001CR 57 31 53 54
SUBSC 0000R 31