background image

Summary of Contents for WD/90 Pascal

Page 1: ...WD 90 Pascal MICROENGINETM Reference Manual...

Page 2: ......

Page 3: ...THE tlICROENGlNE COMPANY til Pasca1 MICROEHGINE Computer User s Manual PreliMinary Edition March 1979...

Page 4: ...lt fr its use No license is granted by implication or o ther ise under any pat ent or patent rights of The MICRDENGIME COIlPany The MICRDEHGlNE COIIPanl 1 reserves the right to change product specific...

Page 5: ...source Chapter 1 presents an overview of the computer It briefly describes hardware components of the computer the software provided with the computer the mechanical environmental and electrical requi...

Page 6: ......

Page 7: ...Stopping the System 3 2 Changing Hardware Option Switch Settings 13 13 1 14 11 1 15 17 17 18 18 TROUBLESHOOTING PROCEDURES 4 1 The Troubleshooting Process A General Discussion 4 2 Symptom 1 Operating...

Page 8: ...the Option SlUit ch Pack ages 6 2 4 Air Vents n _ 0 11 2 Rear Pane1 a II 11 3 1 ON OFF Switch 13 4 1 RESET Button Location I1 u 19 4 2 Locations of the Power Supp lie 1 4 3 Measuring and Adjusting a...

Page 9: ...ector Pin Assignments 50 5 15 DMACIFDC Addresses G R 52 5 16 DMAC Control Register Contents 54 5 17 DMAC Status Register Contents 55 5 18 Stepping Motor Rates for FOC Type I Commands 59 5 19 FDC Comma...

Page 10: ......

Page 11: ...provided with the computer the mechanical environmental and electrical reqUirements of the computer and the computer s operation Subsequent chapters describe procedures for using the computer and als...

Page 12: ...O signa Is are cOl lpatib Ie 1111th tl ansistor transistor logic TTL In addition to the five processor clhipH the board contains o 64 bytes 321 I Ords of ra ndon access memory RAM o Two RS 232 asynchr...

Page 13: ...computer normally runs on 110 volts AG Optionally the user can order a Pascal M1CROENGINE Computer which runs on 220 volts At In either case the line frequency range is 48 63 Hz 1 4 COMPUTER OPERATIO...

Page 14: ......

Page 15: ...ter provides switches for specifying the chal acteristics of the floppy disk containing the Pascal Operating System for providing inrormation about the system terminal and for selecting the baud rate...

Page 16: ...9 SYSTEM TERMINAL SPECIFICATION SWITCHES 811 1_4 l J I _ L 1 SERIAL PORT BAUD RATE SWITCHES 8 7 6 X16 1 5_1 4 3 2 1 IJ _ _ _ _ r J JC J o CX I r l oa F 1utb 5 Eca 0 OOCJ CJ CJ l E JC JC J Fi9Ul e 2 3...

Page 17: ...a inch disksl and switch 2 ON corresponds to 5 1 4 inch di ks Set these switches according to t e characteristics of the floppy disk s containing the Pascal Operating System Table 2 1 summarizes the...

Page 18: ...g to the cha i lcteristics of the system terminal Table 2 2 outlines the settings fo a standard system terminal Table 2 3 describes the function of each switch The controls on the systelll terminal mu...

Page 19: ...ls tIl alternate Receiver clock rate o Receiver clock rate determined by switches 1 3 1 Receiver clock rate Rate 1 In synchronous mode switch 6 1 controls SYN character stripping 1 5YM character strip...

Page 20: ...ch Settings Baud Rate Switch Settings Port A Port B t 2 3 4 5 6 7 8 50 75 110 134 5 150 300 600 1200 1800 2000 2400 3600 4800 7200 9600 19200 o 0 0 0 000 o 1 0 0 I 1 0 0 0 1 0 0 1 0 1 1 0 l 1 1 0 000...

Page 21: ...six feet the length of the power cord AIR OUTLET VENTS AIR INTAKE VENTS Figure 2 4 Air Vents J4 FLOPPY DISK J3 PARALLEL PORT J2 SERIAL PORT B J1 SERIAL PORT A ON OFF SWITCH POWER CORD CONNECTION RESE...

Page 22: ...olt supply pin 26 Plu9 9in9 In the Power Cord Next locate the ON OFF rock er slUi tch on the rear panel of the computer housi119 as i lIushated in 2 5 BE SURE THAT THIS SWnCH IS SET TO OFF Then lOCilt...

Page 23: ...e power by setting the ON OFF rocker switch t o ON The ONIOFF switch is located on the rear panel of the computer housing as illustrated in Figure 3 1_ The ON OFF switch lights when set to ON to indic...

Page 24: ...es itself md then generates the line Command E dit R un F ile C omp L ink X ecute A sselll D eb1J9 to the screen of the system terlllinal indicating that the system has been loaded successfully and is...

Page 25: ...ttICRotNGINE Computer hardware option switches as part of the system installation proces5 Switches arE provided for specifying the floppy disk system terminal and baud rate ror the serial ports If the...

Page 26: ......

Page 27: ...it was installed If this is not the case The MICROEHGINE Company strongly recommends that the user perform these procedures before beginrdng t he fault finding process Peripheral inspection and testi...

Page 28: ...on itself If the loaded 4 2 1 Repeatin 9 the Software LOildiJ1g Procedure First try pressing the RESET butt n This button is located on the rear panel of the cOlRPuter housing as illustl ate d in Figu...

Page 29: ...itch located at the top Caution the computer housing has sharp edges so be careful not to scratch your table top Remove the four screws on the computer panel and slide the rear panel and attached PC b...

Page 30: ...lowl n 9 the procedure just 001 11 nEOd After verifying that the hardware option switches are set correctly the next step depends on whether the floppy disk drive is active OT not Activitlj on the dri...

