ArrType[rem].base[ArrType[rem].华硕front base开箱++]=Q.base[i]

remquirodsnestvern | Scoop.it
Research and publish the best content.
Get Started for FREE
Already have an account:
Your new post is loading...
Your new post is loading...
Scooped by
The Highway 5 (Punjabi) Movie Tamil Free Download
TodayPk - TodayPk Watch Movies Online Free. Watch your favorite movies online free on TodayPk.
Latest Highway HD Movie 2014 Download Torrent here. A young city girl, full of life, is on the highway at night wiith her fianc. They are about to get.
. movie 3gp download Tamanchey tamil hd 1080p movie Hero free download Highway 5 (Punjabi) 2 full movie download hd utorrent download film Tera Mera Tedha Medha 1 2 .
Beneath the Dark p Movie Free Download HD Popcorns. Synopsis.
Anwar Ka Ajab Kissa Full Movie In Hindi Download Free. April 15, . Highway 5 Punjabi Movie Hindi Hd Download. . Bittoo Boss Full Book In Tamil Pdf Download. April .
623cf77009
Scooped by
Someday Full Movie Download 720p Kickass Torrent
Choose from more than 10000 movies available for download. Movies available in HD, DVDRip, DivX, XviD formats.
To download this torrent, . Added on Dec 23, 2014 by Hon3y 60.86K in Movies & Bollywood Torrent verified. . Happy New Year 2014 Hindi 720p HDRip AAC .
Download latest kat movie torrents for high quality kat movies.
Come and download new torrents absolutely for free.
padmavati 2018 hindi full movie 850mb mp4 download kickass torrent. . (2018) full movie download 720p. padmavati 2018 hindi movie download filmywap bollywood movies.
623cf77009
Scooped by
French Kiss Comix Magazine Download
This Is The Place To Find The Best Answers For French Kiss Comix Download !
Add a description of the contents of your gallery, so it will be more visible for other users. Remember that you can also add descriptions to each image.
kiss comix vol 6 free chm, pdf ebooks download.
Books / Mags / C M Sort by: . KISS Magazine - Hit Parader, The Year in Hard Rock 1996, (Ace hologram) $3.95. KISS Magazine - Jersey Style, September .
Download French Kiss Comix - Vol 1 or any other file from XXX category. HTTP download also available at fast speeds.
09d271e77f
Scooped by
Therapeutic Choices 7th Edition.rargolkes
e31cf57bcd
Scooped by
Food Inc Movie Worksheet Answer Key Rar
Host a Screening of Food, Inc. To request the rights to screen Food, Inc. in the U.S., please contact Swank Motion Pictures.If Food, Inc.
Worksheet of discussion questions to accompany the documentary Food, Inc written for an environmental science course. . Food, Inc. Student Worksheet. . Answer Key .
Info: Food Inc Movie Worksheet Answer Key Full From Australia. Food Inc Movie Worksheet Answer Key Full From Australia. ! Food Inc Movie Worksheet Answer Key Full From Australia !.
Food inc movie worksheet answer key rar - Food Inc Movie Worksheet Answer Key Rar. Posted 28/12/13. multiplechoicequestionsforcomputerarchitecturewithanswers.zip Download Mulligans
inc movie guide questions answers in pdf format, astronomy food inc movie worksheet answer key bookladorg .
e31cf57bcd
Scooped by
StatView Win32 V5.0 FR.zip
-Modified RetroArch module to enable per-game .cfg files (controls, shaders, aspect ratios, emulation.)
File: C:Documents and SettingsEmilie BURGUY.housecall6.6Quarantin eAltaPoint Veterinary Practice Management 5.00.10.zip.baca05520//CryptF F.b
X. You seem to have CSS turned off. Please don't fill out this field. You seem to have CSS turned off. Please don't fill out this field.
SolidEdge ST5 for win32&win64 . Enovia 3d com v5.0 R 14 . Graphs 2.4,STATA 6.0 Intercooled and Small,StatGraphics Plus 3.0,StatView 4.5,StatXact 3.1 .
SELECT * FROM InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA "Win32Processor" AND . install v5.0, Solidcore fails to . Working - Statview.Exe ak .
c11361aded
Scooped by
The Six Pillars Of Self-esteem Epub Download Nook
Download free six pillars of self esteem . Thought Intellectual Portraits Of Orthodoxy And Modernity Help Me Guide To The Nook . Weiblichkeit Ebook Strip .
Title [Download] Nathaniel Branden Six Pillars Self Esteem [PDF] [EBOOK] Author: Kerde Emile Subject: Nathaniel Branden Six Pillars Self Esteem PDF
The Paperback of the The Six Pillars of Self Esteem by . Discover NOOK GlowLight 3, now . Branden introduces the six pillars-six action-based practices for .
Six pillars of self esteem ePub download - Author: . 93136 Price: Free* Uploader: Trenton Six pillars of self esteem eBook Telecharger Gratuit Lets remember .
Download Free eBook:[PDF] The Six Pillars of Self-Esteem [Audiobook] - Free epub, mobi, pdf ebooks download, ebook torrents download.
c2ef32f23e
Scooped by
Matilda Roald Dahl Epub Download
Borrow this book to access EPUB and PDF files. . Matilda (Puffin Modern Classics) . by Dahl, R Blake, Quentin, ill. texts.
by Roald Dahl Book Details Format: EPUB Page count: 256 pages Protection: DRM Language: English Matilda is one of Roald Dahl's most magical stories!Matilda.
Matilda - Kindle edition by Roald Dahl, Quentin Blake. Download it once and read it on your Kindle device, PC, phones or tablets.
download free ebooks here. download free ebooks here .
Matilda by Roald Dahl in CHM, DOC, FB3 download e-book.
c2ef32f23e
Scooped by
Baixaki Hinario 5 Ccb Pdf 12
Hinrio 5 CCUS todo completo, . 2 12. 1 18. Loading. Additional Information. . Hinrio CCB 5. WorldTech. Instruments, musical voices, .
Material produzido por mim e/ou encontrado na web.Blog produzido com a finalidade de ajudar nossos irmos com dificuldades
260-pdf 260-pdf. . Voc pode gostar tambm. HINO 411 O VITUPRIO DE JESUS. 12 de Maro de 2017 Celso Nery 0. . HINRIO CCB N5 CIFRADO PARA VIOLO .
acesse seu pdf aqui =https: . 10 aula de violino grtis hinrio 5 ccb. aulas de violo para evanglicos . aulas de violo para evanglicos 12 months ago.
MidwayUSA is a privately held American retailer of various hunting and outdoor-related products.
99f0b496e7
Scooped by
Oracle Database 12c New Features Robert Freeman Pdf 71
. Oracle Database 12c Administrator Certified Professional Study Guide is designed for those who . Oracle Database 12c Multitenant . Robert G. Freeman .
New features in ASM for Oracle Database 12c enable storage management to seamlessly adapt to changing requirements and configurations. Furthermore, .
Ebook Oracle Database 12c New Features By Robert Freeman - PDF Format Oracle Database 12c New Features By Robert Freeman click here to access This Book :
This acclaimed book by Robert Freeman is available at eBookMall.com in several formats for . Oracle GoldenGate 11g Handbook PDF . Oracle Database 12c New Features.
If searched for a ebook by Robert G. Freeman Oracle Database 11g New Features . edition by Robert G. Freeman pdf , . 12C, 676LT and more. The .
99f0b496e7
Scooped by
Football Manager 2016 Crack Mac Recipe
Football Manager 2017 Free Download Full . Full Version PC/Mac/Xbox/PS Crack Full Game + Crack . Football Manager 2017 Release Date: Nov 4Th 2016 .
Visit us and download football manager 2016 absolutely for free. Free downloads.
Football Manager 2017 Telecharger Le Jeu Complet.
Comprar Football Manager 2016 mais barato em Instant Gaming, o lugar para comprar seus jogos com o melhor preo com entrega imediata!
MAC; Android . game urs. your game zone . . Football Manager is the most realistic, . Latest crack for Football Manager .0 with all bugs reported fixed .
a1e5b628f3
Scooped by
Need For Speed Dual Audio Hindi 720p Download
Need for Speed 2014 Hindi Dual Audio Esubs 720p BRRip Fresh from prison, a street racer who was framed by a wealthy business associate joins a cross country race with revenge in mind.
Need for Speed 2014 Full Movie Dual Audio Hindi Download 720p Film Details. . Need for Speed 2014 Full Movie Dual Audio Hindi Download 720p Film Details.
Need for Speed (2014) Hindi - English Dual Audio 400mb BluRay, Need for Speed Full Movie Download hd mkv 300mb 700mb worldfree4u 480p p Need for Speed download in hindi
Need for Speed 2014 Dual Audio 720p BluRay . The Way Back 2010 Dual Audio 720p BluRay [Hindi English] ESubs. Download. Broken City 2013 Dual Audio 720p BluRay .
Latest New Dual Audio HollyWood Movies Download, Hindi + English, Tamil, . Need for Speed 2014 Dual Audio Hindi 720p BluRay ESub 1.2GB. March 19, 2018 Admin.
a1e5b628f3
Scooped by
Ableton Live Suite 8.2.8 Crack Mac
Manual Nero 7 Ultra Edition Portugues Baixaki Completo . download trial ableton live 9 suite crack nero .
Ableton Live 10 Crack & Serial key [Windows + MAC] Ableton Live 10 Crack was announced late last season, though it has merely been the final couple of days that mere grave customers were
ableton live suite 8.2.8 crack mac [TRUSTED DOWNLOAD] counter strike 1.8.rar free nuts magazine pdf downloadgolkes izotope nectar 2 crack macbookinstmank
Find Deals on Ableton Suite 8 in Graphic Software on Amazon.
Ableton Live 10 Crack [Windows + MAC] Patch Is Here Ableton Live 10 Crack Full Patch Is here.
Scooped by
Download Hd Movie The Lunchbox In Hindi
World's Largest Online Community.
Free Recipes From Kraft Foods.
The Lunchbox (2013) - watch online/download - quality: BRRip HD 720p - free full movie - The film, set in Mumbai, revolves around a mistaken delivery by the D.
The Lunchbox 2013 Full Movie Free Download 720p BluRay, The Lunchbox 2013 full movie,The Lunchbox movie download hd from HD Movies Download.
Free Download The LunchBox (2013) DVDRip Full Hindi Movie Direct Download Watch Online Latest Bollywood Hindi HD Films via Single Resumable Links
623cf77009
Scooped by
Sonicwall Cssa Exam Questions.zip
For IT career related questions, . wait five business days before Pearson issues you a voucher to take another exam. . Sonicwall CSSA was a test taken .
Bootice V0.6.4 Download Sonicwall Cssa Exam Questions Answers Zip Red Giant Knoll Light Factory For Photoshop 3.2.0 MacOSX New Rise Of The Lord Of Tentacles Full .
Download zip of sere 100 captivity test answers .
Download zip of econometrics exam solutions lse . Exam Answers, Sonicwall Cssa Exam Questions Answers, Sandia High School Geometry Final Exam Answers, .
. Behind the Wheel: Spanish 3 free pdf ebook download.zip . A Memoir exam level .
09d271e77f
Scooped by
Boilsoft.Audio.Converter.v1.31 KEYGEN FFF.rar
[Most Popular] Autocad 2004 Covadis 2004 Crack . Boilsoft.Audio.Converter.v1.31 KEYGEN FFF.rar Activation Code crack or keygen Ontrack EasyRecovery Professional
Found results for Boilsoft Audio Converter V1.31 crack, serial & keygen. Our results are updated in real-time and rated by our users. . V1.31 Keygen-fff.rar:
Boilsoft.Audio.Converter.v1.31 KEYGEN FFF.rar Keygen Endnote X5 Serial 4shared Future Islands Wave Like Home 2008 manuale di tecniche e procedure infermieristiche di .
Boilsoft.Audio.Converter.v1.31 KEYGEN FFF.rar drivers wifi for xp packard bell easynote mit cou a 15 years old girls sex .
B20 software hack crack keygen serial nocd loader
09d271e77f
Scooped by
Motion 5.0.6 Dmg Download
Motion 5.0.6.dmgfMotion 5.0.6.dmg
Pages 6.0.dmg 228 MB; . Motion 5.3 .dmg 2,102 MB; Compressor 4.3.dmg 412 MB; macOS Sierra 10.12.1 Utilities . . You cannot download any of those files from here.
Speed Download 5.3.0.dmg . SpeedMP3DownloaderPortable2.4.0.6English.paf.exe .
Find support information, product highlights, featured content, downloads and more for Intel Graphics Drivers Torrent motion 5.0.6. Intel Graphics Driver Download.
Mocha Pro 5.6.0. February 5, . Planar Motion Tracking . which makes it impossible to download one. Reply. February 7, 2018 at 1:51 am . tomyam.
e31cf57bcd
Scooped by
Descargar Gratis Si No Esta Roto Rompalo Pdf
This pdf ebook is one of digital edition of Nieve En La Habana Confesiones De Un Cubanito Spanish Edition that can be search along internet in google,
Descargar : Si-no-esta-roto-rompalo - Buscador IUMX, Buscador de descargas directas y Libros.
El presente librito est escrito en lo que esta el librito azul conny mendez . en doc y pdf para descargar gratis. el . si no esta roto rompalo .
Si no esta roto rompalo pdf . DE PARASITOsis- BOTERO-QUINTA EDICION-libro Gratis . Free PDF . y Libros Descargar el libro Si no est roto rmpalo de .
resea del libro SI NO ESTA ROTO ROMPALO Normal 0 21 false false false ES X-NONE X-NONE Si no esta roto, ROMPALO. Autor: .
c11361aded
Scooped by
Killswitch Engage - Disarm The Descent [Special Edition] (2013).rar
Killswitch Engage Disarm The Descent (Special Edition) 2013 Metal 320kbps.rar mp3320kb/s Tracklist: The Hell in Me 2:57 Beyond the Flames 2:53 The New Awakening 3:33 In Due Time
Buy Killswitch Engage Disarm The Descent (Special Edition) Mp3 Download. Buy & Download Cheap Mp3 Music Online.
Find a Killswitch Engage - Disarm The Descent (Special Edition) first pressing or reissue. Complete your Killswitch Engage collection. Shop Vinyl and CDs.
Find & Share Photos with Friends On Facebook.
Disarm the Descent is the sixth studio album by American metalcore . 2013, Killswitch Engage unveiled a second song . A Special Edition version of the .
c11361aded
Scooped by
Nyanthara Xxx 1mB 2mB Downlod On Mobil
Saving Super Mario Odyssey's Secret Flower Field With a Separated Joy-Con
Microsoft Windows 2000 Professional SP4 Integrated Oct 2008 . Microsoft Windows 2000 Professional SP4 Integrated Oct 2008 (TPB c18a) .
World's Largest Online Community.
. Kumpulan video bokef xXx . Video 03 1.2Mb [] Video 04 1.1Mb . Film SEMI Jepang The Gigolo 2 Terbaru 2016 Download Video Bokep Ngentot di Mobil 3 Download .
162 pornstar cindy lords naked images xxx, nayanthara bikini billa . nayanthara naked images shared files results. . 4267 video for download.
c2ef32f23e
Scooped by
Savita Bhabhi English Pdf Free Downloadgolkes
Telangana Kavulu Rachanalu Pdf Downloadgolkes & DOWNLOAD. Tags .
Openerp Database Schema Pdf . In Hindi . savita bhabhi episode 33 in english pdf free download . and ecology by majid husain pdf downloadgolkes .
malayalam books pdf file free . sword art online episodes 1-25 720p complete english sub .
Savita Bhabhi Pdf Hindi Story Free D . Be Careful What You Wish For Pdf Free . I am tying in English because I have only Zawgyi font and the .
taboo charming mother english . infotech english for computer users teacher's book pdf download savita bhabhi .
c2ef32f23e
Scooped by
Ionic Framework Tutorial Step By Step Pdf 16
Build Your First Mobile App With Ionic 2 . Ionic 2. The Ionic Framework uses . How To Create And Display A PDF File In Your Ionic App. In this tutorial we're .
E-Book Gallery for Microsoft Technologies (EN) . Step-by-Step. This tutorial series shows how to create . PDF SSource content. The Entity Framework 4.0 and ASP .
Ionic 2 Tutorial with Two Complete Apps . Learn Ionic 2 with two in-depth, step-by-step . to learn the new I Desire concrete step-by-step .
Learn How To Build Apps With Ionic .
Ionic Framework by Example is for people who dont want to learn . Add basic and advanced features to the I Connect an Ionic app with a Firebase .
99f0b496e7
Scooped by
Hd Hindi Full Movie Download Freeinstmank
Padmavat Hindi Movie Online Watch Full Hd 2018, Padmavat Hindi Movie Watch Online, Online Watch Padmavat Movie, Download Padmavat Movie Online Hd, Padmavat Movie, Padmavat Movie Online
The Best Free Movie Download Site For Mobile, . South Indian Hindi Dubbed Movie - DVDRip Added in - HD MP4 =: Full Movies Menu := Chinese Hindi Dubbed Movie.
Download Hindi Movies Torrent Full Free In HD Quelty, Latest Collection Of Bollywood Hindi Torrent Movies In p, PreDVD Results Download Free With Single Click.
WorldFree4u.com World4ufree Khatrimaza bollywood 720p 300mb dual audio hollywood south indian movies download 9xmovie Full download site provide English Hindi dub South movies in Mp4 3Gp AVI
MkvCinemas.Com Download Mkv 300MB Movies Bollywood, Hollywood, Hindi for pc MkvCinemas.Com Download 720p Full HD Mkv Movies Bollywood, Hollywood, Hindi for pc Mkv Movie torrent PC Movies of
a1e5b628f3
Scooped by
A Family's Guide To Tourette Syndrome Mobi Download Book
The Histories of Tourette Syndrome Howard I. Kushner .
1-16 of 143 results for "tics and tourettes" . A Patient and Family Guide Oct 30 2005. . Tranquility For Tourette's Syndrome: .
Find Your Next Home In Seconds. Get Property & Rental Info Today.
Gilles de la Tourette's Syndrome in Childhood: A Guide for School Professionals. Abbe L. Walter, Alice S. Carter. pp. 28-46. General Issue.
Pre Order Natural Treatments for Tics and Tourette s: A Patient and Family Guide Sheila Rogers DeMare . Download Gilles De LA Tourette Syndrome Books .
a1e5b628f3
Scooped by
HP Pavilion DV1022 Maintenance And Service Manual 238 Pages
Hp Pavilion Dv2000 Entertainment Manual Hp Pavilion Dv2000 . 14r1 14t1 20r1 20t1 21t1 21n1 Service Manual . User Guide Massey Ferguson 238 Diesel Maintenance .
Shop from the world's largest selection and best deals for Computers/Tablets and Networking Manuals. . maintenance to full repairs. Every Manual . Service Manuals.
More related with hp pavilion dv6 6024tx service manual : . Pa Rev 238 Instructions Ifsta . Building Maintenance Check List Log Bell 212 Manuals .
Harddisk 117 of 238 Memory module 121 of 238 HP G50 . Hp envy & hdx maintenance and service . 2013 link manual calculadora HP 49G. Ebook hp pavilion 17 .
. DV1006 Maintenance And Service Manual 238 Pages EIC . XiaMen F3423 User Manual . Manual HP Pavilion DV1006 Maintenance And Service Manual .
How do I publish content on my topic?
Easy to do! You can:
choose from suggestions on the right-side panel
publish any web site on the fly in 1-click (bookmarklet)
copy paste a link in the input box below
rescoop other curators’ content
How to grow my audience and develop my traffic?
Publishing quality and relevant content you curate on a regular basis will develop your online visibility and traffic.
Why should I share my scoops?
Sharing your scoops to your social media accounts is a must to distribute your curated content. Not only will it drive traffic and leads through your content, but it will help show your expertise with your followers.
Why should I brand my topic?
Branding your topics will give more credibility to your content, position you as a professional expert and generate conversions and leads.
How to integrate my topics' content to my website?
Integrating your curated content to your website or blog will allow you to increase your website visitors’ engagement, boost SEO and acquire new visitors. By redirecting your social media traffic to your website, Scoop.it will also help you generate more qualified traffic and leads from your curation work.
How to curate as a team?
Save time by spreading curation tasks among your team.
How can I send a newsletter from my topic?
Distributing your curated content through a newsletter is a great way to nurture and engage your email subscribers will developing your traffic and visibility.
Creating engaging newsletters with your curated content is really easy.
Can I make a topic hidden or private?
You don’t want your Scoop.it page to be public: make it private. You can decide to make it visible only to you or to a restricted audience.
We'll suggest content based on your keywords
To get content containing either thought or leadership enter:
To get content containing both thought and leadership enter:
To get content containing the expression thought leadership enter:
You can enter several keywords and you can refine them whenever you want. Our suggestion engine uses more signals but entering a few keywords here will rapidly give you great content to curate.
How do I follow my topics' performance?
Measuring and analyzing your curation will help you to understand what your audience is looking for and how to improve your performance.PDP-10 Archive: decus/20-0028/sno313.mac from decuslib20-02
Enter your search terms
Submit search form
pdp-10.trailing-edge.com
decus/20-0028/sno313.mac
There are 2 other files named sno313.mac in the archive.
to see a list. TITLE 'TABLE OF CONTENTS'
E32 (DECEMEBR 18, 1969) -- VERSION 3.0
UPDATED TO VERSION 3.3 (MARCH 26, 1970)
UPDATED TO VERSION 3.4.3 (JAN. 16,1971)
LINKAGE AND EQUIVALENCES . . . . . . . . . . . . . .252
LINKAGE . . . . . . . . . . . . . . . . . . . . .253
MACHINE DEPENDENT PARAMETERS. . . . . . . . . . .254
CONSTANTS . . . . . . . . . . . . . . . . . . . .258
EQUIVALENCES. . . . . . . . . . . . . . . . . . .288
DATA TYPE CODES . . . . . . . . . . . . . . . . .317
PROGRAM INITIALIZATION . . . . . . . . . . . . . . .330
COMPILATION AND INTERPRETER INVOCATION . . . . . . .376
SUPPORT PROCEDURES . . . . . . . . . . . . . . . . .426
AUGATL. . . . . . . . . . . . . . . . . . . . . .430
CODSKP. . . . . . . . . . . . . . . . . . . . . .454
DTREP . . . . . . . . . . . . . . . . . . . . . .473
FINDEX. . . . . . . . . . . . . . . . . . . . . .524
STORAGE ALLOCATION AND REGENERATION PROCEDURES . . .548
BLOCK . . . . . . . . . . . . . . . . . . . . . .552
GENVAR. . . . . . . . . . . . . . . . . . . . . .577
GNVARI. . . . . . . . . . . . . . . . . . . . . .631
CONVAR. . . . . . . . . . . . . . . . . . . . . .641
GNVARS. . . . . . . . . . . . . . . . . . . . . .669
GC. . . . . . . . . . . . . . . . . . . . . . . .681
GCM . . . . . . . . . . . . . . . . . . . . . . .811
SPLIT . . . . . . . . . . . . . . . . . . . . . .841
COMPILATION PROCEDURES . . . . . . . . . . . . . . .857
BINOP . . . . . . . . . . . . . . . . . . . . . .861
CMPILE. . . . . . . . . . . . . . . . . . . . . .883
ELEMNT. . . . . . . . . . . . . . . . . . . . . 1136
EXPR. . . . . . . . . . . . . . . . . . . . . . 1265
FORWRD. . . . . . . . . . . . . . . . . . . . . 1342
NEWCRD. . . . . . . . . . . . . . . . . . . . . 1369
TREPUB. . . . . . . . . . . . . . . . . . . . . 1441
UNOP. . . . . . . . . . . . . . . . . . . . . . 1481
INTERPRETER EXECUTIVE AND CONTROL PROCEDURES . . . 1495
BASE. . . . . . . . . . . . . . . . . . . . . . 1499
GOTG. . . . . . . . . . . . . . . . . . . . . . 1508
GOTL. . . . . . . . . . . . . . . . . . . . . . 1519
GOTO. . . . . . . . . . . . . . . . . . . . . . 1553
INIT. . . . . . . . . . . . . . . . . . . . . . 1562
INTERP. . . . . . . . . . . . . . . . . . . . . 1582
INVOKE. . . . . . . . . . . . . . . . . . . . . 1600
ARGUMENT EVALUATION PROCEDURES . . . . . . . . . . 1610
ARGVAL. . . . . . . . . . . . . . . . . . . . . 1614
EXPVAL. . . . . . . . . . . . . . . . . . . . . 1633
EXPEVL. . . . . . . . . . . . . . . . . . . . . 1681
EVAL. . . . . . . . . . . . . . . . . . . . . . 1685
INTVAL. . . . . . . . . . . . . . . . . . . . . 1704
PATVAL. . . . . . . . . . . . . . . . . . . . . 1728
VARVAL. . . . . . . . . . . . . . . . . . . . . 1762
XYARGS. . . . . . . . . . . . . . . . . . . . . 1784
ARITHMETIC OPERATIONS, PREDICATES AND FUNCTIONS. . 1812
ADD . . . . . . . . . . . . . . . . . . . . . . 1813
DIV . . . . . . . . . . . . . . . . . . . . . . 1817
EXP . . . . . . . . . . . . . . . . . . . . . . 1821
MPY . . . . . . . . . . . . . . . . . . . . . . 1825
SUB . . . . . . . . . . . . . . . . . . . . . . 1829
EQ. . . . . . . . . . . . . . . . . . . . . . . 1833
GE. . . . . . . . . . . . . . . . . . . . . . . 1837
GT. . . . . . . . . . . . . . . . . . . . . . . 1841
LE. . . . . . . . . . . . . . . . . . . . . . . 1845
LT. . . . . . . . . . . . . . . . . . . . . . . 1849
NE. . . . . . . . . . . . . . . . . . . . . . . 1853
REMDR . . . . . . . . . . . . . . . . . . . . . 1857
INTGER. . . . . . . . . . . . . . . . . . . . . 1966
MNS . . . . . . . . . . . . . . . . . . . . . . 1978
PLS . . . . . . . . . . . . . . . . . . . . . . 1997
PATTERN-VALUED FUNCTIONS AND OPERATIONS . . . . . 2008
ANY . . . . . . . . . . . . . . . . . . . . . . 2009
BREAK . . . . . . . . . . . . . . . . . . . . . 2013
NOTANY. . . . . . . . . . . . . . . . . . . . . 2018
SPAN. . . . . . . . . . . . . . . . . . . . . . 2022
LEN . . . . . . . . . . . . . . . . . . . . . . 2036
POS . . . . . . . . . . . . . . . . . . . . . . 2040
RPOS. . . . . . . . . . . . . . . . . . . . . . 2044
RTAB. . . . . . . . . . . . . . . . . . . . . . 2048
TAB . . . . . . . . . . . . . . . . . . . . . . 2052
ARBNO . . . . . . . . . . . . . . . . . . . . . 2070
ATOP (CURSOR POSITION). . . . . . . . . . . . . 2097
NAM (VALUE ASSIGNMENT). . . . . . . . . . . . . 2111
OR. . . . . . . . . . . . . . . . . . . . . . . 2161
PATTERN MATCHING PROCEDURES. . . . . . . . . . . . 2205
SCAN. . . . . . . . . . . . . . . . . . . . . . 2209
SJSR (SCAN AND REPLACE) . . . . . . . . . . . . 2255
SCNR (BASIC SCANNER). . . . . . . . . . . . . . 2404
ANYC. . . . . . . . . . . . . . . . . . . . . . 2509
BRKC. . . . . . . . . . . . . . . . . . . . . . 2543
NNYC. . . . . . . . . . . . . . . . . . . . . . 2557
SPNC. . . . . . . . . . . . . . . . . . . . . . 2571
LNTH. . . . . . . . . . . . . . . . . . . . . . 2598
POSI. . . . . . . . . . . . . . . . . . . . . . 2654
RPSI. . . . . . . . . . . . . . . . . . . . . . 2658
RTB . . . . . . . . . . . . . . . . . . . . . . 2662
TB. . . . . . . . . . . . . . . . . . . . . . . 2666
ARBN (ARBNO). . . . . . . . . . . . . . . . . . 2674
FARB (ARB BACKUP) . . . . . . . . . . . . . . . 2710
ATP (CURSOR POSITION) . . . . . . . . . . . . . 2733
BAL . . . . . . . . . . . . . . . . . . . . . . 2766
STAR (UNEVALUATED EXPRESSION) . . . . . . . . . 2812
FNCE. . . . . . . . . . . . . . . . . . . . . . 2883
NME (VALUE ASSIGNMENT). . . . . . . . . . . . . 2900
ENMI (IMMEDIATE VALUE ASSIGNMENT) . . . . . . . 2962
SUCE (SUCCEED). . . . . . . . . . . . . . . . . 3016
DEFINED FUNCTIONS. . . . . . . . . . . . . . . . . 3035
DEFINE. . . . . . . . . . . . . . . . . . . . . 3039
DEFFNC (INVOKE DEFINED FUNCTION). . . . . . . . 3106
EXTERNAL FUNCTIONS . . . . . . . . . . . . . . . . 3266
LOAD. . . . . . . . . . . . . . . . . . . . . . 3270
UNLOAD. . . . . . . . . . . . . . . . . . . . . 3345
LNKFNC (LINK TO EXTERNAL FUNCTION). . . . . . . 3357
ARRAYS, TABLES, AND DEFINED DATA OBJECTS . . . . . 3430
ARRAY . . . . . . . . . . . . . . . . . . . . . 3434
ASSOC (TABLE) . . . . . . . . . . . . . . . . . 3504
DATDEF (DATA) . . . . . . . . . . . . . . . . . 3534
PROTO . . . . . . . . . . . . . . . . . . . . . 3594
ITEM (ARRAY AND TABLE REFERENCES) . . . . . . . 3604
DEFDAT (CREATE DATA OBJECT) . . . . . . . . . . 3686
FIELD . . . . . . . . . . . . . . . . . . . . . 3735
INPUT AND OUTPUT . . . . . . . . . . . . . . . . . 3752
READ (INPUT). . . . . . . . . . . . . . . . . . 3756
PRINT (OUTPUT). . . . . . . . . . . . . . . . . 3789
BKSPCE. . . . . . . . . . . . . . . . . . . . . 3821
ENFILE. . . . . . . . . . . . . . . . . . . . . 3825
REWIND. . . . . . . . . . . . . . . . . . . . . 3829
DETACH. . . . . . . . . . . . . . . . . . . . . 3850
PUTIN . . . . . . . . . . . . . . . . . . . . . 3866
PUTOUT. . . . . . . . . . . . . . . . . . . . . 3890
TRACING PROCEDURES AND FUNCTIONS . . . . . . . . . 3907
TRACE . . . . . . . . . . . . . . . . . . . . . 3911
STOPTR. . . . . . . . . . . . . . . . . . . . . 3965
FENTR (CALL TRACING). . . . . . . . . . . . . . 3993
KEYTR . . . . . . . . . . . . . . . . . . . . . 4062
TRPHND (TRACE HANDLER). . . . . . . . . . . . . 4100
VALTR . . . . . . . . . . . . . . . . . . . . . 4125
OTHER OPERATIONS . . . . . . . . . . . . . . . . . 4205
ASGN (=). . . . . . . . . . . . . . . . . . . . 4209
CON (CONCATENATION) . . . . . . . . . . . . . . 4254
IND (INDIRECT REFERENCE). . . . . . . . . . . . 4346
KEYWRD. . . . . . . . . . . . . . . . . . . . . 4360
LIT . . . . . . . . . . . . . . . . . . . . . . 4385
NAME. . . . . . . . . . . . . . . . . . . . . . 4394
NMD (VALUE ASSIGNMENT). . . . . . . . . . . . . 4406
STR (UNEVALUATED EXPRESSION). . . . . . . . . . 4446
OTHER PREDICATES . . . . . . . . . . . . . . . . . 4453
DIFFER. . . . . . . . . . . . . . . . . . . . . 4457
IDENT . . . . . . . . . . . . . . . . . . . . . 4466
LGT . . . . . . . . . . . . . . . . . . . . . . 4475
NEG (&) . . . . . . . . . . . . . . . . . . . . 4491
QUES (?). . . . . . . . . . . . . . . . . . . . 4502
OTHER PRIMITIVE FUNCTIONS. . . . . . . . . . . . . 4507
APPLY . . . . . . . . . . . . . . . . . . . . . 4511
ARG . . . . . . . . . . . . . . . . . . . . . . 4530
LOCAL . . . . . . . . . . . . . . . . . . . . . 4539
FIELDS. . . . . . . . . . . . . . . . . . . . . 4544
CLEAR . . . . . . . . . . . . . . . . . . . . . 4581
COLLECT . . . . . . . . . . . . . . . . . . . . 4597
COPY. . . . . . . . . . . . . . . . . . . . . . 4607
CONVERT . . . . . . . . . . . . . . . . . . . . 4626
DATE. . . . . . . . . . . . . . . . . . . . . . 4795
DATATYPE. . . . . . . . . . . . . . . . . . . . 4804
DUMP. . . . . . . . . . . . . . . . . . . . . . 4820
DUPL. . . . . . . . . . . . . . . . . . . . . . 4885
OPSYN . . . . . . . . . . . . . . . . . . . . . 4907
REPLACE . . . . . . . . . . . . . . . . . . . . 4977
SIZE. . . . . . . . . . . . . . . . . . . . . . 5002
TIME. . . . . . . . . . . . . . . . . . . . . . 5013
TRIM. . . . . . . . . . . . . . . . . . . . . . 5024
COMMON CODE. . . . . . . . . . . . . . . . . . . . 5031
TERMINATION. . . . . . . . . . . . . . . . . . . . 5071
END . . . . . . . . . . . . . . . . . . . . . . 5072
FTLEND. . . . . . . . . . . . . . . . . . . . . 5078
SYSCUT. . . . . . . . . . . . . . . . . . . . . 5134
ERROR HANDLING . . . . . . . . . . . . . . . . . . 5139
DATA . . . . . . . . . . . . . . . . . . . . . . . 5258
PAIR LISTS. . . . . . . . . . . . . . . . . . . 5259
DATA TYPE PAIRS . . . . . . . . . . . . . . . . 5381
SWITCHES. . . . . . . . . . . . . . . . . . . . 5410
CONSTANTS . . . . . . . . . . . . . . . . . . . 5423
POINTERS TO PATTERNS. . . . . . . . . . . . . . 5454
FUNCTION DESCRIPTORS. . . . . . . . . . . . . . 5461
MISCELLANEOUS DATA. . . . . . . . . . . . . . . 5502
PROGRAM POINTERS. . . . . . . . . . . . . . . . 5543
POINTERS TO SPECIFIERS. . . . . . . . . . . . . 5552
PERMANENT PAIR LIST POINTERS. . . . . . . . . . 5560
SPECIFIERS FOR COMPILATION. . . . . . . . . . . 5566
STRINGS AND SPECIFIERS. . . . . . . . . . . . . 5576
CHARACTER BUFFERS . . . . . . . . . . . . . . . 5611
POINTERS TO PAIR LISTS. . . . . . . . . . . . . 5620
SCRATCH DESCRIPTORS . . . . . . . . . . . . . . 5635
SYSTEM DESCRIPTORS. . . . . . . . . . . . . . . 5670
COMPILER DESCRIPTORS. . . . . . . . . . . . . . 5683
DATA POINTERS . . . . . . . . . . . . . . . . . 5701
SPECIFIERS. . . . . . . . . . . . . . . . . . . 5711
ALLOCATOR DATA. . . . . . . . . . . . . . . . . 5725
MACHINE DEPENDENT DATA. . . . . . . . . . . . . 5773
FUNCTION TABLE. . . . . . . . . . . . . . . . . 5779
FUNCTION PAIR LIST. . . . . . . . . . . . . . . 5911
FUNCTION INITIALIZATION DATA. . . . . . . . . . 6161
POINTERS TO INITIALIZATION DATA . . . . . . . . 6258
SYSTEM ARRAYS . . . . . . . . . . . . . . . . . 6280
STRING STORAGE BIN LIST . . . . . . . . . . . . 6304
PATTERN-MATCHING HISTORY LIST . . . . . . . . . 6311
SYSTEM STACK. . . . . . . . . . . . . . . . . . 6316
PRIMITIVE PATTERNS. . . . . . . . . . . . . . . 6321
CODE SKELETON FOR TRACE . . . . . . . . . . . . 6414
FATAL ERROR MESSAGE POINTERS. . . . . . . . . . 6448
FATAL ERROR MESSAGES. . . . . . . . . . . . . . 6480
COMPILER ERROR MESSAGES . . . . . . . . . . . . 6511
FORMATS . . . . . . . . . . . . . . . . . . . . 6524
TITLE 'LINKAGE AND EQUIVALENCES'
COPY MLINK ;LINKAGE SEGMENT
COPY PARMS ;MACHINE-DEPENDENT PARAMETERS
ATTRIB=2*DESCR
;OFFSET OF LABEL IN STRING STRUCTURE
LNKFLD=3*DESCR
;OFFSET OF LINK IN STRING STRUCTURE
BCDFLD=4*DESCR
;OFFSET OF STRING IN STRING STRUCTURE
FATHER=DESCR
;OFFSET OF FATHER IN CODE NODE
LSON=2*DESCR
;OFFSET OF LEFT SON IN CODE NODE
RSIB=3*DESCR
;OFFSET OF RIGHT SIBLING IN CODE NODE
CODE=4*DESCR
;OFFSET OF CODE IN CODE NODE
;LIMIT ON NUMBER OF SYNTACTIC ERRORS
FBLKSZ=10*DESCR
;SIZE OF FUNCTION DESCRIPTOR BLOCK
;LIMIT ON LENGTH OF ARRAY PRINT IMAGE
;WIDTH OF COMPILER INPUT
;WIDTH OF SEQUENCE FIELD
;LENGTH OF STATEMENT NUMBER FIELD
DSTSZ=2*STNOSZ
;SPACE FOR LEFT AND RIGHT NUMBERING
CNODSZ=4*DESCR
;SIZE OF CODE NODE
DATSIZ=1000
;LIMIT ON NUMBER OF DEFINED DATA TYPE
;DEFAULT ALLOCATION FOR TABLES
;GROWTH QUANTUM FOR NAME LIST
NODESZ=3*DESCR
;SIZE OF PATTERN NODE
;NUMBER OF BIN HEADERS
OBARY=OBSIZ+3
;TOTAL NUMBER FOR BINS
OCASIZ=1500
;DESCRIPTORS OF INITIAL OBJECT CODE
SPDLSZ=1000
;DESCRIPTORS OF PATTERN STACK
STSIZE=1000
;DESCRIPTORS OF INTERPRETER STACK
SPDR=SPEC+DESCR
;DESCRIPTOR PLUS SPECIFIER
OBOFF=OBSIZ-2
;OFFSET LENGTH IN BINS
SPDLDR=SPDLSZ*DESCR
;SIZE OF PATTERN STACK
MAXFRE=^D15000 ;15K MAX PRE EXPANSION
EQUIVALENCES
;ARRAY REFERENCE
;GOTO FIELD
;COMMENT CARD
;CONTINUE CARD
;CONTROL CARD
;DIMENSION SEPARATOR
;END OF STATEMENT
;EQUAL SIGN
;FAILURE GOTO
;FAILURE DIRECT GOTO
;LITERAL REAL
;FUNCTION CALL
;LITERAL INTEGER
;LEFT PARENTHESIS
;NONBREAK CHARACTER
;NEW STATEMENT
;PARENTHESIZED EXPRESSION
;QUOTED LITERAL
;RIGHT BRACKET
;RIGHT PARENTHESIS
;SUCCESS GOTO
;SUCCESS DIRECT GOTO
;UNCONDITIONAL GOTO
;UNCONDITIONAL DIRECT GOTO
DATA TYPE CODES
;BLOCK (INTERNAL)
;EXPRESSION
;KEYWORD (NAME)
;LINKED STRING (INTERNAL)
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
TITLE 'PROGRAM INITIALIZATION'
BEGIN: INIT , ;INITIALIZE SYSTEM
ISTACK , ;INITIALIZE STACK
;""""""""""""""""""""""""""""""""""""""""""""""""""""""2
SKIPE UNFLAG
JRST BEGIN1 ;SKIP TITLEF IF /U
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
OUTPUX OUTPUT,TITLEF ;TITLE LISTING
OUTPUX OUTPUT,SOURCF ;PRINT ATTRIBUTION
MSTIME TIMECL ;TIME IN COMPILER
RCALL SCBSCL,BLOCK,OCALIM ;ALLOCATE BLOCK FOR OBJECT CODE
MOVD OCSVCL,SCBSCL ;SAVE OBJECT CODE POINTER
RESETF SCBSCL,PTR ;CLEAR POINTER FLAG
GETSIZ YCL,INITLS ;GET SIZE OF INITIALIZATION LIST
SPCNVT: GETD XPTR,INITLS,YCL ;GET POINTER TO LIST
GETSIZ XCL,XPTR ;GET SIZE OF LIST
SPCNV1: GETD ZPTR,XPTR,XCL ;GET POINTER TO SPECIFIER
AEQLC ZPTR,0,,SPCNV2 ;SKIP DUMMY ZERO ENTRIES
RCALL ZPTR,GENVAR,ZPTR ;CONVERT SPECIFIER TO STRUCTURE
PUTD XPTR,XCL,ZPTR ;REPLACE POINTER TO SPECIFIER
SPCNV2: DECRA XCL,2*DESCR ;DECREMENT TO NEXT PAIR
ACOMPC XCL,0,SPCNV1 ;CONTINUE IF ONE REMAINS
DECRA YCL,DESCR ;DECREMENT TO NEXT LIST
ACOMPC YCL,0,SPCNVT ;CONTINUE IF ONE REMAINS
INITD1: GETDC XPTR,INITB,0 ;GET SPECIFIER TO CONVERT
RCALL YPTR,GENVAR,&XPTR& ;CONVERT IT TO STRING STRUCTURE
GETDC ZPTR,INITB,DESCR ;GET LOCATION TO PUT IT
PUTDC ZPTR,0,YPTR ;PLACE POINTER TO STRING STRUCTURE
INCRA INITB,2*DESCR ;DECREMENT TO NEXT PAIR
ACOMP INITB,INITE,,,INITD1
COMPARE WITH END
PUTDC ABRTKY,DESCR,ABOPAT ;INITIAL VALUE OF ABORT
PUTDC ARBKY,DESCR,ARBPAT ;INITIAL VALUE OF ARB
PUTDC BALKY,DESCR,BALPAT ;INITIAL VALUE OF BAL
PUTDC FAILKY,DESCR,FALPAT ;INITIAL VALUE OF FAIL
PUTDC FNCEKY,DESCR,FNCPAT ;INITIAL VALUE OF FENCE
PUTDC REMKY,DESCR,REMPAT ;INITIAL VALUE OF REM
PUTDC SUCCKY,DESCR,SUCPAT ;INITIAL VALUE OF SUCCEED
SETAC VARSYM,0 ;SET COUNT OF VARIABLES TO ZERO
RCALL NBSPTR,BLOCK,NMOVER ;ALLOCATE BLOCK FOR VALUE ASSIGNMENT
MOVD CMBSCL,SCBSCL ;SET UP POINTER FOR COMPILER
MOVD UNIT,INPUT ;SET UP INPUT UNIT
MOVD OCBSCL,CMBSCL ;PROJECT BASE FOR INTERPRETER
SUM OCLIM,CMBSCL,OCALIM ;COMPUTE END OF CODE BLOCK
DECRA OCLIM,5*DESCR ;LEAVE ROOM FOR OVERFLOW
BRANCH XLATRN
;""""""""""""""""""""""""""""""""""""""""""""""""""""""
XWADE1: PUSHJ PDP,EOF ;SPECIAL EOF HANDLING ON SOURCE INPUT
JRST XLATRN
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
TITLE 'COMPILATION AND INTERPRETER INVOCATION'
XLATRD: AEQLC LISTCL,0,,XLATRN ;SKIP PRINT IF LIST IS OFF
STPRNT IOKEY,OUTBLK,LNBFSP ;PRINT LINE IMAGE
XLATRN: STREAD INBFSP,UNIT,XWADE1,COMP5
SETSP TEXTSP,NEXTSP ;READ CARD AND SET UP LINE
STREAM XSP,TEXTSP,CARDTB,COMP3,COMP3
DETERMINE TYPE OF CARD
RCALL ,NEWCRD,,&XLATRD,XCROCK,XCROCK& ;PROCESS CARD TYPE
; XCROCK LABELS WERE ADDED IN THE ABOVE CALL BECAUSE
; MACRO.41 GENERATED A JRST 0 FOR THE LAST NULL ARGUMENT
; INSTEAD OF AN EFFECTIVE JRST .+1
XLATNX: RCALL ,CMPILE,,&COMP3,,XLATNX&
COMPILE STATEMENT
INCRA CMOFCL,DESCR ;INCREMENT OFFSET
PUTD CMBSCL,CMOFCL,ENDCL ;INSERT END FUNCTION
AEQLC LISTCL,0,,XLATP ;SKIP PRINT IF LIST IS OFF
STPRNT IOKEY,OUTBLK,LNBFSP ;PRINT LAST LINE IMAGE
XLATP: AEQLC STYPE,EOSTYP,,XLAEND
FINISH ON END OF STATEMENT
STREAM XSP,TEXTSP,IBLKTB,COMP3,XLAEND
ANALYZE END CARD
AEQLC STYPE,EOSTYP,,XLAEND
FINISH ON END OF STATEMENT
AEQLC STYPE,NBTYP,COMP7 ;ERROR IF BREAK CHARACTER
STREAM XSP,TEXTSP,LBLTB,COMP7,COMP7
ANALYZE END LABEL
RCALL XPTR,GENVAR,&XSPPTR&
GENERATE VARIABLE FOR LABEL
GETDC OCBSCL,XPTR,ATTRIB ;GET START FOR INTERPRETER
AEQLC OCBSCL,0,,COMP7 ;ERROR IF NOT ATTRIBUTE
AEQLC STYPE,EOSTYP,,XLAEND
FINISH ON END OF STATEMENT
STREAM XSP,TEXTSP,IBLKTB,COMP7,,COMP7
ANALYZE REMAINDER OF CARD
XLAEND: AEQLC ESAICL,0,,XLATSC ;WERE THERE ANY COMPILATION ERRORS?
OUTPUX OUTPUT,ERRCF ;PRINT MESSAGE OF ERRORS
BRANCH XLATND
XLATSC: OUTPUX OUTPUT,SUCCF ;PRINT MESSAGE OF NO ERRORS
XLATND: SETAC UNIT,0 ;RESET INPUT UNIT
SETAC LPTR,0 ;RESET LAST LABEL POINTER
SETAC OCLIM,0 ;RESET LIMIT ON OBJECT CODE
ZERBLK COMREG,COMDCT ;CLEAR COMPILER DESCRIPTORS
SUM XCL,CMBSCL,CMOFCL ;COMPUTE END OF OBJECT CODE
RCALL ,SPLIT,&XCL& ;SPLIT OF UNUSED PART OF BLOCK
SETAC LISTCL,0 ;TURN OFF LISTING SWITCH
MSTIME ETMCL ;TIME OUT COMPILER
SUBTRT TIMECL,ETMCL,TIMECL ;COMPUTE ELAPSED TIME
SETAC CNSLCL,1 ;PERMIT LABEL REDEFINITION
RCALL ,INTERP,,&MAIN1,MAIN1,MAIN1&
CALL INTERPRETER
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
TITLE 'SUPPORT PROCEDURES'
AUGMENTATION OF PAIR LISTS
AUGATL: PROC , ;PROCEDURE TO AUGMENT PAIR LISTS
POP &A1PTR,A2PTR,A3PTR& ;LIST, TYPE AND VALUE
LOCAPT A4PTR,A1PTR,ZEROCL,AUG1
LOOK FOR HOLE IN LIST
PUTDC A4PTR,DESCR,A2PTR ;INSERT TYPE DESCRIPTOR
PUTDC A4PTR,2*DESCR,A3PTR ;INSERT VALUE DESCRIPTOR
MOVD A5PTR,A1PTR ;SET UP RETURN POINTER
BRANCH A5RTN ;RETURN PAIR LIST
AUG1: GETSIZ A4PTR,A1PTR ;GET SIZE OF PRESENT LIST
INCRA A4PTR,2*DESCR ;ADD TWO MORE DESCRIPTORS
SETVC A4PTR,B ;INSERT BLOCK DATA TYPE
RCALL A5PTR,BLOCK,A4PTR ;ALLOCATE NEW BLOCK
PUTD A5PTR,A4PTR,A3PTR ;INSERT VALUE DESCRIPTOR AT END
DECRA A4PTR,DESCR ;DECREMENT
PUTD A5PTR,A4PTR,A2PTR ;INSERT TYPE DESCRIPTOR ABOVE
AUGMOV: DECRA A4PTR,DESCR ;ADJUST SIZE
MOVBLK A5PTR,A1PTR,A4PTR ;COPY OLD LIST AT TOP
BRANCH A5RTN ;RETURN NEW LIST
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
CODE SKIPPING PROCEDURE
CODSKP: PROC , ;PROCEDURE TO SKIP OBJECT CODE
POP YCL ;RESTORE NUMBER OF ITEMS TO SKIP
CODCNT: INCRA OCICL,DESCR ;INCREMENT OFFSET
GETD XCL,OCBSCL,OCICL ;GET OBJECT CODE DESCRIPTOR
TESTF XCL,FNC,,CODFNC ;CHECK FOR FUNCTION
CODECR: DECRA YCL,1 ;COUNT DOWN
ACOMPC YCL,0,CODCNT,RTN1,INTR10
CHECK FOR END
CODFNC: PUSH YCL ;SAVE NUMBER TO SKIP
SETAV YCL,XCL ;GET ARGUMENTS TO SKIP
RCALL ,CODSKP,&YCL& ;CALL SELF RECURSIVELY
POP YCL ;RESTORE NUMBER TO SKIP
BRANCH CODECR ;GO AROUND AGAIN
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
DATA TYPE REPRESENTATION
DTREP: PROC , ;PROCEDURE TO REPRESENT DATA TYPE
POP A2PTR ;RESTORE OBJECT
VEQLC A2PTR,A,,DTARRY ;IS IS ARRAY?
VEQLC A2PTR,T,,DTABLE ;IS IT TABLE?
VEQLC A2PTR,R,DTREP1 ;IS IT REAL?
REALST DPSP,A2PTR ;CONVERT REAL TO STRING
BRANCH DTREPR ;JOIN END PROCESSING
DTARRY: GETDC A3PTR,A2PTR,DESCR ;GET PROTOTYPE
LOCSPX ZSP,A3PTR ;GET SPECIFIER
GETLG A3PTR,ZSP ;GET LENGTH
ACOMPC A3PTR,ARRLEN,DTREP1 ;CHECK FOR EXCESSIVE LENGTH
SETLC DTARSP,0 ;CLEAR SPECIFIER
APDSP DTARSP,ARRSP ;APPEND ARRAY
APDSP DTARSP,LPRNSP ;APPEND '('
APDSP DTARSP,QTSP ;APPEND QUOTE
APDSP DTARSP,ZSP ;APPEND PROTOTYPE
APDSP DTARSP,QTSP ;APPEND QUOTE
DTARTB: APDSP DTARSP,RPRNSP ;APPEND ')'
SETSP DPSP,DTARSP ;MOVE SPECIFIER
BRANCH DTREPR ;RETURN
;VERSION 3.3 CHANGE
DTABLE: GETSIZ A3PTR,A2PTR
GETD A1PTR,A2PTR,A3PTR
DECRA A3PTR,DESCR
GETD A2PTR,A2PTR,A3PTR
DTABL1: AEQLC A1PTR,1,,DTABL2
SUM A3PTR,A3PTR,A2PTR
DECRA A3PTR,2*DESCR
GETD A1PTR,A1PTR,A2PTR
BRANCH DTABL1
DTABL2: DECRA A3PTR,DESCR
DECRA A2PTR,2*DESCR
;VERSION 3.3 CHANGE END
DIVIDE A3PTR,A3PTR,DSCRTW ;DIVIDE TO GET ITEM COUNT
INTSPC ZSP,A3PTR ;CONVERT TO STRING
SETLC DTARSP,0 ;CLEAR SPECIFIER
APDSP DTARSP,ASSCSP ;APPEND TABLE
APDSP DTARSP,LPRNSP ;APPEND '('
APDSP DTARSP,ZSP ;APPEND SIZE
APDSP DTARSP,CMASP ;APPEND COMMA
;VERSION 3.3 CHANGE
DIVIDE A2PTR,A2PTR,DSCRTW
INTSPC ZSP,A2PTR
;VERSION 3.3 CHANGE END
APDSP DTARSP,ZSP ;APPEND EXTENT
BRANCH DTARTB ;JOIN COMMON PROCESSING
DTREP1: MOVV DT1CL,A2PTR ;INSERT DATA TYPE
LOCAPT A3PTR,DTATL,DT1CL,DTREPE
LOOK FOR DATA TYPE NAME
GETDC A3PTR,A3PTR,2*DESCR ;GET DATA TYPE NAME
LOCSPX DPSP,A3PTR ;GET SPECIFIER
DTREPR: RRTURN DPSPTR,1 ;RETURN POINTER TO SPECIFIER
DTREPE: SETSP DPSP,EXDTSP ;SET UP EXTERNAL SPECIFIER
BRANCH DTREPR ;RETURN
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
LOCATION OF FUNCTION DESCRIPTOR
FINDEX: PROC , ;PROCEDURE TO GET FUNCTION DESCRIPTOR
POP F1PTR ;RESTORE NAME
LOCAPV F2PTR,FNCPL,F1PTR,FATNF
LOOK FOR FUNCTION PAIR
GETDC F2PTR,F2PTR,DESCR ;GET FUNCTION DESCRIPTOR
FATBAK: RRTURN F2PTR,1 ;RETURN
FATNF: INCRA NEXFCL,2*DESCR ;INCREMENT FUNCTION BLOCK OFFSET
ACOMPC NEXFCL,FBLKSZ,FATBLK
CHECK FOR END
FATNXT: SUM F2PTR,FBLOCK,NEXFCL ;COMPUTE POSITION
RCALL FNCPL,AUGATL,&FNCPL,F2PTR,F1PTR&
AUGMENT FUNCTION PAIR LIST
PUTDC F2PTR,0,UNDFCL ;INSERT UNDEFINED FUNCTION
PUTDC F2PTR,DESCR,F1PTR ;INSERT NAME
BRANCH FATBAK ;JOIN RETURN
FATBLK: RCALL FBLOCK,BLOCK,FBLKRQ ;ALLOCATE NEW FUNCTION BLOCK
SETF FBLOCK,FNC ;INSERT FUNCTION FLAG
SETVC FBLOCK,0 ;CLEAR DATA TYPE
SETAC NEXFCL,DESCR ;INITIALIZE OFFSET
BRANCH FATNXT ;JOIN PROCESSING
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
TITLE 'STORAGE ALLOCATION AND REFENERATION PROCEDURES'
ALLOCATION OF BLOCK
BLOCK: PROC , ;PROCEDURE TO ALLOCATE BLOCKS
POP ARG1CL ;RESTORE SIZE TO ALLOCATE
ACOMP ARG1CL,SIZLMT,SIZERR,SIZERR
CHECK AGAINST SIZE LIMIT
BLOCK1: MOVD BLOCL,FRSGPT ;POSITION POINTER TO TITLE
MOVV BLOCL,ARG1CL ;MOVE DATA TYPE
INCRA FRSGPT,DESCR ;LEAVE ROOM FOR TITLE
SUM FRSGPT,FRSGPT,ARG1CL
MOVE POSITION POINTER PAST END
ACOMP TLSGP1,FRSGPT,,,BLOGC
CHECK FOR END OF REGION
ZERBLK BLOCL,ARG1CL ;CLEAR BLOCK
PUTAC BLOCL,0,BLOCL ;SET UP SELF-POINTER IN TITLE
SETFI BLOCL,TTL ;INSERT TITLE FLAG
SETSIZ BLOCL,ARG1CL ;INSERT BLOCK SIZE
RRTURN BLOCL,1 ;RETURN POINTER TO BLOCK
BLOGC: MOVA FRSGPT,BLOCL ;RESTORE POSITION POINTER
RCALL ,GC,&ARG1CL&,&ALOC2,BLOCK1&
REGENERATE STORAGE
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
GENERATION OF NATURAL VARIABLES
GENVAR: PROC , ;PROCEDURE TO GENERATE VARIABLE
SETAC CONVSW,0 ;NOTE GENVAR ENTRY
POP AXPTR ;RESOTRE POINTER TO SPECIFIER
GETSPC SPECR1,AXPTR,0 ;GET SPECIFIER
LEQLC SPECR1,0,,RT1NUL ;AVOID NULL STRING
LOCA1: VARID EQUVCL,SPECR1 ;COMPUTE BIN AND ASCENSION NUMBERS
SUM BUKPTR,OBPTR,EQUVCL ;FIND BIN
LOCA2: MOVD LSTPTR,BUKPTR ;SAVE WORKING COPY
GETAC BUKPTR,BUKPTR,LNKFLD
GET LINK DESCRIPTOR
AEQLC BUKPTR,0,,LOCA5 ;CHECK FOR END OF CHAIN
VCMPIC BUKPTR,LNKFLD,EQUVCL,LOCA5,,LOCA2
COMPARE ASCENSION NUMBERS
LOCSPX SPECR2,BUKPTR ;GET SPECIFIER TO STRING IN STORAGE
LEXCMP SPECR1,SPECR2,LOCA2,,LOCA2
COMPARE STRINGS
MOVD LCPTR,BUKPTR ;RETURN STRING IN STORAGE
BRANCH LOCRET
LOCA5: GETLG AXPTR,SPECR1 ;GET LENGTH OF STRING
GETLTH BKLTCL,AXPTR ;COMPUTE SPACE REQUIRED
ACOMP BKLTCL,SIZLMT,SIZERR
CHECK AGAINST SIZE LIMIT
LOCA7: MOVD LCPTR,FRSGPT ;POINT TO POSITION IN STORAGE
SETVC LCPTR,S ;SET DATA TYPE TO STRING
INCRA FRSGPT,DESCR ;LEAVE SPACE FOR TITLE
SUM FRSGPT,FRSGPT,BKLTCL
SKIP REQUIRED SPACE
ACOMP TLSGP1,FRSGPT,,,LOCA4
CHECK FOR END OF REGION
PUTDC LCPTR,0,ZEROCL ;CLEAR TITLE
PUTAC LCPTR,0,LCPTR ;POINT TITLE TO SELF
SETFI LCPTR,TTL+STTL ;SET STRING AND TITLE FLAGS
SETSIZ LCPTR,AXPTR ;INSERT SIZE OF STRING
AEQLC CONVSW,0,LOCA6 ;CHECK FOR GENVAR ENTRY
PUTDC LCPTR,DESCR,NULVCL ;SET VALUE TO NULL STRING
PUTDC LCPTR,ATTRIB,ZEROCL ;SET LABEL ATTRIBUTE TO ZERO
LOCSPX SPECR2,LCPTR ;GET SPECIFIER TO STRING STRUCTURE
SETLC SPECR2,0 ;CLEAR LENGTH
APDSP SPECR2,SPECR1 ;MOVE NEW STRING IN
LOCA6: PUTVC LCPTR,LNKFLD,EQUVCL ;INSERT ASCENSION NUMBER
PUTAC LCPTR,LNKFLD,BUKPTR ;INSERT LINK POINTER
PUTAC LSTPTR,LNKFLD,LCPTR ;LINK TO LAST STRUCTURE
INCRA VARSYM,1 ;INCREMENT COUNT OF NEW VARIABLES
LOCRET: RRTURN LCPTR,1 ;RETURN POINTER TO STRUCTURE
LOCA4: MOVA FRSGPT,LCPTR ;RESTORE POSITION POINTER
RCALL ,GC,&BKLTCL&,&ALOC2,LOCA7&
REGENERATE STORAGE
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
GENERATION OF VARIABLE FROM INTEGER
GNVARI: PROC GENVAR ;PROCEDURE TO GENERATE STRING
SETAC CONVSW,0 ;NOTE GENVAR ENTRY
POP AXPTR ;RESTORE INTEGER
INTSPC SPECR1,AXPTR ;CONVERT TO STRING
BRANCH LOCA1 ;JOIN PROCESSING
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
ALLOCATION OF SPACE FOR VARIABLE
CONVAR: PROC GENVAR ;PROCEDURE TO GET SPACE FOR VARIABLE
POP AXPTR ;RESTORE LENGTH
AEQLC AXPTR,0,,RT1NUL ;AVOID NULL STRING
SETAC CONVSW,1 ;NOTE CONVAR ENTRY
GETLTH BKLTCL,AXPTR ;GET SPACE REQUIRED
ACOMP BKLTCL,SIZLMT,SIZERR
CHECK AGAINST SIZE LIMIT
SUM TEMPCL,FRSGPT,BKLTCL
SKIP REQUIRED SPACE
INCRA TEMPCL,DESCR ;SAVE SPACE FOR TITLE
ACOMP TLSGP1,TEMPCL,,,CONVR4
CHECK FOR END OF REGION
CONVR5: PUTDC FRSGPT,0,ZEROCL ;CLEAR TITLE
PUTAC FRSGPT,0,FRSGPT ;SET UP SELF POINTER
SETFI FRSGPT,TTL+STTL ;SET STRING AND TITLE FLAGS
SETSIZ FRSGPT,AXPTR ;INSERT TENTATIVE SIZE OF STRING
PUTDC FRSGPT,DESCR,NULVCL ;INSERT NULL STRING AS VALUE
PUTDC FRSGPT,ATTRIB,ZEROCL
SET LABEL TO ZERO
;VERSION 3.4 CHANGE
MOVA BKLTCL,FRSGPT
RRTURN BKLTCL,1
;VERSION 3.4 CHANGE END
CONVR4: RCALL ,GC,BKLTCL,&ALOC2,CONVR5&
REGENERATE STORAGE
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
GENERATION OF VARIABLE IN PLACE
GNVARS: PROC GENVAR ;PROCEDURE TO ENTRY STRING
POP AXPTR ;RESTORE LENGTH
AEQLC AXPTR,0,,RT1NUL ;AVOID NULL STRING
LOCSPX SPECR1,FRSGPT ;GET SPECIFIER TO POSITION
PUTLG SPECR1,AXPTR ;INSERT FINAL LENGTH
SETSIZ FRSGPT,AXPTR ;INSERT SIZE IN TITLE
BRANCH LOCA1 ;JOIN PROCESSING
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
STORAGE REGENERATION
GC: PROC , ;STORAGE REGENERATION PROCEDURE
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
; CORE EXPANSION WILL TAKE PLACE IF THE GARBAGE COLLECTION
; DOES NOT RESTORE ENOUGH FREE CORE. IF THIS WERE THE ONLY
; CHANGE MADE, A POINT WOULD EVENTUALLY BE REACHED WHERE
; JUST ENOUGH CORE WAS MADE AVAILABLE SO THE PROGRAM WOULD
; RUN, BUT IT WOULD BE DOING A GREAT NUMBER OF REGENERATIONS
; WHICH IT WOULD REALLY NOT HAVE TO DO.
; THIS CODING MAKES AN ATTEMPT TO MONITOR THE NUMBER OF
; REGENERATIONS DONE THUS FAR AND DOES A PREEXPANSION
; BEFORE DOING THE COLLECTION IN ORDER TO REDUCE THE
; CHANCES OF IT BEING CALLED AGAIN.
; IT DOES A PREEXPANSION EVERY FIFTH TIME, IF
; 1. IT HAS NOT ALREADY REACHED A LIMIT OF MAXFRE
; 2. AND IT EXPANDS IN 2K CHUNKS
EXTERN JOBREL,MSWIT
GCWAD1: MOVE A1,GCNO ;GET NUMBER OF COLLECTIONS SO FAR
IDIVI A1,5 ;LOOK ONLY EVERY FIFTH TIME
JRST WADE2
MOVE A0,TLSGP1 ;GET TAIL POINTER TO FREE STORAGE
SUB A0,HDSGPT ;HEADER POINTER
EXPMAX: CAIL A0,MAXFRE
JRST WADE2 ;YES, SO NO MORE PREEXPANSIONS
MOVE A0,JOBREL
ADDI A0,2*^O1777 ;ASK FOR 2K MORE
GCWAD6: CALLI A0,^O11 ;CORE UUO
;IGNORE ERROR RETURN AT THIS POINT
MOVE A0,JOBREL
SUBI A0,2*DESCR ;SAFTEY PRECAUTION
MOVEM A0,TLSGP1
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
POP GCREQ ;RESTORE SPACE REQUIRED
PSTACK BLOCL ;POST STACK POSITION
SUBTRT BLOCL,BLOCL,STKPTR ;COMPUTE STACK LENGTH USED
SETSIZ STKPTR,BLOCL ;SET STACK SIZE
MOVD BKDXU,PRMDX ;NUMBER OF RESIDENT BLOCKS
GCT: GETD GCMPTR,PRMPTR,BKDXU ;GET NEXT RESIDENT BLOCK
AEQLC GCMPTR,0,,GCTDWN ;SKIP NONPOINTERS
RCALL ,GCM,&GCMPTR& ;SCAN RESIDENT BLOCK
GCTDWN: DECRA BKDXU,DESCR ;DECREMENT BLOCK COUNT
AEQLC BKDXU,0,GCT ;TEST FOR END OF LOOP
SETAC BKPTR,OBLIST-DESCR ;SET UP POINTER TO BINS
GCBA1: ACOMP BKPTR,OBEND,GCLAD ;CHECK FOR END OF BINS
INCRA BKPTR,DESCR ;INCREMENT BIN POINTER
MOVD ST1PTR,BKPTR ;GET WORKING COPY
GCBA2: GETAC ST1PTR,ST1PTR,LNKFLD
GET LINK POINTER
AEQLC ST1PTR,0,,GCBA1 ;TEST FOR END OF CHAIN
TESTFI ST1PTR,MARK,,GCBA2 ;TEST FOR MARKED STRUCTURE
GETDC ST2PTR,ST1PTR,DESCR ;GET VALUE DESCRIPTOR
DEQL ST2PTR,NULVCL,GCBA4 ;MARK IF NONNULL
AEQLIC ST1PTR,ATTRIB,0,,GCBA2
TEST ATTRIBUTE ALSO
GCBA4: PUTDC GCBLK,DESCR,ST1PTR ;SET UP PSEUDOBLOCK
RCALL ,GCM,&GCBLK&,GCBA2 ;MARK STRING STRUCTURE
GCLAD: MOVD CPYCL,HDSGPT ;INITIALIZE TARGET POINTER
MOVD TTLCL,HDSGPT ;INITIALIZE BLOCK POINTER
GCLAD0: BKSIZE BKDX,TTLCL ;GET SIZE OF BLOCK
TESTFI TTLCL,MARK,GCLAD7 ;IS THE BLOCK MARKED?
SUM CPYCL,CPYCL,BKDX ;IS BLOCK MARKED?
SUM TTLCL,TTLCL,BKDX ;UPDATE BLOCK POINTER
AEQL TTLCL,FRSGPT,GCLAD0,GCBB1
CHECK FOR END OF REGION
GCLAD7: MOVD MVSGPT,TTLCL ;UPDATE COMPRESSION BARRIER
GCLAD4: SUM TTLCL,TTLCL,BKDX ;UPDATE BLOCK POINTER
AEQL TTLCL,FRSGPT,,GCBB1 ;CHECK FOR END OF REGION
BKSIZE BKDX,TTLCL ;GET SIZE OF BLOCK
TESTFI TTLCL,MARK,GCLAD4 ;IS BLOCK MARKED?
PUTAC TTLCL,0,CPYCL ;POINT TITLE TO TARGET
SUM CPYCL,CPYCL,BKDX ;UPDATE TARGET POINTER
BRANCH GCLAD4 ;CONTINUE
GCBB1: SETAC BKPTR,OBLIST-DESCR ;SET UP POINTER TO BINS
SETAC NODPCL,1 ;NO DUMP WHILE REORGANIZING
GCBB2: ACOMP BKPTR,OBEND,GCLAP ;CHECK FOR END OF BINS
INCRA BKPTR,DESCR ;INCREMENT BIN POINTER
MOVD ST1PTR,BKPTR ;GET WORK COPY
GCBB3: MOVD ST2PTR,ST1PTR ;SAVE POINTER TO BE LINKED
GCBB4: GETAC ST1PTR,ST1PTR,LNKFLD
GET LINK POINTER
AEQLC ST1PTR,0,,GCBB5 ;CHECK FOR END OF CHAIN
TESTFI ST1PTR,MARK,GCBB4 ;IS STRING MARKED?
GETAC BLOCL,ST1PTR,0 ;GET TARGET ADDRESS
PUTAC ST2PTR,LNKFLD,BLOCL ;SET LINK TO TARGET
BRANCH GCBB3 ;CONTINUE
GCBB5: PUTAC ST2PTR,LNKFLD,ZEROCL
SET LAST LINK TO ZERO
BRANCH GCBB2 ;CONTINUE
GCLAP: MOVD TTLCL,HDSGPT ;INITIALIZE TARGET POINTER
GCLAP0: BKSIZE BKDXU,TTLCL ;GET SIZE OF BLOCK
TESTFI TTLCL,STTL,,GCLAP1 ;CHECK FOR STRING
MOVD BKDX,BKDXU ;WORKING COPY OF BLOCK SIZE
BRANCH GCLAP2
GCLAP1: SETAC BKDX,3*DESCR ;THREE DESCRIPTORS FOR STRING
GCLAP2: TESTFI TTLCL,MARK,GCLAP5 ;IS BLOCK MARKED?
DECRA BKDX,DESCR ;DECREMENT OFFSET
GCLAP3: GETD DESCL,TTLCL,BKDX ;GET NEXT DESCRIPTOR IN BLOCK
TESTF DESCL,PTR,GCLAP4 ;IS IT A POINTER?
ACOMP DESCL,MVSGPT,,,GCLAP4
IS IT ABOVE COMPRESSION BARRIER?
; FOLLOWING CODE ADDED TO HANDLE A UNIQUE PROBLEM WITH RELOCATING
; SPECIFIERS ON THE PDP-10. THIS IS NECESSARY BECAUSE THE
; OFFSET FIELD CONTAINS AN ADDRESS AS DOES THE ADDRESS FIELD
; A NEW FLAG CALLED SPCFLG HAS BEEN DEFINED IN COPY TO ALLOW
; US TO IDENTIFY WHEN WE ARE WORKING WITH A SPECIFIER. THE LOCSPX
; AND INTSPX MACROS MAKE PARTICULAR ATTENTION AND SET THIS FLAG
TESTF DESCL,SPCFLG,SPFIX1 ;ARE WE WORKING WITH A SPECIFIER
INCRA BKDX,DESCR
;YES, SO GET OTHER HALF
GETD DESCL1,TTLCL,BKDX ;DESCL EXPANDED FOR THIS CODE
HRRZ A1,DESCL1
SKIPN DESCL1+1 ;IGNORE ZERO LENGTH STRINGS
JRST SPFIX3
;NOW MAKE SOME SUPER PRECAUTIONARY MEASURES FOUND TO BE NECESSARY
CAMG A1,DESCL ;BYTE POINTER ALWAYS AFTER START
JRST SPFIX3
LDB A2,[POINT 12,DESCL1,17] ;MAKE SURE WE HAVE A BYTE POINTER
CAIE A2,^O0700
JRST SPFIX3
SUB A1,DESCL ;CALCULATE RELATIVE DIFFERENCE IN THIS
;BLOCK BEFORE RELOCATION
MOVEM A1,DESCL2 ;SAVE TEMPORARILY
TOP TOPCL,OFSET,DESCL
ADJUST DESCL,TOPCL,OFSET ;RELOCATE FIRST HALF
HRRZ A0,DESCL ;GET NEW ADDRESS
ADD A0,DESCL2 ;ADD RELATIVE DIFFERENCE FROM OLD LOCATION
HRRM A0,DESCL+2 ;FIX UP THE BYTE POINTER FIELD
PUTD TTLCL,BKDX,DESCL+2 ;PUT BACK LAST HALF
DECRA BKDX,DESCR ;GO BACK TO ORIGINAL
PUTD TTLCL,BKDX,DESCL ;PUT BACK FIRST HALF
BRANCH GCLAP4 ;DONE WITH THIS ENTRY, CONTINUE
SPFIX3: DECRA BKDX,DESCR
; END OF SPECIAL FIX UP FOR THE PDP-10
TOP TOPCL,OFSET,DESCL
ADJUST DESCL,TOPCL,OFSET ;ADJUST POINTER TO TARGET
PUTD TTLCL,BKDX,DESCL ;PUT DESCRIPTOR BACK IN BLOCK
GCLAP4: DECRA BKDX,DESCR ;DECREMENT OFFSET
AEQLC BKDX,0,GCLAP3 ;CHECK FOR END OF BLOCK
GCLAP5: SUM TTLCL,TTLCL,BKDXU ;MOVE TO NEXT BLOCK
AEQL TTLCL,FRSGPT,GCLAP0 ;CHECK FOR END OF REGION
MOVD BKDXU,PRMDX ;NUMBER OF RESIDENT BLOCKS
GCLAT1: GETD TTLCL,PRMPTR,BKDXU ;GET NEXT RESIDENT BLOCK
AEQLC TTLCL,0,,GCLAT4 ;SKIP NONPOINTER
GETSIZ BKDX,TTLCL ;GET SIZE OF BLOCK
GCLAT2: GETD DESCL,TTLCL,BKDX ;GET DESCRIPTOR FROM BLOCK
TESTF DESCL,PTR,GCLAT3 ;IS IT A POINTER?
ACOMP DESCL,MVSGPT,,,GCLAT3
IS IT ABOVE COMPRESSION BARRIER?
; THIS CODE IS IDENTICAL TO THE PREVIOUS CODE TO HANDLE
; THE UNIQUE PDP-10 PROBELM OF RELOCATING SPECIFIERS
TESTF DESCL,SPCFLG,SPFIX2
INCRA BKDX,DESCR
GETD DESCL1,TTLCL,BKDX
HRRZ A1,DESCL1 ;CALCULATE OFFSET IN ORIGINAL BLOCK
SKIPN DESCL1+1
JRST SPFIX4
CAMG A1,DESCL
JRST SPFIX4
LDB A2,[POINT 12,DESCL1,17]
CAIE A2,^O0700
JRST SPFIX4
SUB A1,DESCL
MOVEM A1,DESCL2
TOP TOPCL,OFSET,DESCL
ADJUST DESCL,TOPCL,OFSET
HRRZ A0,DESCL
ADD A0,DESCL2
HRRM A0,DESCL+2
PUTD TTLCL,BKDX,DESCL+2
DECRA BKDX,DESCR
PUTD TTLCL,BKDX,DESCL
BRANCH GCLAT3
SPFIX4: DECRA BKDX,DESCR
; END OF CHANGE FOR THE PDP-10
TOP TOPCL,OFSET,DESCL
ADJUST DESCL,TOPCL,OFSET ;ADJUST POINTER TO TARGET
PUTD TTLCL,BKDX,DESCL ;PUT DESCRIPTOR BACK IN BLOCK
GCLAT3: DECRA BKDX,DESCR ;DECREMENT OFFSET
AEQLC BKDX,0,GCLAT2 ;CHECK FOR END OF BLOCK
GCLAT4: DECRA BKDXU,DESCR ;DECREMENT COUNT OF RESIDENT BLOCKS
AEQLC BKDXU,0,GCLAT1 ;CHECK FOR END OF RESIDENT BLOCKS
MOVD TTLCL,HDSGPT ;SET UP TARGET POINTER
GCLAM0: BKSIZE BKDXU,TTLCL ;GET SIZE OF BLOCK
ACOMP TTLCL,MVSGPT,GCLAM5,GCLAM5
HAS COMPRESSION BARRIER BEEN REACHED
GETAC TOPCL,TTLCL,0 ;GET TARGET POSITION
MOVDIC TOPCL,0,TTLCL,0 ;MOVE TITLE TO TARGET POSITION
RSETFI TOPCL,MARK ;CLEAR MARK FLAG
BRANCH GCLAM4 ;CONTINUE
GCLAM5: MOVA BKDX,BKDXU ;WORKING COPY OF BLOCK SIZE
DECRA BKDX,DESCR ;SIZE TO BE MOVED
TESTFI TTLCL,MARK,GCLAM4 ;IS BLOCK MARKED?
GETAC TOPCL,TTLCL,0 ;GET TARGET POSITION
MOVDIC TOPCL,0,TTLCL,0 ;MOVE TITLE
RSETFI TOPCL,MARK ;CLEAR MARK FLAG
MOVBLK TOPCL,TTLCL,BKDX ;MOVE BLOCK ITSELF
GCLAM4: SUM TTLCL,TTLCL,BKDXU ;GET TO NEXT BLOCK
AEQL TTLCL,FRSGPT,GCLAM0 ;CHECK FOR END OF REGION
INCRA GCNO,1 ;INCREMENT COUNT OF REGENERATIONS
SETAC NODPCL,0 ;PERMIT DUMP
BKSIZE BKDX,TOPCL ;GET SIZE OF LAST BLOCK
SUM FRSGPT,TOPCL,BKDX ;COMPUTE NEW ALLOCATION POINTER
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
; THIS CODING IMPLEMENTS ONE OF TWO BASIC CORE STORAGE
; EXPANSION MECHANISMS. AT THIS POINT THERE IS NOT ENOUGH
; CORE LEFT TO FULFILL THE REQUEST, AND A CORE EXPANSION
; IS MADE TO ATTEMPT TO RESOLVE THE CRISIS. IF NO MORE CORE
; CORE IS TO BE HAD, THEN WE GIVE UP.
EXTERN TOTAVL,STCORE,ICORE
RESETF FRSGPT,FNC
GCWAD4: SUBTRT GCGOT,TLSGP1,FRSGPT
DECRA GCGOT,DESCR
RESETF GCGOT,PTR
GCWADE: ACOMP GCREQ,GCGOT,,GCWAD3,GCWAD3
MOVE A0,JOBREL
ADDI A0,2*^O1777 ;ASK FOR 2K MORE
GCWAD5: CALLI A0,^O11 ;CORE UUO
JRST [ MOVE A0,JOBREL
ADDI A0,^O1777
CALLI A0,^O11
JRST GCWAD8]
GCWAD8: MOVE A0,JOBREL
SUBI A0,2*DESCR ;SAFTEY FACTOR
MOVEM A0,TLSGP1
JRST GCWAD4 ;CONTINUE THE LOOP
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
RRTURN GCGOT,2
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
BLOCK MARKING
GCM: PROC , ;PROCEDURE TO MARK BLOCKS
POP BK1CL ;RESTORE BLOCK TO MARK FROM
PUSH ZEROCL ;SAVE END MARKER
GCMA1: GETSIZ BKDX,BK1CL ;GET SIZE OF BLOCK
GCMA2: GETD DESCL,BK1CL,BKDX ;GET DESCRIPTOR
TESTF DESCL,PTR,GCMA3 ;IS IT A POINTER?
AEQLC DESCL,0,,GCMA3 ;IS ADDRESS ZERO?
TOP TOPCL,OFSET,DESCL ;GET TO TITLE OF BLOCK POINTED TO
TESTFI TOPCL,MARK,GCMA4 ;IS BLOCK MARKED?
GCMA3: DECRA BKDX,DESCR ;DECREMENT OFFSET
AEQLC BKDX,0,GCMA2 ;CHECK FOR END OF BLOCK
POP BK1CL ;RESTORE BLOCK PUSHED
AEQLC BK1CL,0,,RTN1 ;CHECK FOR END
SETAV BKDX,BK1CL ;GET SIZE REMAINING
BRANCH GCMA2 ;CONTINUE PROCESSING
GCMA4: DECRA BKDX,DESCR ;DECREMENT OFFSET
AEQLC BKDX,0,,GCMA9 ;CHECK FOR END
SETVA BK1CL,BKDX ;INSERT OFFSET
PUSH BK1CL ;SAVE CURRENT BLOCK
GCMA9: MOVD BK1CL,TOPCL ;SET POINER TO NEW BLOCK
SETFI BK1CL,MARK ;MARK BLOCK
TESTFI BK1CL,STTL,GCMA1 ;IS IT A STRING?
MOVD BKDX,TWOCL ;SET SIZE OF STRING TO 2
BRANCH GCMA2 ;JOIN PROCESSING
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
PROCEDURE TO SPLIT BLOCKS
SPLIT: PROC , ;PROCEDURE TO SPLIT BLOCKS
POP A4PTR ;RESTORE POINTER TO MIDDLE OF BLOCK
TOP A5PTR,A6PTR,A4PTR ;GET TITLE AND OFFSET
AEQLC A6PTR,0,,RTN1 ;AVOID BLOCK OF ZERO LENGTH
GETSIZ A7PTR,A5PTR ;GET PRESENT BLOCK SIZE
SUBTRT A7PTR,A7PTR,A6PTR ;SUBTRACT OFFSET
DECRA A7PTR,DESCR ;DECREMENT FOR TITLE
ACOMPC A7PTR,0,,RTN1,RTN1 ;AVOID BLOCK OF ZERO LENGTH
SETSIZ A5PTR,A6PTR ;RESET SIZE OF OLD BLOCK
INCRA A4PTR,DESCR ;ADJUST POINTER TO MIDDLE
PUTDC A4PTR,0,ZEROCL
PUTAC A4PTR,0,A4PTR
SETFI A4PTR,TTL ;INSERT TITLE FLAG
SETSIZ A4PTR,A7PTR ;INSERT SIZE FO NEW BLOCK
BRANCH RTN1 ;RETURN
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
TITLE 'COMPILATION PROCEDURES'
BINARY OPERATOR ANALYSIS
BINOP: PROC , ;COMPILER BINARY OPERATOR ANALYSIS
RCALL ,FORBLK,,BINOP1 ;TEST FOR INITIAL BLANK
AEQLC BRTYPE,NBTYP,RTN2 ;IF SO, FAIL ON BREAK
STREAM XSP,TEXTSP,BIOPTB,BINCON
MOVD ZPTR,STYPE ;MOVE FUNCTION DESCRIPTOR
BRANCH RTZPTR ;RETURN FUNCTION DESCRIPTOR
BINOP1: RCALL ,FORWRD,,COMP3 ;IF NO BLANK, FIND CHARACTER
SELBRA BRTYPE,&,RTN2,RTN2,,,RTN2,RTN2&
BINERR: SETAC EMSGCL,ILLBIN ;SET UP ERROR MESSAGE
BRANCH RTN1 ;TAKE ERROR RETURN
BINCON: MOVD ZPTR,CONCL ;NO OPERATOR, CONCATENATION
BRANCH RTZPTR ;RETURN FUNCTION DESCRIPTOR
BINEOS: SETAC EMSGCL,ILLEOS ;SET UP ERROR MESSAGE
BRANCH RTN1 ;ERROR RETURN
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
STATEMENT COMPILATION
CMPILE: PROC , ;PROCEDURE TO COMPILE STATEMENT
SETAC BRTYPE,0 ;CLEAR BREAK INDICATOR
MOVD BOSCL,CMOFCL ;SET STATEMENT BEGINNING OFFSET
INCRA CSTNCL,1 ;INCREMENT STATEMENT NUMBER
STREAM XSP,TEXTSP,LBLTB,CERR1
BREAK OUT LABEL
LEQLC XSP,0,,CMPILA ;CHECK FOR NO LABEL
INCRA CMOFCL,DESCR ;INCREMENT OFFSET
PUTD CMBSCL,CMOFCL,BASECL
INSERT BASE FUNCTION
SUM CMBSCL,CMBSCL,CMOFCL
ADD OFFSET TO BASE
ACOMP CMBSCL,OCLIM,,,CMPILO
CHECK FOR END OF OBJECT CODE
RCALL XCL,BLOCK,CODELT ;GET BLOCK FOR MORE
PUTDC CMBSCL,0,GOTGCL ;REPLACE BASE WITH DIRECT GOTO
PUTDC CMBSCL,DESCR,DOTCL ;USE NAME LITERAL
PUTDC CMBSCL,2*DESCR,XCL ;AIM AT NEW BLOCK
MOVD CMBSCL,XCL ;SET UP BASE OF NEW REGION
SUM OCLIM,CMBSCL,CODELT ;COMPUTE END OF NEW BLOCK
DECRA OCLIM,5*DESCR ;LEAVE SAFETY FACTOR
PUTDC CMBSCL,DESCR,BASECL ;SET BASE FUNCTION IN NEW REGION
INCRA CMBSCL,DESCR ;INCREMENT BASE
CMPILO: SETAC CMOFCL,0 ;ZERO OFFSET
SETAC BOSCL,0 ;ZERO BASE OFFSET
RCALL LPTR,GENVAR,XSPPTR ;GET VARIABLE FOR LABEL
AEQLIC LPTR,ATTRIB,0,,CMPILC
CHECK FOR PREVIOUS DEFINITION
AEQLC CNSLCL,0,,CERR2 ;CHECK FOR LABEL REDEFINITION
CMPILC: PUTDC LPTR,ATTRIB,CMBSCL ;INSERT LABEL ATTRIBUTE
DEQL LPTR,ENDPTR,,RTN2 ;CHECK FOR END
CMPILA: RCALL ,FORBLK,,CERR12 ;GET TO NEXT CHARACTER
AEQLC BRTYPE,EOSTYP,,RTN3 ;WAS END OF STATEMENT FOUNC?
INCRA CMOFCL,DESCR ;INCREMENT OFFSET
PUTD CMBSCL,CMOFCL,INITCL
INSERT INIT FUNCTION
INCRA CMOFCL,DESCR ;INCREMENT OFFSET
MOVD FRNCL,CMOFCL ;SAVE OFFSET FOR FAILURE POSITION
AEQLC BRTYPE,NBTYP,,CMPSUB
CHECK FOR NONBREAK
AEQLC BRTYPE,CLNTYP,CERR3,CMPGO
CHECK FOR GOTO FIELD
CMPSUB: RCALL SUBJND,ELEMNT,,&CDIAG,COMP3&
COMPILER SUBJECT
RCALL ,FORBLK,,CERR5 ;GET TO NEXT CHARACTER
AEQLC BRTYPE,NBTYP,,CMPATN
CHECK FOR NONBREAK
AEQLC BRTYPE,EQTYP,,CMPFRM
CHECK FOR ASSIGNMENT
RCALL ,TREPUB,&SUBJND& ;COPY SUBJECT INTO OBJECT CODE
AEQLC BRTYPE,CLNTYP,,CMPGO
CHECK FOR GOTO
AEQLC BRTYPE,EOSTYP,CERR5,CMPNGO
CHECK FOR END OF STATEMENT
CMPATN: RCALL PATND,EXPR,,CDIAG ;COMPILE PATTERN
AEQLC BRTYPE,EQTYP,,CMPASP
CHECK FOR REPLACEMENT
INCRA CMOFCL,DESCR ;INCREMENT OFFSET
PUTD CMBSCL,CMOFCL,SCANCL
INSERT SCAN FUNCTION
RCALL ,TREPUB,&SUBJND& ;COPY SUBJECT INTO OBJECT CODE
RCALL ,TREPUB,&PATND& ;COPY PATTERN INTO OBJECT CODE
CMPTGO: AEQLC BRTYPE,EOSTYP,,CMPNGO
CHECK FOR END OF STATEMENT
AEQLC BRTYPE,CLNTYP,CERR5,CMPGO
CHECK FOR END OF STATEMENT
CMPFRM: RCALL FORMND,EXPR,,CDIAG ;COMPILE OBJECT
INCRA CMOFCL,DESCR ;INCREMENT OFFSET
PUTD CMBSCL,CMOFCL,ASGNCL
INSERT ASGN FUNCTION
RCALL ,TREPUB,&SUBJND& ;COPY SUBJECT INTO OBJECT CODE
BRANCH CMPFT ;JOIN OBJECT PUBLICATION
CMPASP: RCALL FORMND,EXPR,,CDIAG ;COMPILE OBJECT
INCRA CMOFCL,DESCR ;INCREMENT OFFSET
PUTD CMBSCL,CMOFCL,SJSRCL
INSERT SJSR FUNCTION
RCALL ,TREPUB,&SUBJND& ;COPY SUBJECT INTO OBJECT CODE
RCALL ,TREPUB,&PATND& ;COPY PATTERN INTO OBJECT CODE
CMPFT: RCALL ,TREPUB,FORMND,CMPTGO
COPY OBJECT INTO OBJECT CODE
CMPNGO: SETVA CSTNCL,CMOFCL ;SET UP OFFSET FOR FAILURE
PUTD CMBSCL,FRNCL,CSTNCL ;INSERT ARGUMENT OF INIT
BRANCH RTN3 ;STATEMENT COMPILATION IS DONE
GET TO NEXT CHARACTER
CMPGO: RCALL ,FORWRD,,COMP3 ;CHECK FOR END OF STATEMENT
AEQLC BRTYPE,EOSTYP,,CMPNGO
CHECK FOR NONBREAK
AEQLC BRTYPE,NBTYP,CERR11
STREAM XSP,TEXTSP,GOTOTB,CERR11,CERR12
ANALYZE GOTO FIELD
MOVD GOGOCL,GOTLCL ;PREDICT GOTL
SETAC GOBRCL,RPTYP ;SET UP PREDICTED CLOSING BREAK
ACOMP STYPE,GTOCL,,CMPGG,CMPGG
CHECK FOR DIRECT GOTO
MOVD GOGOCL,GOTGCL ;SET UP DIRECT GOTO
SETAC GOBRCL,RBTYP ;SET UP CLOSING BREAK
CMPGG: SELBRA STYPE,&,CMPSGO,CMPFGO,,CMPSGO,CMPFGO&
BRANCH ON TYPE
CMPUGO: SETVA CSTNCL,CMOFCL ;SET UP OFFSET FOR FAILURE
PUTD CMBSCL,FRNCL,CSTNCL ;INSERT ARGUMENT OF INIT
RCALL GOTOND,EXPR,,CDIAG ;COMPILE GOTO
AEQL BRTYPE,GOBRCL,CERR11
VERIFY CLOSING BREAK
INCRA CMOFCL,DESCR ;INCREMENT OFFSET
PUTD CMBSCL,CMOFCL,GOGOCL
INSERT GOTO FUNCTION
RCALL ,TREPUB,&GOTOND& ;COPY GOTO INTO OBJECT CODE
RCALL ,FORWRD,,COMP3 ;GET TO NEXT CHARACTER
AEQLC BRTYPE,EOSTYP,CERR11,RTN3
CHECK FOR END OF STATEMENT
CMPSGO: RCALL SGOND,EXPR,,CDIAG ;COMPILE SUCCESS GOTO
AEQL BRTYPE,GOBRCL,CERR11
VERIFY BREAK CHARACTER
INCRA CMOFCL,DESCR ;INCREMENT OFFSET
PUTD CMBSCL,CMOFCL,GOGOCL
INSERT GOTO FUNCTION
RCALL ,TREPUB,&SGOND& ;COPY GOTO INTO OBJECT CODE
RCALL ,FORWRD,,COMP3 ;GET TO NEXT CHARACTER
AEQLC BRTYPE,EOSTYP,CMPILL
CHECK FOR END OF STATEMENT
SETVA CSTNCL,CMOFCL ;SET UP OFFSET FOR FAILURE
PUTD CMBSCL,FRNCL,CSTNCL ;INSERT ARGUMENT OF INIT
BRANCH RTN3 ;COMPILATION IS COMPLETE, RETURN
CMPILL: AEQLC BRTYPE,NBTYP,CERR11 ;CHECK FOR NONBREAK
STREAM XSP,TEXTSP,GOTOTB,CERR11,CERR12
ANALYZE GOTO FIELD
AEQLC STYPE,FGOTYP,CMPFTC ;CHECK FOR FAILURE GOTO
MOVD GOGOCL,GOTLCL ;SET UP GOTO
SETAC GOBRCL,RPTYP ;SET UP CLOSING BREAK
BRANCH CMPUGO ;JOIN PROCESSING
CMPFTC: AEQLC STYPE,FTOTYP,CERR11 ;VERIFY FAILURE GOTO
MOVD GOGOCL,GOTGCL ;SET UP GOTO
SETAC GOBRCL,RBTYP ;SET UP CLOSING BREAK
BRANCH CMPUGO ;JOIN PROCESSING
CMPFGO: RCALL FGOND,EXPR,,CDIAG ;COMPILE FAILURE GOTO
AEQL BRTYPE,GOBRCL,CERR11
VERIFY FAILURE GOTO
RCALL ,FORWRD,,COMP3 ;GET TO NEXT CHARACTER
AEQLC BRTYPE,EOSTYP,CMPILM
CHECK FOR END OF STATEMENT
INCRA CMOFCL,DESCR ;INCREMENT OFFSET
PUTD CMBSCL,CMOFCL,GOTOCL
INSERT GOTO FUNCTION
INCRA CMOFCL,DESCR ;INCREMENT OFFSET
MOVD SRNCL,CMOFCL ;SAVE LOCATION FOR SUCCESS
SETVA CSTNCL,CMOFCL ;SET UP FAILURE OFFSET
PUTD CMBSCL,FRNCL,CSTNCL ;INSERT ARGUMENT OF INIT
INCRA CMOFCL,DESCR ;INCREMENT OFFSET
PUTD CMBSCL,CMOFCL,GOGOCL
INSERT GOTO FUNCTION
RCALL ,TREPUB,&FGOND& ;COPY GOTO INTO OBJECT CODE
PUTD CMBSCL,SRNCL,CMOFCL ;INSERT SUCCESS OFFSET INTO CODE
BRANCH RTN3 ;COMPILATION IS COMPLETE, RETURN
CMPILM: AEQLC BRTYPE,NBTYP,CERR11 ;VERIFY NONBREAK
STREAM XSP,TEXTSP,GOTOTB,CERR11,CERR12
ANALYZE GOTO FIELD
AEQLC STYPE,SGOTYP,CMPSTC ;CHECK FOR SUCCESS GOTO
PUSH GOTLCL ;SAVE GOTO TYPE
SETAC GOBRCL,RPTYP ;SET UP CLOSING BREAK
BRANCH CMPILN ;JOIN PROCESSING
CMPSTC: AEQLC STYPE,STOTYP,CERR11 ;VERIFY SUCCESS GOTO
PUSH GOTGCL ;SAVE GOTO TYPE
SETAC GOBRCL,RBTYP ;SET UP CLOSING BREAK
CMPILN: RCALL SGOND,EXPR,,CDIAG ;COMPILE SUCCESS GOTO
AEQL BRTYPE,GOBRCL,CERR11
VERIFY CLOSING BREAK
RCALL ,FORWRD,,COMP3 ;GET TO NEXT CHARACTER
AEQLC BRTYPE,EOSTYP,CERR11
VERIFY END OF STATEMENT
INCRA CMOFCL,DESCR ;INCREMENT OFFSET
POP WCL ;RESTORE GOTO TYPE
PUTD CMBSCL,CMOFCL,WCL ;INSERT GOTO FUNCTION
RCALL ,TREPUB,&SGOND& ;COPY GOTO INTO OBJECT CODE
SETVA CSTNCL,CMOFCL ;SET UP FAILURE OFFSET
PUTD CMBSCL,FRNCL,CSTNCL ;INSERT ARGUMENT OF INIT
INCRA CMOFCL,DESCR ;INCREMENT OFFSET
PUTD CMBSCL,CMOFCL,GOGOCL
INSERT GOTO FUNCTION
RCALL ,TREPUB,&FGOND&,RTN3
COPY GOTO INTO OBJECT CODE
CERR1: SETAC EMSGCL,EMSG1 ;ERRONEOUS LABEL
BRANCH CDIAG
CERR2: SETAC EMSGCL,EMSG2 ;MULTIDEFINED LABEL
BRANCH CDIAG
CERR3: SETAC EMSGCL,EMSG3 ;BREAK CHARACTER BEFORE SUBJECT
BRANCH CDIAG
CERR5: SETAC EMSGCL,ILLBRK ;ILLEGAL CHARACTER AFTER PATTERN
BRANCH CDIAG
CERR12: SETAC EMSGCL,ILLEOS ;ILLEGAL STATEMENT TERMINATION
BRANCH CDIAG
CERR11: SETAC EMSGCL,EMSG14 ;CHARACTERS AFTER GOTO
CDIAG: INCRA BOSCL,DESCR ;INCREMENT OFFSET OF BEGINNING
PUTD CMBSCL,BOSCL,ERORCL ;INSERT ERROR FUNCTION
INCRA BOSCL,DESCR ;INCREMENT OFFSET
PUTD CMBSCL,BOSCL,CSTNCL ;INSERT ARGUMENT OF ERROR
MOVD CMOFCL,BOSCL ;REPOSITION OFFSET
INCRA ESAICL,DESCR ;INCREMENT COUNT OF ERRORS
ACOMP ESAICL,ESALIM,COMP9 ;TEST FOR EXCESSIVE ERRORS
AEQLC LISTCL,0,,CDIAG1 ;CHECK FOR LISTING MODE
MOVD YCL,ERRBAS ;SET UP LENGTH OF ERROR VECTOR
AEQLC BRTYPE,EOSTYP,,CDIAG3
CHECK FOR END OF STATEMENT
GETLG XCL,TEXTSP ;GET LENGTH REMAINING
SUBTRT YCL,YCL,XCL ;COMPUTE POSITION FOR MARKER
CDIAG3: PUTLG ERRSP,YCL ;INSERT LENGTH
APDSP ERRSP,QTSP ;SET IN MARKER
AEQLC BRTYPE,EOSTYP,,CDIAG2
CHECK FOR END OF STATEMENT
STPRNT IOKEY,OUTBLK,LNBFSP ;PRINT STATEMENT
CDIAG2: STPRNT IOKEY,OUTBLK,ERRSP ;PRINT ERROR MARKER
PUTLG ERRSP,YCL ;INSERT LENGTH IN MARKER
APDSP ERRSP,BLSP ;BLANK OUT MARKER
GETSPC TSP,EMSGCL,0 ;GET ERROR MESSAGE
SETLC CERRSP,0 ;CLEAR SPECIFIER
APDSP CERRSP,STARSP ;APPEND ATTENTION GETTER
APDSP CERRSP,TSP ;APPEND ERROR MESSAGE
STPRNT IOKEY,OUTBLK,CERRSP ;PRINT ERROR MESSAGE
STPRNT IOKEY,OUTBLK,BLSP ;PRINT BLANK LINE
;VERSION 3.3 CHANGE
CDIAG1: AEQLC UNIT,0,,RTN1
AEQLC BRTYPE,EOSTYP,,RTN3
;VERSION 3.3 CHANGE END
STREAM XSP,TEXTSP,EOSTB,COMP3,,RTN3
GET TO END OF STATEMENT
DIAGRN: STREAD INBFSP,UNIT,DWADE2,COMP5
READ CARD IMAGE
SETSP TEXTSP,NEXTSP ;SET UP NEW LINE
STREAM XSP,TEXTSP,CARDTB,COMP3,COMP3
ANALYZE CARD TYPE
RCALL ,NEWCRD,,&,,RTN3& ;PROCESS CARD IMAGE
AEQLC LISTCL,0,,DIAGRN
STPRNT IOKEY,OUTBLK,LNBFSP ;PRINT OUT BYPASSED CARD
BRANCH DIAGRN
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""
DWADE2: PUSHJ PDP,EOF
JRST DIAGRN ;RETURN AFTER GETTING ANOTHER DEVICE
;""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*
ELEMENT ANALYSIS
ELEMNT: PROC , ;ELEMENT ANALYSIS PROCEDURE
RCALL ELEMND,UNOP,,RTN2 ;GET TREE OF UNARY OPERATORS
STREAM XSP,TEXTSP,ELEMTB,ELEICH,ELEILI
BREAK OUT ELEMENT
ELEMN9: SELBRA

我要回帖

更多关于 华硕front base开箱 的文章

 

随机推荐