File OVRQ.MA (MACREL macro assembler source file)

Directory of image this file is from
This file as a plain text file

/5 OVERLAY Q - BLOCK LETTER PRINTER (5 BY 7)
	.INCLUDE MGLOB.MA
	.ASECT OVRQ,LEVEL=2,OVERLAY=0
/
/
/
/
/
/
/
/
/
/COPYRIGHT  (C)  1977 BY DIGITAL EQUIPMENT CORPORATION
/
/
/
/
/
/
/
/
/
/
/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
/AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
/CORPORATION.  DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
/FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
/
/THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
/UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
/(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
/SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
/
/DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
/OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
/DIGITAL.
/
/
/
/
/
/
/
/
/
/

.EXTERNAL ASEMLV,BACKUP,BRANCH,CREF,CRLF,DPRINT,ENTER,EOS,ERROR,EXPR .EXTERNAL FSCHEK,GETCHR,GETKAR,GETSYM,LETTER,LISTER,LOOKUP,ORIG,OUT,PARSYM .EXTERNAL PASS3,POP,PUSH,PUNBIT,PUTBIT,PUTSYM,PUXBIN,READLN,ROTL6,SCAN .EXTERNAL HEADING,ERKNT,ERRRRS,LIST,CRLF .GLOBAL BLKLET,BINFO /ALSO IT'S EXTENSION, OVERLAY #34 /ENTER WITH AC EQUAL TO THE NEGATIVE OF THE NUMBER OF /CHARACTERS TO BE IN A GROUP (SIDE OF BASIC BLOCK) IN LETTER /THIS SHOULD BE IN THE RANGE 1-3 INCLUSIVE FIELD 4 *2000 21 /OVERLAY NUMBER BLKLET, 0 DCA I PGROUP /STORE NEGATIVE TAD L7606 DCA I PBLKPTR /PRINT CHARS BEGINNING AT NAME1 JMS I POUTBLK /PRINT 6 CHARS (3 WORDS) -3 JMS I POUTBLK /NOW PRINT EXTENSION -1 /2 CHARS (1 WORD) JMP I BLKLET /RETURN PGROUP, GROUP L7606, 7606 PBLKPTR,BLKPTR POUTBLK,OUTBLK
*2024 BITLST, ZBLOCK 4 1621;2137;2121;2100 /A 3621;2136;2121;3600 /B 1621;2020;2021;1600 /C 3422;2121;2122;3400 /D 3720;2036;2020;3700 /E 3720;2036;2020;2000 /F 1621;2023;2121;1700 /G 2121;2137;2121;2100 /H 1604;0404;0404;1600 /I 0702;0202;0222;1400 /J 2122;2430;2422;2100 /K 2020;2020;2020;3700 /L 2133;2525;2121;2100 /M 2131;3125;2323;2100 /N 1621;2121;2121;1600 /O 3621;2136;2020;2000 /P 1621;2121;2522;1500 /Q 3621;2136;2422;2100 /R 1720;2016;0101;3600 /S 3704;0404;0404;0400 /T 2121;2121;2121;1600 /U 2121;2112;1204;0400 /V 2121;2125;2533;2100 /W 2121;1204;1221;2100 /X 2121;2116;0404;0400 /Y 3701;0204;1020;3700 /Z PAGE
GROUP, 0 /NEG OF # OF CHARS PER GROUP BLKPTR, 0 WCOUNT, 0 /NEG OF # OF WORDS TO PRINT LCOUNT, 0 /NEG OF # OF LINES PER LETTER IN BASIC BLOCK RNUM, 0 /NUMBER OF ROWS OF BASIC BLOCKS PER BIG LETTER SAVPT, 0 LETR, 0 /LETTER TO PRINT BITPTR, 0 /POINTS INTO BIT LIST BBITS, 0 BCOUNT, 0 LETT, 0
OUTBLK, 0 /PRINT BLOCK LETTERS / CDF 10 / TAD I BLKPTR / CDF 0 / SNA CLA / JMP OUTLV /HACK TAD BLKPTR DCA SAVPT DCA RNUM BLK3, TAD GROUP DCA LCOUNT BLK1, TAD I OUTBLK /GET NEG NUMBER OF WORDS DCA WCOUNT TAD SAVPT DCA BLKPTR BLK2, CDF 10 TAD I BLKPTR /GET LETTER RTR RTR RTR JMS LSTBLK CDF 10 TAD I BLKPTR JMS LSTBLK /RIGHT HALF ISZ BLKPTR /GO TO NEXT WORD ISZ WCOUNT /DONE WITH ROW? JMP BLK2 /NO JMS I QQCRLF /YES ISZ LCOUNT /DONE WITH GROUP? JMP BLK1 /NO ISZ RNUM /YES, GO TO NEXT ROW TAD RNUM AND (10 SNA CLA /DONE? JMP BLK3 /NO OUTLV, JMS I QQCRLF /AN EXTRA CR FOR GOOD LUCK ISZ OUTBLK JMP I OUTBLK
LSTBLK, 0 AND QQ77 /GET 6-BIT LETTER DCA LETR CDF 0 TAD LETR CLL RTL /TIMES 4 (4 WORDS PER LETTER) TAD (BITLST /ADD IN BASE OF BIT LIST DCA BITPTR TAD RNUM CLL RAR /DIVIDE RNUM BY 2 TAD BITPTR /UNITS DIGIT TO LINK DCA BITPTR /GET REAL BIT POINTER TAD I BITPTR /LINK OFF: LEFT HALF, ON: RIGHT HALF SNL JMP .+4 RTL /WANT 6 RIGHT BITS RTL RTL DCA BBITS TAD (-6 DCA BCOUNT LB2, TAD BBITS /ROTATE LEFT RAL /IMPORTANT BIT TO LINK DCA BBITS SZL TAD LETR /BIT ON: PRINT LETTER, OFF: PRINT SPACE SZL TAD QQ40 AND QQ77 TAD QQ40 DCA LETT TAD GROUP DCA GCOUNT LB3, TAD LETT JMS I QQLISTER ISZ GCOUNT JMP LB3 ISZ BCOUNT JMP LB2 JMP I LSTBLK
DIGS, 1621;2325;3121;1600 /0 0414;2404;0404;3700 /1 1621;0102;1420;3700 /2 3601;0204;0201;3700 /3 0206;1222;3702;0200 /4 3720;3601;0121;1600 /5 0710;2036;2121;1600 /6 3701;0204;1010;1000 /7 1621;2116;2121;1600 /8 1621;2117;0102;3400 /9 IFNZRO DIGS-BITLST-300 <_ERROR_> GCOUNT, 0 PAGE
.ASECT OVRQ2,LEVEL=2,OVERLAY=13 FIELD 4 *2000 RELOC 2400 34 VCODE=HEADING+51 NCODE=VCODE+1 PCODE=VCODE+2 BINFO, 0 TAD (FSHPLT DCA FSHPTR TAD I (ERKNT SNA CLA JMP NOERS TAD (-70 DCA PLOT TAD ("- JMS I QQLISTER ISZ PLOT JMP .-3 TAD ("> JMS I QQLISTER TAD QQ40 DCA PAD KCLA, CLA CLL TAD I (ERKNT JMS I QQDPRINT STA TAD I (ERKNT CDF 10 SNA CLA DCA I (ERRRRS+6 CDF 0 JMS I (LIST ERRRRS NOERS, JMS I (CRLF CDF 10 TAD I (VCODE /GET V OR X AND QQ77 CLL RTL RTL RTL DCA TEMP TAD I (NCODE /GET VERSION # AND QQ77 TAD TEMP CDF 0 DCA I (PL5+11 CDF 10 TAD I (PCODE CDF 0 AND QQ77 CLL RTL RTL RTL TAD QQ40 DCA I (PL5+12 TAD I (ERKNT SNA CLA JMP FSHLUP TAD (5256 DCA I (PL6+1 TAD (5540 DCA I (PL6+3 FSHLUP, TAD (SP JMS PLOT TAD I FSHPTR SNA JMP FSHDON JMS PLOT JMS I (CRLF ISZ FSHPTR JMP FSHLUP FSHDON, TAD (14 JMS I QQLISTER /SEND FORM FEED TAD KCLA DCA .-2 /ONLY ONCE JMP I BINFO FSHPTR, 0 FSHPLT, PL1 PL2 PL3 PL4 PL5 PL6 PL7 PL8 0 SP, TEXT / /
PLOT, 0 /ARG IN AC DCA POINTR PLUP, TAD I POINTR RTR RTR RTR JMS PLOTZ TAD I POINTR JMS PLOTZ ISZ POINTR JMP PLUP POINTR, 0 PLOTZ, 0 AND QQ77 SNA JMP I PLOT TAD QQ40 AND QQ77 TAD QQ40 JMS I QQLISTER JMP I PLOTZ PAGE
PL1, TEXT / . * * . ./ PL2, TEXT / . ' * ./ PL3, TEXT / * O * . * */ PL4, TEXT /* ./ PL5, TEXT / . X5A / PL6, TEXT / * ---' ) . * . */ PL7, TEXT / * ) . */ PL8, TEXT / ' * . . * / *.-1 4052 /<SPACE><STAR> PAGE RELOC



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search