Page 31: ...cuits and a background in the use and operation of all periphera Is IJsed in the camp lete Pasea 1 J1ICROENGlNE Syst em Users not i ami liiH with digital logic are advised to return the complete unit...

Page 32: ...ERACTIVE DIRECTIONS CHECK OPERATING SYSTEM CONFIGURATION NO f NO 14 FAULT FINDER FLOW CHART STA PUSH MASTER RESET A OS YES ANNOUNCED ON CRT NO REPLACE DISK AND GOTO ISK DISK DRIVE OR INTERCONNECTS liR...

Page 33: ...O NO REPLACE DRIVE ANDGOTO RETURN DEFECTIVE DRIVE TO MANUFACTURER Page 23 CHIPSET IS SUSPECT RETURN UNIT TO WID FD1791 IS SUSPECT REPLACE AND GO TO OR RETURN TO WID M I B DEFECTIVE RETURN UNIT TO WID...

Page 34: ...IF PROBLEM PERSISTS NO DATA TRANSFER TO FLOPPY U LINE PRINTER AND LP INTERCONNEC nONS SUSPECT REFER TO LP MANUAL AND WIRING DIAGRAMS FOR VERIFICATION NO NO NO NO Z9 8225A IS SUSPECT REPLACE AND GO TO...

Page 35: ...sor controlled bus structure This structure is comprised of a 16 bit address bus 16 bit addr ess latch a 16 bit bi directional data bus and latche and bus drivers as required for the control lines The...

Page 36: ...DISK A DM LTR L M O 0 0 i iii i Ii Ii i II iii i tm1t1m Otfu O t ttil ldttl tl 1S tJ al lrH l11 IUlllO H IlHlI lOllaMCJ i II I II iii i 1 I I e_ Qu I I I f V_ _ ADrmrr B5 rg tND I I I i II I 11 1 11...

Page 37: ...13 Interrupts used by the ports and controllers to request a processor interrupt Only 10 is used for all interrupts in the Pascal MICROENGINE Computer lACK Interrupt Acknowledge used by the processor...

Page 38: ...i l luhen addressing memory Unlike i l memory address which has a simp Ie one for une correspondence with a lIJord in memory d device address has two components hits 4 15 identify the port or controll...

Page 39: ...ata is loaded from the data bus into the device 5 1 3 Device Initiated Communication with the Processor Interrupts Uhen an I O device requires service it signals the 10 control line Uhen the processor...

Page 40: ...roinstruction decoder portions of the control circuitry the microinstruction counter and input output control logic o Three 22 by 512 bit MICRON chips holding the microinstructions The processor uses...

Page 41: ...fers between the Floppy Disk ControlleY and memoY y without involving the pY ocessor 5 4 SERIAL PORTS Two RS 232 asynchY onous serial ports aY e pY ovided with the Pascal 111CROENGIME ComputeY o One o...

Page 42: ...offer i a number of progralllllable capabilities the device can operate in either synchronous or asynchronous ode for f xample When the Pascal Operating SysteM is loaded it automatica 111 1 pr09rams t...

Page 43: ...e term Transmitter refers to the Transmitter Holding Register and the Transmitter Register o Control Registers These two a bit registers hold device programmed control words The contents of these regi...

Page 44: ...e Transmitter Register have been transmitted Otherwise the Mark logic one condition is continually tran5lllitted until the TranSlllitter Holding Register is loaded ReceJttion of a character into the R...

Page 45: ...ansmitter Holding Register are transferred to the Transmitter Register It is cleared to a 0 bit mhen the Transmitter Holding Register is loaded from the data bus or the Transmitter is disabled This bi...

Page 46: ...eiver is enabled This bit is set to a 0 bit if the bit after the last data bit of a ch IT ac tel is a one This tlit is the complement of th a CIIRRIER DETECTOR input pin 391 This bit is the complemen...

Page 47: ...optional transparent mode is in effect In ynchronous mode character framing is achieved by the SYM character transmitted at the beginning of a block of characters When the Receiver is enabled it sear...

Page 48: ...nterrupt is g nerated Character recepti on starts with a Start bit when in asynchronous mode or with 2 m iitches to the contents of the SYN Register when in synchronouf mK de If When the RECEIVER ENAB...

Page 49: ...he Receiver not enabled causes the Receiver bit timing to synchronize on mark space transitions The function of this bit depends on whether synchronous or asynchronous mode is in efff t In asynchronou...

Page 50: ...Holding Register That is interrupts are gene j atf d and the Trans ftitter oper ates ltorlIIa lly except for the output luhic h remains low while bit 6 if 5et to a 1 bit In synchronous IlKldfl bit 6 s...

Page 51: ...ous modp if bit 3 is set to a 0 bit Rate 1 is selected as the Receiver clock rate if bit a is set to a 1 bit the Receiver clock I ate is determined by bits 2 0 l f IX clocking is selected in hih 2 01...

Page 52: ...into the SYN and OLE regi sters for use in synchronous mode these registers cannot be read Table 5 9 lists the values used by the Jl rocessor to address the serial ports SYN OLE and control registers...

Page 53: ...ter parallel ports device that is it explains how the devi ce operates when it is programmed automatically by the Pascal Operating System For the user who wishes to program the device to operate in so...

Page 54: ...IBFA PB6 PB PB3 pao RESET GNU PA2 PA3 PA PA7 ACKB SPC6 IIOPC7 OBFB SIBFB PBnOF PB7 PBS PB2 PBl GriD PagE 44 Description DATA 1 PORl I DATA 0 PORT A DATA 4 PORT A DATA 6 PORTA ACKNOtJLF DGF B STROBE A...

Page 55: ...h on this pin enables interrupts from Port B On input a low on this pin indicates that data output from Port B has been accepted by the peripheral device When the Pascal Operating System is loaded it...

