ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov 1 19:25:08 2020 Source File: \t2pause.asm PAUSE SUBROUTINE 2 | *************************************************** T2A00020 3 | *STATUS-VERSION 2, MODIFICATION 0 * T2A00030 4 | * * T2A00040 5 | *FUNCTION/OPERATION * T2A00050 6 | * * WAIT FOR $IOCT TO BECOME ZERO. * T2A00060 7 | * * SET $PAUS TO ZERO. * T2A00070 8 | * * LOAD DISPLAY INTO THE A REGISTER. * T2A00080 9 | * * WAIT. * T2A00090 10 | * * EXIT IF $PAUS IS ZERO, OTHERWISE CLEAR * T2A00100 11 | * $PAUS, RELOAD DISPLAY AND AGAIN WAIT. * T2A00110 12 | * * T2A00120 13 | *ENTRY POINTS * T2A00130 14 | * * LIBF PAUSE * T2A00140 15 | * DC ADDR ADDRESS OF INDICATOR * T2A00150 16 | * * T2A00160 17 | *INPUT- N/A * T2A00170 18 | * * T2A00180 19 | *OUTPUT- N/A * T2A00190 20 | * * T2A00200 21 | *EXTERNAL REFERENCES * T2A00210 22 | * COMMA/DCOM * T2A00220 23 | * * $IOCT * T2A00230 24 | * * $PAUS * T2A00240 25 | * * $PRET T2A00250 26 | * * T2A00260 27 | *EXITS- * T2A00270 28 | * NORMAL- * T2A00280 29 | * EXITS TO LIBF + 2 * T2A00290 30 | * ERROR - N/A * T2A00300 31 | * * T2A00310 32 | *TABLES/WORK AREAS- N/A * T2A00320 33 | * * T2A00330 34 | *ATTRIBUTES- * T2A00340 35 | * ASSEMBLED RELOCATABLE * T2A00350 36 | * * T2A00360 37 | *NOTES- N/A * T2A00370 38 | *************************************************** T2A00380 PAUSE SUBROUTINE 40 | LIBR T2A00400 41 | ENT PAUSE T2A00410 42 | * T2A00420 0032 43 | $IOCT EQU /32 ZERO IN NO I/O IN PROGRESS T2A00430 00F0 44 | $PAUS EQU /F0 NON-ZERO IF SCA INTERRUPT T2A00440 0028 45 | $PRET EQU /28 SYSTEM WAIT SUBR T2A00450 46 | * T2A00460 47 | * T2A00470 0000R 48 | PAUSE EQU * ENTRY POINT T2A00480 49 | * T2A00490 0000 6A12 50 | STX 2 PE008+1 SAVE XR2 T2A00500 0001 6680 0000 51 | LDX I2 *-* XR2 .EQ. INDICATOR ADDR T2A00510 52 | * T2A00520 0003 7400 0032 53 | PE001 MDX L $IOCT,0 SKIP IF NO I/O BUSY T2A00530 0005 70FD 54 | MDX PE001 LOOP IF I/O BUSY T2A00540 55 | * T2A00550 0006 1010 56 | PE002 SLA 16 T2A00560 0007 D400 00F0 57 | STO L $PAUS CLEAR INTERRUPT INDICATOR T2A00570 58 | * T2A00580 0009 C680 0000 59 | LD I2 0 LOAD DISPLAY WORD T2A00590 60 | * T2A00600 000B 4400 0028 61 | BSI L $PRET WAIT T2A00610 62 | * T2A00620 000D 7400 00F0 63 | MDX L $PAUS,0 SKIP IF NO INTERRUPT T2A00630 000F 70F6 64 | MDX PE002 BRANCH IF INTERRUPT T2A00640 65 | * T2A00650 0010 7201 66 | MDX 2 1 CALCULATE RETURN ADDRESS T2A00660 0011 6A03 67 | STX 2 PE009+1 STORE RETURN ADDRESS T2A00670 68 | * T2A00680 0012 6600 0000 69 | PE008 LDX L2 *-* RESTORE XR2 T2A00690 0014 4C00 0000 70 | PE009 BSC L *-* RETURN T2A00700 71 | * T2A00710 0016 72 | END T2A00720 There were no errors in this assembly === CROSS REFERENCES ========================================================== Name Val Defd Referenced $IOCT 0032 43 53 $PAUS 00F0 44 57 63 $PRET 0028 45 61 PAUSE 0000R 48 PE001 0003R 53 54 PE002 0006R 56 64 PE008 0012R 69 50 PE009 0014R 70 67