/PLOT6.SB, PAGE 1 OF 5. (9/16/71 - C.M.MOORE, RICE U., HOUSTON) / /PDP-12 SCOPE DISPLAY PACKAGE 6. / /CONTAINS ENTRY POINTS DSP10,DSP11. /SEE LISTING OF FILE 'XPLAIN.PL' FOR AN EXPLANATION OF HOW TO /USE THESE ROUTINES. / LAP /THESE 2 ROUTINES OCCUPY EXACTLY 2 CORE PAGES. / ABSYM TEM2 10 /AUTO-INDEX REGISTER OPDEF ANDI 0400 OPDEF TADI 1400 OPDEF DCAI 3400 OPDEF JMPI 5400 / /ENTRYP SAVES LOCATION 1, FETCHES LX & LY, SETS UP FOR FULL OR /HALF SIZED CHARACTER DISPLAY ON CHANNEL 2. MODE, ENTRYP, 0 DCA CDFDSP 6141 /LINC 2001 /ADD 1 0002 /PDP DCA SAVE1 JMS GETARG /GET LX CLL CML SPA /CHECK FOR CHARACTER SIZE CMA IAC CLL TAD P4001 /SET UP FOR CHANNEL 2. 6141 /LINC P4001, 4001 /STC 1 1020 /LDA I 0200 0452 /LZE 0011 /CLR 0004 /ESF (SET UP CHAR SIZE) 0002 /PDP CLA CLL CML RTL /SET AC=2 TAD CDFDSP DCA CDFCIF /SET UP FOR QUICK RETURN JMS GETARG /GET LY DCA Y JMS GETARG /GET 3RD ARG JMPI ENTRYP / /ADDRES LOADS NEXT ARG ADDRESS POINTED TO BY DSP10 ADDRES, 0 CDFDSP, 0 /CHANGE TO DF OF CALLING PROGRAM TADI DSP10# INC DSP10# DCA TEM TAD TEM DCA ALUP9 TADI DSP10# INC DSP10# TEM, 0 /CHANGE TO DF OF ARG DCA TEM JMPI ADDRES / /PLOT6.SB, PAGE 2 OF 5. / /GETARG FETCHES NEXT ARG POINTED TO BY DSP10 PT1, GETARG, 0 JMS ADDRES TADI TEM JMPI GETARG / /DSCHAR DISPLAYS PATTERN POINTED TO BY TEM2. DSCHAR, 0 TADI TEM2 DCA PAT TAD Y 6141 /LINC P60, 1760 /DSC I PAT, 0000 /DISPLAY PATTERN 0002 /PDP CLA JMPI DSCHAR / P77P, PATTRN, P77 / /CHPLOT DISPLAYS THE CHARACTER IN BITS 6-11 OF THE AC. CHPLOT, 0 AND I P77P /EXPLICIT INDIRECT TO FORCE CHANGE TO CURRENT DF CLL RAL TAD PATTRN DCA TEM2 JMS DSCHAR /DISPLAY 1ST HALF OF CHARACTER JMS DSCHAR /DISPLAY 2ND HALF 6141 /LINC 0221 /XSK I 1 0221 /XSK I 1 0002 /PDP JMPI CHPLOT / /PLOT6.SB, PAGE 3 OF 5. / /SUBROUTINE DSP10(LX,LY,MODE,N) ENTRY DSP10 Y, DSP10, BLOCK 2 P7, CLA CLL IAC RTL CMA /SET AC=-5 DCA DSP11# TAD DSP10 JMS ENTRYP /GET LX,LY,MODE DCA MODE JMS GETARG /GET N DCA PT1 /CHECK IF NUMBER WILL BE DISPLAYED SIGNED OR UNSIGNED TAD MODE SZA CLA JMP ENDLUP TAD PT1 SPA CMA IAC CML DCA PT1 SNL JMP ENDLUP /DISPLAY MINUS SIGN CLA CMA CLL RTL /SET AC=-3 JMP DSP /OCTAL # DISPLAY LOOP OCLUP, TAD PT1 RTL RAL DCA PT1 TAD PT1 RAL AND P7 DSP, TAD P60 JMS CHPLOT /DISPLAY CHARACTER ENDLUP, ISZ DSP11# JMP OCLUP /EXIT SECTION JBACK, TAD SAVE1 6141 /LINC 4001 /STC 1 0002 /PDP CDFCIF, HLT /CHANGE TO DF&IF OF CALLING PROG. JMPI DSP10# /QUICK RETURN / /PLOT6.SB, PAGE 4 OF 5. / /SUBROUTINE DSP11(LX,LY,LENTH,STRNG) ENTRY DSP11 SAVE1, DSP11, BLOCK 2 TAD DSP11# DCA DSP10# TAD DSP11 JMS ENTRYP /GET LX,LY,LENTH CIA DCA DSP11# JMS ADDRES /LOAD ADDRESS OF STRNG INTO TEM /CHARACTER DISPLAY LOOP. ALUP9, 0 /CHANGE TO DF OF ARG TADI TEM /GET NEXT PAIR OF CHARS IN STRNG INC TEM DCA PT1 TAD PT1 RTR RTR RTR JMS CHPLOT /DISPLAY 1ST CHAR OF PAIR TAD PT1 JMS CHPLOT /DISPLAY 2ND CHAR ISZ DSP11# JMP ALUP9 AADISP, JMP JBACK P77, 77 /MUST BE LAST LOC ON PAGE /END OF 1ST CORE PAGE / /PLOT6.SB, PAGE 5 OF 5. CHRPAT, 5146;3645 /@ DISPLAY PATTERNS FOR 6-BIT STRIPPED ASCII CHARS. 4477;7744 /A 5177;2651 /B 4136;2241 /C 4177;3641 /D 4577;4145 /E 4477;4044 /F 4136;2645 /G 1077;7710 /H 7741;0041 /I 4142;4076 /J 1077;4324 /K 0177;0301 /L 3077;7730 /M 3077;7706 /N 4177;7741 /O 4477;3044 /P 4276;0376 /Q 4477;3146 /R 5121;4651 /S 4040;4077 /T 0177;7701 /U 0176;7402 /V 0677;7701 /W 1463;6314 /X 0770;7007 /Y 4543;6151 /Z 4177;0000 /[ (SHIFT K) 3040;0106 /\ (SHIFT L) 0000;7741 /] (SHIFT M) 3710;1037 /^ 3410;1052 /_ 0000;0000 / (SPACE) 7500;0000 /! 0070;0070 /" 7624;0024 /# 4731;4275 /$ 1446;6130 /% 5166;0526 /& 7000;0000 /' 3600;0041 /( 4100;0036 /) 2050;0050 /* 0404;0437 /+ 0500;0006 /, 0404;0404 /- 0001;0000 /. 0601;4030 // 4536;3651 /0 2101;0177 /1 4523;2151 /2 4122;2651 /3 2414;0477 /4 5172;0651 /5 1506;4225 /6 4443;6050 /7 5126;2651 /8 5122;3651 /9 2200;0000; 4601;0000; 2410;0042; 1212;1212; 4200;1024 /:;<=> AAEND9, 4020;2055 /? END