Page 56: ...is ffIOde data is simp ly read from l r IIIr i tten to the porti no handshaking signals are required o Mode 1 the strobed input output mode mode selected in the defalJlt device described in subsection...

Page 57: ...an input port When this bit is set to a o bit Port B is used as an output port len this bit is set to a 1 bit Mode 1 is selected for Port B and the lower half of Port c When this bit is set to a 0 bi...

Page 58: ...atically loaded into the Control Register by the Pascal Operating System is shoUln in FigU1 e 5 2 7 101 1 010 o Port Clower input 01 out pllt Port B output Port B Port Clower i lode 1 Port C upper inp...

Page 59: ...Communication between these controllers and the processor is achieved via the inter component communicaticon bus structurei described in sectiml 5 L f floppy disk drive is connected to the floppy dis...

Page 60: ...ND J4 18 J4 19 UF J4 20 til J lf 21 DS2 J4 22 DS4 J lf 23 HLO J c1 24 GHD J lf 25 DIRC J4 26 GHO J4 27 Y J4 28 GHO J lf 29 TG4 1 J4 30 GND J4 31 IP J lf 32 GHO J c1 33 RO l J c1 34 GHD J4 35 5 J4 36 5...

Page 61: ...high on the AUTLD input also places the OMAC in run mode and enables two of the device s three interrupt conditions See subsection 5 6 3 5 6 2 Processor Initiated Communication with the DMAC and FOC R...

Page 62: ...r Track Rp 9ister Sector Register Data egister Control Register Status Register Transfer Count Low Register Transfer Count High Registpr Memory Address Low Register Memory Address High Register Memory...

Page 63: ...and the high order a bits are in TC Hi gh4 This count is incremented after each DNA transfer o Memory Address Register This lS bit register occupies 3 DMA registers bits 0 7 are held in MA Low bit5 8...

Page 64: ...0 1 This bj t clJntrols the timf Olrt interrupt When this bit is set to a 1 bi t the time out one shot sets the INTH Olrtput pi 40 low When thi bit i set to a 0 bit this interrupt is disabled The time...

Page 65: ...a carry from DMA addr ess bit 15 to propogate into bit 16 When this bit is set to a 0 bit address extension carry is disabled This bit is not used Bit Name Table 5 17 DMAC status Register Contents Fun...

Page 66: ...I egi ster When this bit is set to a 1 bit the DMAC oper ates in Read lIlOdei w hen it is set to a 0 the DMAC operates in Write lIIOde Bit 4 is a read on ly bi t This bit reflec1 s the status of bit...

Page 67: ...terrupt occurs when when a failure occurs other situations o Transfer Count Equals Zero This condition occurs when the Transfer Count Register is incremented to O o Time Out Interrupt During a DMA tra...

Page 68: ...ter This I bit register holds the track number of the current Reael Write head position This register is incremented by 1 each time the head is stepped in toward track 76 and decremented by 1 each tim...

Page 69: ...set to a 1 bit a verification operation is performed on the destination track If this bit is set to a 0 bit no verification is performed The Type I commands also contain a head load flag in bit 3 If t...

Page 70: ...cuted before a Step commCind is received o Step In This comlland c auses the FDC to issue one stepping pulse in the directil n toward track 76 o Step Out This cOmlRand c Uses the FDC to issue one step...

Page 71: ...n 35 This bit is set to a 1 bit when the Read Write head is positioned to Track 00 otherwise this bit is set to a 0 bit This bit is an inverted copy of the TROO input bit 34 This bit is set to a 1 bit...

Page 72: ...ct the next 10 field is read If the CRe is correct the data ield is then located and its contents are either l ead or wl itten The FOC must find an ID field with the conect tl ack numb l sectOT numbel...

Page 73: ...This command causes the 6 bytes oP the next encountered 10 field to be assembled and transferred to the Data Register The IO field bytes are track address side number sector address sector length eRe...

Page 74: ...the DRG output pin 38 When set to a 1 bit it indil atE s that the Data Registel is full on a Ree d operation or empty on a Write opeNticm Otherwise this bit is set 1 0 a 0 t it This bi1 is set to a 1...

Page 75: ...e Interrupt command is loaded into the Command Register that command is terminated Depending on the valup of bits 0 3 of the Co_and RegisterJ an interrupt may be generated Table 5 24 lists the Command...

Page 76: ...received while no other command is bein 9 e xecuted the BUSY bit is reset and the r est of the Status Register bits are upclated or cleared In this casp the Status Register bits have the sallie mearli...

Page 77: ...THE MlCROENGINE COMPANY tm Pastal MICROENGINE Compute Pascal Operations Manual Preliminary Edition...

Page 78: ...y result from its use No license is granted by implication or otherwise under anq patent or patent rights of The i1ICROENGINE Company The MICROENGINE Company reserves the right to change product speci...

Page 79: ...of the system Section 3 deals with Pascal programming considerations necessary to function within the system Section 4 describes the utilities available Appendices are for quick reference capability...

Page 80: ......

Page 81: ...a g G n 19 Yet Another Line Oriented Editor YALOE 6_ 1I 22 2 5 1 2 5 2 2 5 3 2 5 4 2 5 5 F Prompt Line Commands 3 J Prompt Line Commands 39 Compiler R n 43 Compiler Option Syntax 45 Compiler Options...

Page 82: ...ascal to Pascal Linkages Pasca 1 Enhilncements 80 3 4 1 Long Integers d Rall It all II 7 i UCSO 3 6 1 3 6 2 3 6 3 3 6 4 3 6 5 3 6 6 3 6 7 3 6 8 3 6 9 3 6 10 3 6 11 3 6 12 3 6 13 3 6 14 3 6 15 3 6 16 3...

Page 83: ...9 Example of Delete Command 10 Example of Exchange s D n M 12 Example of Replace G A a 15 Example of Mal 9ina a a 4 __ P Dh 16 Examples of Moving Commands 28 Examples of Text Changing Commands 29 Exam...

Page 84: ......

Page 85: ...console o File Handler o Pascal Compiler o Basic Compiler o Linker o Debugger Basic to the design of the system is the work file which is an area used for program development Only one work file area i...

Page 86: ......

Page 87: ...aced in program text Link Links the system library to translated program Execute Executes compiled and linked programs Debu 9 Interactive program which aids in debugging executing program The UCSD Pas...

Page 88: ...ti Ii ties These inc lude the desk ca lculatorI the patch dump uti lityl the terlTiina 1 configuration setup progl am and a bootstrap mover 2 2 OUTER LEVEL COMMANDS The prompt line for the outer level...

Page 89: ...the H Ie requested exists it is executed Otherwise the message IIcan t find filell is returned Note Thf II CODEII suffix on such a fi Ie is imp lieit and does not need to be entered If the code file i...

Page 90: ...appears for ease of display and the one immediately preceding This is IROSt learly noticed in the I nsrt command Illhich inserts in front of the charac ti r at which the cursor is located n the Edito...

Page 91: ...d down arrow commands When the cursor is outside the text the Editor treats the CU1 sor as though it were immediately after the last character or before the first in the line The moving commands that...

Page 92: ...esm the beginnin9 of the file and that absolLlte osition the beginning location is altered and 1S no longer correct for an EQUALS cOlBJlland 2N4 2 TEXT CHANGING COMMANDS The commands described below c...

Page 93: ...e right margin by automatica lly inserting a return between words whenever the right margin would have been exceeded The Editor considers anything bet l leen two spaces or between a space and a hyphen...

Page 94: ...second occurrence of to Enter a 0 followed by typing 5 space kl yS and a etx key This will re ult in the Pollowing text This sentence of the t exi is to remain the same Thi sentence is modified by th...

Page 95: ...so that a given portion of a file can be copied On completion of the COpy from file ttH cursor returns to the beginning of the tex t iust copied from the file Use of COpy does not alter the contents...

Page 96: ...tl lping past the end of the line or typing in il carriagE return This is the tc xt before exchanging PROGRAl1 EXCHAHGL BEGIN WRITEUH THIS TEXT IS FINE WRJTELN THIS TEXl IS NOTFINE END P05ition the cu...

Page 97: ...dden by typing ilL or T TOKEN ignores sparer within strin 9s so that both and are considered to be the same string_ 5 1 0 use the same string as used previously typP 8 For example typing lIRS an y shi...

Page 98: ...es R is entered If d slash J is used as the repeat factor J every occurre nc e of the target stT in9 ud 11 be rep laced If the Editor cannot find the target string the enol message appears ERROR Patte...

Page 99: ...down arrow commands to ad just the line above or below respectively by the same amount Repeat factors can be used before any of the arrows L and R are used to left and right justify lines to margins s...

Page 100: ...iroJlment Figure 2 6 Examp Ie of MaT gin For purposes of formatting a paragraph is defined as the lines of text occurring bHtween two blank lines To MARGIN a paragraph 1II0lle the cursor anywhere in t...

Page 101: ...ker ovflw Which one to replace 0 naRie 1 name2 9 namel0 at any occurs one the Choose a number 0 through 9 type that number and now that space will be available for setting the desired mar ker Once mar...

Page 102: ...digits and a space When Filling is Tl ue the margi ns set here are the ones that affect INSERT and MARGIN and the center and justify commands in AD JUST C ommand ch Set b l typing e followed by any ch...

Page 103: ...ut file cr to return The modified Pi Ie may be If it is an existing file replace it The command return instead of d file the Editor After the disk the prompt will be written to any file name the modif...

Page 104: ...is an examp Ie of the extra infol mation given Illhen a new file is cl eated Writing_ Il The workfile Il F1 TEXT is 73 blocks long The backup flIp is X FL BACJ The newly edited file is TEXT and the o...

Page 105: ...n The L2 Editor contains two new commands BANISH and NEXT They are described be low Bf NISH BANISH is entered by typin 9 B The following prClmpt line will app ar Banish To the L eft or R ight esc BAN...

Page 106: ...the l u s age No IOOrkfile read in The Editor operates in either Command Mode or Text Mode The Editor is in Command Mode when entered In Command Mode all keyboard input is assumed to be commands Each...

Page 107: ...mmands the specifications are The command arguments useti by YALOI n Any integer signed or unsigned Unsi 9oed integers are assumed to be positive In a command that accepts an argument the absence of o...

Page 108: ...vious prompt are ignored A character delete is confined to one line cmL 0 CTRL 0 causes the Editor to switch to the optional character set bit 7 turnE d on This applies only to the TERAK 8510f NOTE If...

Page 109: ...ite followed by the file title format loJ Fi Ie titIe by typing loJ for in the follouJing READ The file title is any legal file title described in Section 3 2 except that the file type is not given Th...

Page 110: ...ed to wl ite out SYSTEM WRK TEXT follol1led by GE to exit fl om the Editor GR is used to return to the Editor after a Gil has been t Jped accidenta lly ERA E The ERASE command is speci Pied by typing...

Page 111: ...r forward or backward and is not restricted to just the current Iinee ADVANCE The ADVANCE command is specified by typing A FOY A dvance ADVANCE moves the cursor a specified number of lines The cursor...

Page 112: ...the beginning if n is negative Text Changing Commands The text changing commands add to remove or change the text described below Examples are given in Figure 2 8 INSERT The INSERT command is specifie...

Page 113: ...gure 2 8_ EXAMPLES OF TEXT CHANGING COMMANDS DELElE The DELETE command is specified by typing liD for D elete_ DELETE removes a specified number of characters from the text buffer starting with t he p...

Page 114: ...ioned before the inserted text If the tex t buffet does not have enough room for the contents of the save buffer the Editor will generate a IIlessage to this effect and and not execute the unsaVE The...

Page 115: ...o number to be executed If m is omittedl 1 is assumed Because m is technically a command text stringl the N command must be terminated by esc echoed as Attempts to execute undefined macros result in t...

Page 116: ...9u CHANGE and TRANSFER wi 11 take file naRles in pairs until one or none remain In this case if only one name remains the File Handler will prompt for the second name If an error is detE cted in the l...

Page 117: ...information necessary for execution Ansu tering a Yes No question on a prompt line with any character other than I constitutes a No answer Typing an esc will return control to the Outer Level of comma...

Page 118: ...If the file specification includes the volume ID the File Handler assumes that the work file is to be saved on another file In that case a colon i assumed to separate the file name from the volume na...

Page 119: ...tional subset specifying stringsl which may be empty If the latter are used1 one of the wildcard characters is required A string Le the full fi Ie name i nc luding TEXT may not be used as part of the...

Page 120: ...s with the following prompt Change what file This command requires tIIo j ile specifications t he file to be changedl and the new name The first is separated from the second b J either a ret or a comm...

Page 121: ...ination diskJ as follows Put in destination volume Type space to continue After the transfer has taken placeJ the File Handler notifies the LIse as follows source vol file transferred to destination v...

Page 122: ...ay A better way of handling vollJme to volume transfers is by specifying only the source and destination volume IDs Transferring from one block structured volume to another causes the destinatioll vol...

Page 123: ...s specified by typin 9 B for B ad blocks BAD BLOCKS scans the disk and detects bad blocks When B is typedl the File Handler responds with the following prompt line Bad blocks scan of what volume The u...

Page 124: ...ping Until this task has been completed do not touch the disk reset switch or dis k drive door tlAJ E The MAKE command is specified by typing M l1 ake MAKE neates CI directory entry with specified Pi...

Page 125: ...m i Volumes on line 1 CONSOLE 2 SYSTERM 3 I i Dt IDI SI 4 PRINTER Pr0fix is ONDIS The asterisk I i denotes the system or boot disk volume This is the default volume unless the prefix has been changed...

Page 126: ...may contain garbage Fixing a block mf dnS that the block is ead written out to the block and read c3g lin If th two reads are the same the messt3 gp MIJ be ok 3pp lies If the reads are different the...

Page 127: ...ge new volume name zeroed A N answer to the new volume name question and to the questions IIdestroy vo lume namell ilnd IIdup lic atc directory returns the user to the outer level of thp File Handler...

Page 128: ...SE the display is suppressed see Section 4 1 An e xample of the output to the opi rator s console is shown in Figure 2 11 The identifiers appeanng on the crE en are the same as those in the program Th...

Page 129: ...Appendix B 2 All error numbers wi 11 be accompanied by a text messa ge of explanation on entry to the Editor if the file SYSTEM SYNTAX i s wa ilab Ie 2 7 1 Compiler Option Syntax The Compiler may be i...

Page 130: ...file into the compilaton at that poi nt When followed by or _ the default value is 1 The effects of the signs are I f Generate code afteT each I O statement to ee if the I O wasaccump lished successfu...

Page 131: ...tains another inc lude comment a fata I syntax errm wi 11 be generated The include comment is useful for compiling very large programs in smaller more easily managed segmentsa The L option tells the C...

Page 132: ...ompiler If RANGECHECK is TT ue the Compiler will output ad litional code to check on array subscripts and the asslgnments to variables of ubrange types Th default va lue is R The effect of the signs i...

Page 133: ...MPILER The Basic Compiler has been written in the Pascal lan9uage It is invoked the same as the Pasca 1 Compiler as a result of the C ompile or IHun command given when at the Outer Level of commands f...

Page 134: ...e x is in radians INTRINSIC STRING FUNCTIONS CAT sl s2 Retw ns a tring which is equal to the concatenation of all the st ings in the parameter list COP s1 x y OEUi sL x y INS sl s2 x LEN sl POS sl s2...

Page 135: ...range 0 ttl 16 For best results use on ly at the beginning of a pr ogl am TEXT must be appended to the 1 i Ie name for the fi 1 to be edited by either of the system editors fhese functions return IOR...

Page 136: ...sic o For loops var expl is done before exp2 or exp3 are evaluated o Continuation of stat ements is allowed Any line not beginnin9 with a line number is assumed to be a continuation o All parameter fu...

Page 137: ...ed is not the wOl k fi Ie o The external routine to be linked reside tn library fi les other han SYSTEM LIBRARY When L is typed the Linker respoTld with the following prompt Host file The host fi Ie i...

Page 138: ...d Proc iden l ifier undefined Func identifier undefined Global identifier undefined Public identifier undefined When typing R for R un if the program in the work file contains EXfERNAL dec larations o...

Page 139: ...a series of variable length J ecords one for each UNIT routine or variable that is referenced in but is external to the source The first e ght words of each record contain UENTRY RECORD NAME AlPHA CAS...

Page 140: ...owever these options can be turned on and off as needed so that they can be activated for troublesome pieces of code only if desired A sample program to be debugged is shown in Figure 2 12 In the comp...

Page 141: ...time error OCCLlrs C rawl puts the program into the CRAWL mode to execute one statement at a time waiting for input from the user betwE en steps W alk puts the program into WALK mode to execute the pr...

Page 142: ...tering a number between 0 and 9 gives the number of links to move up or down the dynamic or static chain The direction is determined by the first character of the EXAMINE prompt line A forlllard arrow...

Page 143: ...s LINK Typing L specifies th l ink command to toggle the oEFAULTLINK from DYNAMIC to STATIC and vice versa DATA Typing 0 specifies the o ata command to examine the data and parameter segment o P a pro...

Page 144: ...specified in the same way as for the DATA command offset is 0 not 1 ror eXamlnln o Parameters are but the fi rst UPDAlE CRll U Typing H specifies the H eap command that displays a portion of memory s...

Page 145: ...resumes nOJ ma 1 execution of the pro9ra where the Debug Qer was invoked ESCAPE Typing esc sped fie E scape return to the Outer Level of commands CARRIAGE RETURN Typing cr specifies a carriage return...

Page 146: ...kets on the line below Within each subsection functions and procedures are given in alphabetic order The following terms are used in the explanation of the Intrinsics ARRAY BLOCK BLOCKS BLOCKNUMBER BO...

Page 147: ...e to be a string in intrinsics that deal with packed arrays of characters it may be eithf r A Uiord of caution about using STRINGs in illtrinsics that expect character anays the zeroeth element of the...

Page 148: ...be zero If the lENGl H passed was negi ltive the number returned wi 11 be ne 9ative and the function ut i ll have scanned backward The PARTIAL EXPRESSION must be in the followinq format or followed by...

Page 149: ...evice and the file was opened with a REWRITE other llise a normal c lose is done The PURGE option wi 11 delt te the title associated with the FIlEID from the directory The lInit wi 11 go off line if t...

Page 150: ...he fi 11 PROCEDURIE READ LN FILEID SOURCE PROCEDURIE WRITE LN FILEID SOURCE These procedures may be used only on TEXT FILE Of CHAR or INTERACTIVE fi les for I O The three types of INTERACTIVE fi 11 5...

Page 151: ...to be held in th window and associated buffers FUNCTION UNITBUSY WNITNUMBER BOOLEf N This function retorns a boolean device specHied is waiting f01 an exalllp Ie value If the valup is IT ue the liD t...

Page 152: ...aIter strings Moves and single character assignments do not affect the length of a string which means that the proS rammer must do range checking The individual elempots of STRING are of CHAR type an...

Page 153: ...NSIC j pattern EXA j 1 POS patt ern tHxt WRHELN 1 first ABCDE j second FGHIJ j third CONCAHfiJ st second j WRITELN third j start HERE IS I STRING OF CHARACTERS get COPY start POS c start 10 j WRITELN...

Page 154: ...a terminal For systems other than Datamedia or lerak 8510a a new GOTOXY must be bound in see Section 4 10 PROCEDURE HALT This procedure generates a HALT opcode that causes a non fatal runtime error to...

Page 155: ...lf One Terak screen image A physically danaged area of disk The text fi Ie is composed of 1024 byte Jlages where a pagp is defined a DLEJrindentJ textJ CRJrDLEJ indentJrtextJ CRJ nulls Data Link Escap...

Page 156: ...those fi les that protect a user from using a phy ica 11y bad block of disk They are marked bad by the File Handler aftl T a bad block scali has been done and the bad blocks have been examined see Sec...

Page 157: ...Pc3ge 74...

Page 158: ...the characters 11 1 1 I I or 1 11 Lower case letters will be translated to upper case Blanks and non printing characters will be l emovt d Legal characters are the a lphanumberics and the specia 1 cha...

Page 159: ...a seQment because they are one time on iy procedures the dec laratioll mi 9ht be Sf GMENl PROCEDURE INITIALIZE B GJN Pascal cod n END rhe Linker prOQT am thdt can link epar atell l compi led SEGMENTs...

Page 160: ...ilar to forward declarations thereflore when the corresponding routines ar e defined in the II llJl EI IENTAnD 4 part f01 mal parameter specifications are not repeated A lINIT may USE another UNIT as...

Page 161: ...pi lin 9 a host prCl 9ram that uses a UNIT that is storeft in a libraq l the user must link that UNIT into the host program by execlJting ttl Linker If a user calls R un and an unlinked code file has...

Page 162: ...c expression statements INTEGER expressions are implicitly converted as required upon assignment to or arithmetic operations with a LONG INTEGER However the reverse is not true The LONG INTEGER probab...

Page 163: ...Pascal differs from StandaT d Pascal as well as specia 1 enhancements offered by ULSI Pasca L The Standard Pascal l efened to hen IS dE fined in PASCAL USER MANIJf L AND REPORT 2nd edition b J I athle...

Page 164: ...ot implemented HOlllever it can be approximated by a combined use of the intrinsics MARK Clnd RELEASE Storage is allocated for variables by the standard pr ocedu I e NEW in c sti lck like structure ca...

Page 165: ...n 9 a When a user pro4ram startt execution the system nutomatir i llll J pflrfm ms a RESE on the predeclared files INPUT OUTPUT and KEYBOARD The default fi Ie for EOF and EDLH is INPIIT EOLN F EOLN F...

Page 166: ...lilli thus requiring that the function IORESULT and the number of blocks t ansferred will be checked after each BLOCKREAD or BLOCK WRITE to detect any 1 0 errors An example of a program that uses unt...

Page 167: ...ive descent UCSD Pascal Compiler contains an example of the EXIT statement bein5J used in this way However the lise If this statement is discouraged NOTE The use of an EXIT statement to exit a functio...

Page 168: ...or e amp Ie f RRAYro 9J UF CHI R PACKED ARRAYrO 9J OF CHAR The array in the first dec laration wi 11 OCCUPIJ ten 16 bit words of memorYI uJith Clch element occupying one llIord The arl ay in the secon...

Page 169: ...or CHAR 1 10 pack in Q is dOJH if tIH arra4 cannot be expressed in a field of eight bits No p cking OCeLlI S acro s word boundal 1es If the typf of elf trtent to be packed reQUlres a number of bits t...

Page 170: ...does NOT support the use o f procedures and funr bons as forma 1 parameters in the par meter list of a procedure or func tion 306 10 Program Headings A list of file parameters may follolll the file id...

Page 171: ...t to HIPUT For example the follol1linq two statements are equivalent to RE INPUTI CH READ KEYBOARD CH j II HE otn Plf I em RESET n In Standard Pascd 1 the proceduT e RESE f resets the file luindow to...

Page 172: ...Tll SET1 0 5 10 SET2 flO 20 JO IF SET1 5ET2 THEN IJRITELN THEY ARE EGUAL ELSE WRITELN THEY ARE NOT EGUAL END tlSETSTll Sets of dif Perent underlying types cannot be compared PROGRAM SETCOrlP TYPE INGR...

Page 173: ...string variable In readin 9 string variables the single statement READLN Sl S2 is equivalent to the two statement sequence READ Sl i RFADLN S2 WRITE and lJRHELN The procedures WRITE and lJRITELN follo...

Page 174: ...ailable to the user procedures the Pascal and functions is 16 of system and seven are 5 Maximum number of proceduY es or functions within a segment is 12 3 6 19 Extended Comparisons UCSD Pascal permit...

Page 175: ......

Page 176: ...am is self teachin g Typing explanation of what the other commands do disk the following message will appear no file setup CODE H for H El P uti 11 produce an If the SETUP pJ o 9J am is not on the SET...

Page 177: ...erminals require a delay after certain cursor movements to enable the terminal to complete the movement before the next character is sent 4 1 3 Control Key Information Some keyboards generate two code...

Page 178: ...even though the output is not displayed The suggested setting is something that is dHficult to hit accidenta lly KEY FOR STOP This is the console output stop character When preseed output to the file...

Page 179: ...st be set to TRUE for each two character i lJllction BACKSPACE This character causes the ursor to move one space to the Ie Ft ERASE LINE This character causes the erasure of all characters on the line...

Page 180: ...licate directory They are described below COPYDUPDIR This program copies the duplicate directory into the primary directory location It is entered by typing X for eX ecute whi Ie in the Outer Level of...

Page 181: ...9 10 Codefile 4 4 LIBRARIAN The librarian allows the user to link separately compiled Pascal units and separately assemb led subroutines into a library fi Ie The librarian is entered by typing X for e...

Page 182: ...Level of commands followed by LIBI1AP The prog1 am will return with a prompt asking for a libra1 y file name An asterisk will indicate IfSYSTEM LIBRARY The II CODEII suffix may be suppressed when req...

Page 183: ...e 0 of a machine luord is the most significant bytp of the word The next prompt is for an output fi Ie for the di sasseillb led output Beeause the output file has not been defined by type either CONSO...

Page 184: ...1 0 3 4 1 1 0 3 VAR J I INTEGER 5 1 1 0 5 BUF ARRAYrO 6J OF INTEGER 6 1 1 0 12 7 1 1 0 0 BEGIN a 1 1 1 0 d 4 9 1 1 1 5 I J li 10 1 1 1 10 BUFfJ 200 11 1 1 0 22 END_ Sample Pascal Program Sample Progra...

Page 185: ...er The last prompt of the program asks for the nallle of the file to which these statistics should be dumped 4 7 PATCH DlIMP The patch dump program is entered by typing X Outel level of commands follo...

Page 186: ...ter changes the character at the location of the cursor only if one or more of the data positions is changed The S tuff command displays the prompt line Stuff for how many bytes Enter a numbel from 0...

Page 187: ...Ie space when True double spaces all output The default is none Note that the patchwrite mode remembers its parameters across sessions I emai ning in the patch dump program Patchwrite paginates its ou...

Page 188: ...OT the expression wi 11 be re iected The uparrow is used for exp mentiation The answer is calculated by usin IJ e l Y LN X Therefore thf operand mU t be positive or the expression wi t l be li e ip c...

Page 189: ...GOTOXY TEXT that is on the release disk with the Screen Oriented Editor This fi Ie contains a few procedures for doing GOlOXY cursor addressing on several types of video terminals If the procedul e n...

Page 190: ...lly called followed by the Linker if necessary before execution Appendix A 2 SCREEN ORIENTED EDITOR down arrow up arrOUl right arrow left anow spi ce back space tab return II II II II _It I II 11 II 1...

Page 191: ...ou may U pdate EJxit W rite or etuJ Jl R eplace Operates in Uiteral or T ol en mode Replaces the targ string lu i th the subs strin g_ J I rify option asks you to verify before it replaces S option U5...

Page 192: ...rts The default is whatever fills the screen Type tIl tUI n off P invalid Q Quit this session followed by U pdate WI ite out a new SYSTErl WRK nxr E scape Escape fr om session R etul n Return to edito...

Page 193: ...Ie to the speci Pied destination volume directories are not changed automatica lly Lists the volumes cU rrently on line along with their corresponding device numbers JdentHi I E the fi Ie name and st...

Page 194: ...s SOl or statement handler is in main memory at one time freeing about 2500 words for symbol tab Ie stoy age Default is I_I no swapping Affects the boolean variable SYSCOMr to determine if the compila...

Page 195: ...ter sf gments of i l procedure Clars the memor y dlsplay bufff r 00 the scrt ell Displays the portion c f memory specifif d by the octal address and l lI l t h Toggles the default Ii nk from dynamic t...

Page 196: ...Divide by zero XDIVZER 7 Invalid memory reference bus timed out XB DMEm B User Break XUBREAIO 9 System I O error XSYlOER FATAL 10 User I O error XUIOERR 11 Unimplemented instruction XNOTlMP 12 Floatin...

Page 197: ...OOWNTO expected in for statement 5 IF expected 57 FILE expected 58 Error in factor bad expres iun 59 Error in variable 101 Identifier declared twice 102 Low bound exceeds high bound 103 Identifier is...

Page 198: ...dex type is not compatible with the declaration 140 Type of variable is not record 141 Type of variable must be file or pointer 142 Illegal parameter solution 143 Illegal type of loop control variable...

Page 199: ...in 9 constant must not exceed source line 203 Integer constant exceeds rangE 20 1 8 or 9 i Tl DC ta 1 number 250 Too many scopes of nested identifiers 251 Too many nested procedures or flJnctions 252...

Page 200: ...me on line 10 No file No such file on volume 11 Dup lieate filf 12 Not closed attempt to open an open Pi Ie 13 Not open attempt to access a closed file 14 Bad format error in reading real or integer 1...

Page 201: ...Address Pushes the word Address of the constant with offset B in constant word block Local One Word Loads and Store SLOLl 16 U L LLA 5TL 32 47 135 132 164 El B B Short Load Local Word SLDLX fetches t...

Page 202: ...s to traverse to find the activation record to use e is the offset within the activation record Load Intermediate Address Store Intermediate Word Indirect One Word Loads and Store S10 196 Store Indire...

Page 203: ...ocka Transfer the b lock from the source to the destination Short Indp x and Load Word SJNDX indexes the word pointer Tos by X words and pushes the wod pointed to by the result INC IXA IXP 230 231 215...

Page 204: ...re Unsigned Word Compare unsigned word of Tos 1 t o unsigned word of Tos and push trun or false Compare Unsigned Word Compa e unsigned word of Tos 1 to unsigned word of Tos and push true or false Abso...

Page 205: ...h true Of fa h f Rea Is All Over Underflows Cause a RiJn Time Error FLT TNC RND ADR NGR SBR t1PR UlIP2 UVR EGUREAL 204 190 191 227 192 228 193 194 198 195 205 float fop oP 5tack The intf ger Tos is co...

Page 206: ...et and its length word is discarded Build Subrange Se t The inte gers Tos and Tos 1 are checked to insure that 0 Tos 4079 and 0 T05 1 4079 a run time errOl occuring if not The set fTos l TosJ is pushe...

Page 207: ...rds If Tos the actual index i in the range of lJl lJ2 then Jump to location with offset W3 from cunent location lJhere W3 is the content of the wore pointed by Tos in the case tahle Procedure and Func...

Page 208: ...R 150 153 222 223 157 209 a DB Return From User Procedllre Static 1 link if discarded tiP is reset from MSDYN IPC is also reset from MSIPC If segment number is not zero segment pointer is set f rom se...

Page 209: ...BPl RBP 11iE ce11aneOlJ5 NOP 158 159 156 189 BJ eak POl nt Return From Breakpoint No Operation Swap Top of Stack with Next to Top of Stack Pape 126...

Page 210: ...Inva lid structu1 19 Extra special symbol 20 Branch too far 21 Val iable not PC relative 22 Illegal macro parameter index 23 No 1 enough macro paramet ers 24 Operand not absolute 25 Illegal use of spe...

Page 211: ...e no longel in directory 53 Bad title illegal file name 54 No room insufficient space 55 No unit no such volLlllln on line 56 No file no suc h filp on yolumn 57 Duplicate file 58 No closed attempt to...

Page 212: ...7 115 40 M 109 155 60 III 14 016 OE SO 46 056 2E 78 116 4E N 110 156 6E 1l 15 017 OF SI 47 057 2F 79 117 4F l 11J 157 6F 0 16 020 10 OLE 48 060 30 0 80 120 SO P 112 160 70 P 17 021 11 OCl 49 061 31 1...

Page 213: ...Pag 130...

Page 214: ...APPENDIX C UCSD PASCAL SYNTAX DIAGRAMS Appendix C UCSD Pascal Syntax Diagrams Page 131...

Page 215: ...n_ expression _ _ NOT factor function Identifier UNSIGNED CONSTANT UNSIGNED NUMBER CONSTANT _ _ n I __ r I c nstan den d l y __ LOJ 41 uns gned constant I r J Q t c Ch o TERM SIMPLE TYPE SIMPLE EXPRES...

Page 216: ...PASCAL SYNTAX DIAGRAMS STATEMENT J statement r J ____________ u n S ig ne d in te g e r 1 1 ______________ I _ J BLOCK COMPILATION DASHED LINES 1 1 ARE NOT INCLUDED SHADED AREAS REPRESENT UCSD EXTENS...

Page 217: ......

Page 218: ...by a breakpoint inserted by the Compiler to interrupt the pr can be checked before continuin 9 to completi8fu BOOLEAN VARIABLE A variable result BOOTSTRAP A routine whose first instructions of the ro...

Page 219: ...Basci into machine code COHFJ GURATION A particular selt ction of hardware devices or software routines or programs that function t0getl er CONSOLE The termina 1 that acts as the primary inter face b...

Page 220: ...numbers in positional notation using 16 as a base HIGH LEVEL LANGUAGE A problem oriented language rather that a machine oriented onen INITIALIZE Setting a11 hardware and software controls to starting...

Page 221: ...maclline languCl ql codE OB CT PROGRAM The source language pro 9ram aFter it has beell transl ted i nt machine langua 910 out put of the Campi Iel ON l JNt Equipment and devices directly connected to...

Page 222: ...dentify elements of an al l r I j S14APPING Copying areas of memory to mass torage and bad in Drder to use the memory for two or mol pl rpl j e5 UTILITY Any genera I purpose progJ am inc luded in an o...

Page 223: ...3128 REDHILL AVENUE BOX 2180 NEWPORT BEACH CA 92663 714 557 3550 TWX 910 595 1139 PRINTED IN USA...

Reviews: