UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Vacuum deposited optical phase filters Graf, Stephen 1976-02-09

You don't seem to have a PDF reader installed, try download the pdf

Item Metadata

Download

Media
831-UBC_1976_A7 G73.pdf [ 7.58MB ]
Metadata
JSON: 831-1.0065572.json
JSON-LD: 831-1.0065572-ld.json
RDF/XML (Pretty): 831-1.0065572-rdf.xml
RDF/JSON: 831-1.0065572-rdf.json
Turtle: 831-1.0065572-turtle.txt
N-Triples: 831-1.0065572-rdf-ntriples.txt
Original Record: 831-1.0065572-source.json
Full Text
831-1.0065572-fulltext.txt
Citation
831-1.0065572.ris

Full Text

VACUUM DEPOSITED OPTICAL PHASE FILTERS by Stephen Graf •B.A.'Sc, University of Toronto, 1970 Thesis Submitted In Partial Fulfilment Of The Requirements For The Degree Of Master Of Applied Science in the Department of Electrical Engineering We accept this thesis as conforming to the required standard The University of British Columbia April, 1976 (a) Stephen Graf, 1976 In presenting this thesis in partial fulfilment of the requirements for an advanced degree at the University of British Columbia, I agree that the Library shall make it freely available for reference and study. I further agree that permission for extensive copying of this thesis for scholarly purposes may be granted by the Head of my Department or by his representatives. It is understood that copying or publication of this thesis for financial gain shall not be allowed without my written permission. Department of The University of British Columbia 2075 Wesbrook Place Vancouver, Canada V6T 1W5 Date So /pi ABSTRACT The advantages of an optical spatial phase filter constructed by thickness variations are put forward and a method of fabricating such a device using vacuum deposition techniques is detailed. The design and construction of a vacuum system to produce such a device is outlined. The system comprises a vacuum chamber with a source holder for zinc sulfide, an electronically controlled shutter, an aperture, and a substrate and holder mounted on an x-y motion table driven by stepper motors. The system is controlled by a mini computer and measurements of thickness are made by an ellipsometer controlled by the minicomputer. Experiments conducted with the system determine the spatial resolution and closed loop control capabilities to be adequate. An analysis of the results of the tests concludes that with further refinements it seems feasible to fabricate spatial phase filters by using vacuum deposition techniques. - ii -CONTENTS Page Abstract i Table of Contents ii List of Tables iiList of Figures iv Acknowledgement v Introduction 1 Chapter I - Background 4 Chapter II - Hardware and Software 12 Chapter III - Results and Conclusions 32 References and Bibliography 46 Appendix I - A program to Calculate Phase Changes Produced by Varying Thickness 47 Appendix II - A Program to Calculate Fourier Transform Twice 53 Appendix III - Listing of the Software Written for the PDP-8e. 56 LIST OF TABLES Device 33 of Computer Interface Scan of Aluminum Coated Substrate - iv -LIST OF FIGURES Page 1. Transmission and Reflection Optical Systems 5 2. Angle of Incidence 6 3. Spatial Fourier Transform Example 10 4. Vacuum Chamber Details 13 5. Ellipsometer Schematic 6 6. Flowchart of Subroutine BAL 24 7. Analyzer Scan of Squares 1-3 35 8. Polarizer Scan of Squares 1-3 36 9. Polarizer and Analyzer Scan of Square 4 37 10. Analyzer Scan for Squares Deposited While on Control - 39 11. Polarizer Scan for Squares Deposited While on Control 40 12. A-V Plot (Experimental) 42 13. &-«pPlot (Calculated) 3 ACKNOWLEDGEMENT The author wishes to express his sincere thanks and gratitude to Professor L. Young for his supervision and for his patience which is above and beyond the call of duty. Special thanks is due to the author's wife, Margaret-Ellen Graf, for her diligent efforts in typing and proofreading. Acknowledgement is also due to Professor B. P. Hildebrand for suggesting the topic, to M. Thewalt for his assistance in carrying it out, and to Mr. J. Stuber of the machine shop in the Department of Electrical Engineering for his excellent work. - 1 -INTRODUCTION This thesis is an investigation of the practicality of producing optical phase filters using vacuum deposition techniques. Consider an optical system consisting of two parallel planes separated by some distance. The electromagnetic field intensity in one plane is a function of the intensity in the other plane. To produce specific intensity functions in one plane from a particular intensity function in the other requires, in general, a complex valued filter to be placed between the two. An example of such a filter is a lens. An ideal lens can be represented mathematically as a 1 multiplicative factor of the form, exp -jc(x2+y2) (1) where c is a constant and x, y are perpendicular reference axes. It is desirable to be able to produce more complicated phase functions than that of the lens. In fact, the correc tions that must be made to a real lens so that it approximates the ideal more closely require a much more complex phase function.2 A simple form of phase filter was used by Tsujiuchi to correct lens aberrations and to produce optical systems with two focii. The filters used were very simple in that they consisted only of a pattern of half wavelength retardations. Approximations were made in the calculations of the filter pattern in order to easily fabricate the devices. - 2 -Recently holographic techniques have been used to pro duce phase filters.4 In the referenced work the authors used an amplitude hologram. Less than ten per cent of the signal power was deflected into the beam that has the desired altered phase.^ The most straightforward method of producing a pattern of phase variation would seem to be the use of a transparent material with a pattern of thickness variation. The material must have an index of refraction different from the trans mission medium so that the speed of light is different in the filter. Thus the thickness variations convert to phase vari ations. With the aid of an index matching layer a phase filter of this type passes all of the available input signal power and is thus a significant improvement over the holographic type of filter. The thickness variation type of phase filter could conceivably be used in many applications in the field of optical information processing and spatial filtering where conventional photographic holograms are now used. Researchers at I.B.M. have produced thickness variation phase filters which they call Kinoforms.^ The devices are constructed by bleaching computer generated photonegatives. Bleaching removes the dark material in the negative, leaving a transparent pattern of thickness. It is pointed out that the ideal way of fabricating such devices would be to produce the thickness directly and not rely on a transformation from - 3 -intensity to phase. In this thesis an investigation is made of a method of fabricating a two dimensional device with thickness varia tions suitable for use as a phase filter in an optical system. Starting with a parallel faced slab or substrate of transparent material, additional material must be added or removed to produce a thickness variation over the surface. Removal of material was not further explored, although developments in laser etching techniques make it look feasible. There are a number of methods of adding material to a sub strate such as vacuum deposition, sputtering and screening. Of these, vacuum deposition seemed to be the most promising technique and was singled out for investigation. Vacuum deposition was chosen for further study for a number of reasons. The technique has been used widely in the field of optics for various purposes such as anti-reflection films and multi-layer frequency selective filters. The materials used in vacuum deposition have been studied and y o Q -] Q are well documented. ' ' ' The following chapters describe the work performed to investigate the feasibility of fabricating phase filters by vacuum deposition techniques. Chapter I is a description of the proposed filter and the method of production. Chapter II describes the hardware designed and constructed, and the software written. Chapter III is a summary of the results and conclusions of the investigation. - 4 -CHAPTER I - BAC KGROUND A dielectric material will cause a phase change of the light transmitted through it in the following way. Consider Figure 1(a). The optical system between the two fixed ref erence planes ZQ and z^ can be considered as a system with a transmission coefficient T. is the Fresnel reflection coefficient from medium i to medium j. The reflection coefficient for perpendicularly polarized light is T = (1+rQ1r12-fr01+r12) _j(9 +Q +Q ) 1+rQ1r12e 2 (2) r. (3) and for parallel polarization r. (4) n^cosfi. + n.cos0? 0± and 0^ are defined in Figure 2. The optical path lengths 9.'s are given by 9i = Xnidicos0i (5) - 5 -no n1 n2 d0 d1 d2 Figure 1(a) no do di Figure 1(b) + ik Transmission and. Reflection Optical Systems - 6 -Figure 2. Angle of Incidence where?!is the wavelength of the light, is the refractive index of the i^1 medium, and d^ is the thickness of the i^1 medium. By varying the thickness d^, the phase change intro duced by the optical system is altered. A similar result can be achieved by using the reflection geometry of Figure 1(b). The optical system between the two planes ZQ and z^ can be characterized by a reflection coefficient R = (1 +rQ1 +F12+rQ1 ^2) (rQ1 +^2e"J291) (g) 1+r01r12e-J291 The computer program in Appendix I was used to calculate the phase changes produced by varying the thickness of the dielectric layer. The arbitrary zero of phase change was chosen to occur when the dielectric layer has zero thickness. Appendix I lists the computed change of phase due to dielec tric thickness. For the transmission geometry, the optical constants used in the equations were chosen for a film of magnesium fluoride on glass in air. For the reflection geometry, the constants used correspond to a film of zinc sulfide on aha aluminum backing in air. These constants were chosen because they represent materials that have been frequently used in the field of optics. A phase filter, being a device which alters the phase of a plane wave as a function of two dimensions, could be - 8 -used in much the same manner as an interference hologram to store information and create images. This property can be demonstrated by utilizing the Fourier transformation property of a lens. A lens displays the two dimensional spatial Fourier transform of the intensity of one of its focal planes in the other focal plane. Thus, if an image is placed in the focal plane of a lens, its Fourier transform would appear in the other focal plane. The Fourier trans form of a real image is in general a complex valued function. The amplitude part of such a function can be easily constructed with a photographic transparency. If a phase filter could be constructed with the appropriate pattern of phase, one should be able to produce an image from the complex valued Fourier transform. Even without the amplitude part of the filter, it should be able to produce a reasonable image. This experiment was simulated numerically by using the Fast Fourier Transform program available on the University of British Columbia I.B.M. 360 computer system. A two dimensional black-white image was digitized and then transformed into the spatial frequency plane. There the individual spatial frequencies were altered by normal izing each amplitude to unity while leaving the phases intact. This simulates the effect of illuminating the phase filter without amplitude compensation with a unit amplitude plane wave. The Fourier transform of the altered transform was then taken. This corresponds to the reconstruction process with a lens. Taking the Fourier transform twice, - 9 -instead, of taking the transform and its inverse, results in the axes being inverted. The program written to demonstrate this effect is listed, in Appendix II. The input to the program is the digitized pattern of Figure 3(a). The intensity function is spread by the'amplitude normalizing. However, the bright areas, as indicated by the pattern of Figure 3(b), still show a reproduction of the original. The results of the computer experiment demonstrate the capabilities of a phase filter. Vacuum deposition requires that the material to be deposited be heated to the vapour state and then condensed on the substrate. To produce a phase filter with vacuum techniques, involves the deposition of a varying thickness dielectric on the surface of a substrate such that the thickness is a function of the position on the surface. This involves controlling the position of deposition and also controlling the thickness of deposition. Position of deposition can be controlled by collimating the vapour from the deposition source into a narrow beam and exposing the substrate only to that beam. The substrate must then be moved about so that the beam covers the entire surface. Use of this method restricts the spatial resolution to the fineness of the beam. An ellipsometer was available to measure the thickness of the deposited layer. The measurements from the ellipsometer could be used to determine the thickness of the layer that was currently being deposited - 10 -*"* ** ** ** ** **************** Original Image **************** ** ** ** ** ** * ** ** Figure 3(a) * ** * ** ** **** * * **** * * Second Transform * * * **** * * * ****. * ** ** Figure 3(b) Spatial Fourier Transform Example - 11 -and thus indicate when the layer was thick enough before proceeding to the next area. The ellipsometer had been previously automated by connecting it to a Digital Equipment Corporation PDP 8-e minicomputer. This computer, was ideally suited to control the positioning of the substrate and to control the thick ness of the deposition at any one point. It would also be simple to communicate the pattern of phase required to a minicomputer since the pattern would, in all probability, be generated by a large computer. To further investigate the feasibility of producing phase filters by vacuum techniques, additional apparatus had to be designed, constructed and tested. The control strategy had also to be designed and implemented. - 12 -CHAPTER II - HARDWARE AND SOFTWARE The technique of vacuum deposition requires a chamber equipped with a pumping system that can maintain pressures lower than 1 x 10 Torr. In this chamber, the source material to be deposited must be heated to a high tempera ture so that it vaporizes. The substrate must be held in proximity to the source so that the vapour condenses on its surface. Figure 4 is a sketch of the vacuum system designed and built to test the feasibility of producing a pattern of varying thickness deposit. The main section of the chamber houses an x-y movement upon which the substrate is mounted. The x-y movement is driven by two stepper motors mounted within the chamber and powered from an electrical feedthrough on the side of the chamber. The rear of the chamber has a connection to the pumping system. The front section of the chamber has angled sides and a barrel shaped nosepiece. The sides, which form a "V" with an interior angle of 140 degrees, are fitted with windows such that a light beam entering the center of one window at right angles would strike the substrate at an angle of incidence of 70 degrees and reflect out the other window. An electromagnetically operated shutter is fitted along the center line of the chamber as close to the point of intersection with the right angles to the windows as possible without interfering with the passage of light from - 13-HI 1 n rn1 3I_JLO_4-:—if 1 i A 5 7 8 1 - electrical feedthrough 2 - vacuum pump connection 3 - x-y motion table and drive motors 4 - optical windows 5 - shutter 6 - substrate holder 7 - collimator 8 - source 9 - high current feedthrough Figure 4. Vacuum Chamber Details - 14 -window to substrate to window. Between the shutter and substrate is a mask with a square aperture. The barrel of the chamber contains the source. The source is a round tantalum tube that is connected to high current electrical feedthroughs at the end of the barrel. The endpiece also contains an electrical feedthrough for the operation of the shutter. The source shutter and mask all lie along the center line of the chamber. Thus, the source is only able to deposit material on that section of the substrate visible to the source through the mask and then, only when the shutter is open. The motion of the x-y movement presents different areas of the substrate to the source. The windows are fitted in such a way that the entire chamber can be placed between the two arms of an ellip-someter. Thus, the thickness of the area being deposited can be monitored in situ. The chamber is constructed of helium-arc welded type 316 stainless steel. The front section separates from the main chamber to allow servicing of the substrate. The two sections are bolted together and sealed with a large "0" ring. The source and feedthroughs are mounted on a flange that is bolted to the front end of the barrel section. The entire chamber is mounted on a large aluminum plate that facilitates locating the unit on the ellipsometer. The pumping system connected to the rear of the main chamber consists of a mechanical rotary pump for roughing from atmospheric pressures and an oil diffusion pump for higher vacuums. This arrangement of pumps is able to adequately maintain a pressure of less than 1 x 10 Torr. The chamber and x-y movement were designed for this experiment. The construction was carried out by Mr. J. Stuber. The ellipsometer used to monitor film thickness had been previously equipped to make measurements under control of a minicomputer. An ellipsometer is a device which measures two optical quantities called A and r1 which are related to the reflection coefficients of an optical system by tanteJA=^£ (7) Rs where Rp is the reflection coefficient for parallel polarized light and R is the reflection coefficient for perpendicular s polarized light. A schematic diagram of the ellipsometer is given in Figure 5. The polarizer and analyzer are polaroids and the quarter wave plate is a Soleil Babinet compensator that introduces a phase change of 90 degrees between the perpendic ular and parallel polarizations of the light beam. The intensity of the light emerging from the analyzer is given by I = IQ sin2(lP+A) - sin2rsin2^-A') (8) A(is defined by - 16 -1 - laser light source 2 - polarizer with shaft encoder and drive motor 3 - sample 4 - quarter wave plate 5 - analyzer with shaft encoder and drive motor 6 - photomultiplier tube light detector Figure 5. Ellipsometer Schematic - 17 -tan A' = sin£tan(2P-~) (9) where S is the retardation of the quarter wave plate, and A is the analyzer setting and P is the polarizer setting. Making a measurement with the ellipsometer, or balancing the ellipsometer, involves determining a combination of po larizer and analyzer settings that produces a null in the light intensity emerging from the analyzer. With the quarter wave plate set at -45° to the plane of incidence, at extinction the relations between & and P, and V and A are: ^ = 90° - 2P 135° > P > -45° (10) V = A 90° > A > 0 and A = 2P - 90° 225° > P > 45° V = 180°- A 180° > A > 90° A detailed list of all combinations of analyser and polarizer settings that produce a null is given by F.L. 12 McCrackin et al. Becaus.e the signal from the photomultiplier falls to insignificant levels near a null, it was not possible to determine the position of the null directly. Fortunately, both I versus A and I versus P characteristics are symmetri cal about the null point. I versus P is symmetrical provided S is close to 90 degrees. Thus, by determining equal inten sities on either side of the minimum, the position of the null can be determined as the midpoint. Both the polarizer and analyzer are driven by stepping - 18 -motors geared so that one step rotates the polaroid by 0.01 degrees. The positions of the polarizer and analyzer are measured by a shaft encoder connected to the drive gearing in each unit. The two encoders are read by a multi plexed decoder to provide a five digit BCD output which ranges from 000.00 degrees to 3'59.99 degrees. The analyzer shaft encoder was mounted in opposition to the scale engraved in the analyzer so that the reading from the encoder must be complimented by 360 degrees to make it compatible. The light intensity monitored by the photomultiplier is read through a multiplexed ten bit analog to digital converter. The ellipsometer had previously been interfaced to a PDP-8e minicomputer. The shaft encoder and photomultiplier were input to the computer and the computer was able to turn the stepper motors on the analyzer and polarizer. The inter face was expanded so that the computer was able to rotate the stepper motors connected to the x-y drive in the vacuum chamber. The shutter was also operated through the computer interface. Operator communication to the system was made via an ASR-33 teletype. The teletype handler program operates the teletype under interrupt control. All input from the key board is put into a buffer until it is used and removed by a program requiring input. All print output is put into another buffer which the teletype handler tries to keep empty by outputting the contents on the printer. Since teletype input and output are performed on an interrupt basis, the - 19 -computer is able to carry out control tasks in the back ground while serving the teletype. A simple operating system was written to allow an operator to initiate control actions from the keyboard. When first started, the operating system initializes flags and counters used throughout the programs in the system. The only other function of the operating system is to check the keyboard buffer for inputs and translate these inputs into control programs to execute. Commands take the form of two truncated ASCII characters. The operating system compares inputs with a table of names it recognizes. If a match is made, the control program in the address table corresponding to the name table is executed. The control programs are all subroutines that return to the operating system when they have completed their task. For this thesis, it was required to operate the ellipso meter and the shutter and x-y drive in the chamber. Also a higher level program was required to coordinate these controls in such a way as to produce a deposit of a required thickness. Two commands that were implemented were "set the polarizer" (SP), and "set the analyzer" (SA). Either command expected a five digit input from the keyboard that represented the position required of the analyzer or polarizer. These two programs first read the shaft encoder to determine the present position of the unit and then output the appropriate number of steps to turn the unit to the required position in the direction that required the - 20 -least motion. The two commands to move the x-direction and y-direction stepper motors on the x-y drive in the chamber were given the names MX and MY respectively. The programs associated with these commands expected inputs from keyboard to indicate direction of movement in the plane and the distance of travel. Direction was indicated by "F" and "R". An "F" meant to the right in the x-direction and up in the y-direction when looking at the chamber from the source end. "R" is the opposite of "F". All four stepper motors, the shaft encoder multiplexer and the shutter switch were connected to device 33 in the computer interface. This device was a set of twelve flip flops, one per bit of the computer word as defined in Table 1. The I0P2 pulse from the computer output the accumulator to set the flip flops. The I0P4 pulse was used to send a pulse to the stepper motors that had their enable bit set. The pulse was steered to the clockwise or counter clockwise input on the stepper motor controllers by the direction bit. Thus, any of the four stepper motors could be moved by first setting its enable and direction bits with an I0P2 pulse and then sending an I0.P4 pulse for each step. Once the gating for a motor had been set, a routine labelled STEP was used to output one step pulse to the motor. The motors used had a resonance at approximately 200 steps per second. To run the motors at a speed above the resonance required that they be accelerated from a stopped position. - 21 -Device 33 of Computer Interface  Bit Position Function 0 Polarizer motor direction 1 Polarizer motor enable 2 Analyzer motor direction 3 Analyzer motor enable 4 Y-axis motor direction 5 Y-axis motor enable 6 X-axis motor direction 7 X-axis motor enable 8 Unused 9 Unused 10 Shutter control 11 Shaft encoder gate Table 1 - 22 -Since timing was generated by software, it was not convenient to run more than one motor at a time. The hardware status of device 33 was stored in a location labelled DIR. Bit 9 of DIR was used for a flag to indicate that acceleration was required. The routine STEP accelerated the motors by shorten ing the time between pulses from a maximum when the flag was first set to a minimum after a certain number of pulses had been sent. At this time the flag was cleared. The output of the multiplexed shaft encoder was connected to device 30 in the interface. The shaft encoder was always set to read the analyzer when the analyzer motor was selected, and the polarizer, when the polarizer motor was selected. The I0P2 pulse was used to strobe the high order two BCD digits into the accumulator and the I0P4 pulse was used to strobe the three low order BCD digits. These numbers were read by a program named RDSFT and were stored in locations SHFTH and SHFTL respectively. The output from the photomultiplier on the ellipsometer was measured by the computer with an analog to digital converter, device 32 in the interface. The program, ANALG, was responsible for reading the analog to digital converter and converting the reading into volts. To take a reading from the ellipsometer requires that the polarizer and analyzer be positioned so that the output from the photomultiplier is a minimum. The suggested procedure is to first balance, that is, find a minimum of, 11 the polarizer. Then the analyzer is balanced. The - 23 -polarizer is again balanced and finally the analyzer is balanced again. This procedure can be commanded from the keyboard with a BE input. The procedure is really a combina tion of the two commands BA and BP which balance the analyzer and polarizer respectively. These two routines set the gating for the appropriate stepper motors and then call upon a common routine called BALU. The routine BAL (see Figure 6) determines the position of a minimum photomultiplier reading by finding equal intensities around a minimum. To avoid noise problems due to low signal levels, the sum of many readings is taken. First a running sum of readings is taken by moving the motor one step, reading the photomultiplier and adding the reading to the sum. The sum is taken over sixty-four steps. A second running sum is taken and compared with the first. If the second sum is larger, the motor is reversed and the routine restarted. Otherwise, the first sum is replaced by the second and the second sum is taken again and again compared with the first. A flag is set to indicate the minimum has not yet been passed. At some point the second sum will be larger than the first indicating that the minimum has been passed. Another set of readings is taken and this sum is saved as the comparison on one side of the minimum. The motor is reversed and run back two sets of readings. The next set of readings is saved, reading by reading, along with the running sum. From here on, every time the motor is stepped, the newest reading is put at the beginning of the - 24 -FLOWCHART OF SUBROUTINE BAL BAL J ENTRY POINT, 1-+BLFLAG SET FLAG TO INDICATE MINIMUM' NOT BEING APPROACHED. STBL ASUM TAKE A GROUP OF READINGS. O^E >OSCT st UM1 INITIALIZE POSITION COUNTER. SAVE FIRST GROUP OF READINGS. BALLP1 FIGURE 6 - 25 -NO 2 ACOMP1 NO ASUM SUM SUM2 YES ACOMPO SUM1 ^SUM2^ YES POS1 4 I BALLP1 TAKE ANOTHER SET OF READINGS. SAVE SECOND SET. IS MINIMUM BEING APPROACHED? COMPARE SUCCESSIVE READINGS TO DETERMINE IF MINIMUM IS STILL BEING APPROACHED. REPLACE FIRST READING WITH SECOND AND ITERATE. - 26 -0* BLFLAG CHANGE DIRECTION OF DRIVE MOTOR. SET FLAG TO INDICATE MINIMUM IS BEING APPROACHED. 2 ACOMP1 YES /^SUM1 ^\ \2 SUM2X CHECK IF STILL APPROACHING MINIMUM. NO P0S2 ASUM TAKE ANOTHER SET OF READINGS TO USE FOR COMPARISON. - 27 -SUM -» SUM1 SAVE COMPARISON SUM OF READINGS. AREV REVERSE DIRECTION OF DRIVE MOTOR. STKL \ MOVE NUMBER OF STEPS 7 IN ONE SET OF AMOVE / • READINGS. (STKL) STKL \ MOVE BACK A SECOND SET OF READINGS, AMOVE ASTORE TAKE A SET OF READINGS AND SAVE EACH READING IN A FIRST-IN-FIRST-OUT STORE. SUM SUM2 SAVE SUM OF ABOVE SET OF READINGS. 28 -3*STKL POSCT . SET POSITION POINTER TO INDICATE DISTANCE MOVED FROM START OF COMPARISON SUM. ACOMP2 SUM1/ HAS EQUAL POSITION ON OPPOSITE SIDE OF MINIMUM BEEN REACHED? NO POS3 POSCT+1 -> POSCT ADVANCE POSITION COUNTER. ARDPTO / TAKE A READING. PUT NEW READING IN STACK AND REMOVE OLDEST READING. 10 - 29 -SUM2+NEW -0LD-*SUM2 UPDATE SET SUM WITH NEW READING. ASTEP AC0MP2 MOVE MOTOR TO NEXT READING AND ITERATE. 11 P0S4 AREV POSCT/2 -> AC REVERSE DRIVE MOTOR DIRECTION. DIVIDE DISTANCE BETWEEN CURRENT POSITION AND COMPARISON. SUM POSITION IN HALF. AMOVE ^ RETURN ^ MOVE TO BALANCE POSITION. RETURN FROM BAL SUBROUTINE. - 30 -buffer and the oldest one is removed. The running sum is also adjusted by adding on the newest reading and subtract ing the oldest. This running sum is compared with the comparison sum and as soon as it is equal to or larger than the comparison sum, the position of the minimum can be determined as the midpoint of the two sums. The motor is reversed and driven to the midpoint. The analyzer and polarizer positions and photomultiplier reading at the bal ance point are printed on the teletype. The shutter in the chamber could be operated from the keyboard with the two commands "open shutter" (OS), and "close shutter" (CS). These commands changed the state of a flip flop on device 33 in the interface. The shutter solenoid was energized by a power transistor driven by the flip flop. Closed loop control of film thickness was accomplished by setting the analyzer and polarizer to the positions at which a balance would occur if the film were the correct thickness. The shutter was then opened until the photo multiplier output dropped to a minimum. The shutter was closed to stop the deposition process. This procedure was commandable from the keyboard and given the name SB, "stop on balance". For noise immunity, the SB program uses sums of readings instead of a single reading of the photo multiplier. A typical sequence of commands that produces a deposit of a specified thickness is the following: - 31 -MX F 001 MY F 001 SA 47.21 SP 325.54 SB The MX and MY commands move the substrate to a desired position and the SA and SP commands move the analyzer and polarizer to the balance position. The SB command finally opens the shutter and closes it when a balance occurs. The distances for the MX and MY commands are in units of the mask aperture width so that adjoining areas can be reached by moving in increments of one. The teletype input program was written so that the paper tape reader on the ASR 33 was enabled if there was room in the input buffer. Thus, the operation of the system could be controlled with commands stored on paper tape. In this way the thickness pattern of the substrate could be generated on a large computer system where it could be converted to analyzer and polarizer settings. The large computer system would then generate an ASCII paper control tape. The physical pattern could then be produced with the hardware described by read ing this tape. - 32 -CHAPTER III - RESULTS AND CONCLUSIONS To test the performance of the equipment, two experi ments were conducted. The first experiment consisted of depositing material to study the deposition process and products. The second experiment was a check of the closed loop control of the system. The substrate used was an optical glass flat, 25 x 25 millimeters. The substrate was coated with a layer of vacuum deposited aluminum to give it a reflecting surface. The substrate was transferred to the x-y movable holder in the vacuum chamber. The chamber was evacuated in prepara tion for deposition of zinc sulfide. Before any depositions were made on the bare aluminum surface of the substrate, the surface was checked for uniformity. This was accomplished by moving the x-y holder so that the ellipsometer could take readings of different areas of the surface. A map of the surface uniformity is given in Table 2. The x-y holder was then set to a corner of the substrate and the evaporation current turned on. The shutter was opened and zinc sulfide allowed to deposit through the aperture onto the substrate. The ellipsometer was used to observe the evaporation process. After a suitable thickness of zinc sulfide had been deposited, the evaporation was halted by closing the shutter. The x-y holder was then moved a distance equal to the width of the aperture, - 33 -• • • 56.85 ' 56.69 56.50 « 55.76 ! ' 46.18 ! 46.18 46.16 | 46.21 | 1 ; 57.03 ' 56.82 56.59 55.85 ! 46.19 ! 46.19 46.15 \ 46.24 | ; 57.41 | 57.30 57.00 56.57 ! 46.17 ! 46.18 46.21 I 46.20 | — -T--. j | 57.76 |- 57.56 .57.42 56.85 1 ! 46.11 ! 46.17 46.10 | 46.27 ! — - T ' 58.88 * 58.64 58.01 ' 57.17 \ 46.03 \ 46.03 \ 46.05 ! 46.08 ] Top - Polarizer Bottom - Analyzer Table 2. Scan of Aluminum Coated Substrate - 34 -1.59 millimeters. The shutter was then again opened to deposit onto an area adjacent to the first. A thickness of zinc sulfide different from the first area was then deposited on the second. The procedure was repeated for a third time to form three adjacent areas of different thicknesses. After the third area, the shutter was closed and the x-y holder moved at right angles a' distance twice the width of the aperture. At this position, a thickness of zinc sulfide was again deposited. The holder was then positioned a little beyond the edge of the last square deposited and an ellipsometer reading was taken. The holder was then moved a small distance, 47 micrometers, towards the square and another reading was taken. This process was repeated until the profile of the entire square was obtained. The holder was then positioned near the area of the three adjacent squares and a similar scan was made along the center line of the three squares. The readings are presented graphically in Figures 7, 8 and 9. The second experiment was performed to determine the capabilities of the control system. For this experiment different areas of the same substrate were used. Suitable values of polarizer and analyzer readings were chosen from the first set of evaporations. These readings were used to produce a control tape for the second experiment. Four areas adjacent to one another were to be evaporated upon. The vacuum system was prepared and evacuated. After the (units of 47 JA m) Figure 7. Analyzer Scan of Squares 1-3 Figure 8. (units of 47JJ m) Polarizer Scan of Squares 1-3 - 37 -Figure 9- Polarizer and Analyzer Scan of Square 4 - 38 -evaporation current was turned on, the control tape was read into the computer and the computer was allowed to control the evaporations and movements of the x-y holder. The photomultiplier reading was observed while the process was taking place. The control system successfully found a null on the first square deposited, halted deposition and went on to the next square. On the second square, the null was very shallow and two shallow nulls were bypassed before manual intervention caused the process to proceed to the third and fourth squares. The control system again successfully detected nulls on these two areas and halted evaporation. After the fourth square, the evaporation current was turned off and the ellipsometer was used to scan the center line of the four squares taking readings at short intervals. The scan is graphically presented in Figures 10 and 11. Finally, the holder was moved to a bare area and with the shutter open, continuous ellipsometer readings were taken. The A-f curve from this data was plotted in Figure 12. Using the average values of polarizer and analyzer readings from Table 2, the optical constants of the aluminum substrate, as viewed through the windows on the chamber, 11 were determined using McCracken's program. Using values for the index of zinc sulfide, the A~f curve for the filter was calculated again using McCracken's program. This curve is presented graphically in Figure 13. The scan of the bare aluminum substrate indicated that Analyzer Figure 10. Analyzer Scan for Squares Deposited While on Control Figure 11. Polarizer Scan for Squares Deposited While on Control - 41 -the surface was uniform;.to an equivalent thickness of 20 angstroms of zinc sulfide as judged from the^-^ curve of Figure 13. The •A and V readings for the aluminum covered substrate, however, do not fit on the calculated curve for zinc sulfide on aluminum. The reason for this is probably that the "bare" aluminum is not really bare but has a coating of aluminum oxide which forms when aluminum is exposed to air. Therefore, the ellipsometer is actually measuring the aluminum and aluminum oxide layer as the substrate. The results of the first experiment indicate mixed con clusions. The ellipsometer scan of the deposited squares point to nonuniform depositions and this was confirmed by visual examination of the substrate. The squares labelled 2 and 4 in Figures 7, 8 and 9 were uneven. The scan does, however, show clearly the definition of the squares. The edges of the square are defined by drastic changes in ellipsometer readings and the center sections are reasonably smooth. The ellipsometer curve drawn from the measurements of the second experiment, Figure 12, differs from the theoretical curve for zinc sulfide on aluminum, Figure 13. Again, the most probable cause for this is the coating of aluminum oxide on the bare substrate. The index of vacuum deposited zinc sulfide films has been discovered to depend on the details of deposition such as rate of deposition, 8 temperature and pressure. These findings could also contri bute to the difference. Figure 12. A-V Plot (Experimental) Figure 13. A-f Plot (Calculated) - 44 -The computer control of thickness was successful to a limited, extent. The actual control mechanism and algorithm performed well. The shutter was automatically closed to stop deposition after just passing the low point of a minimum from the ellipsometer readings. A poor selection process caused values of polarizer and analyzer readings to be chosen as setpoints. The chosen readings did not fall'on the curve of Figure 12. The poor set-points were evidenced by the shallow minimum in the ellipsometer output. The control system stopped deposition when it came as close as possible to the setpoints. During the deposition of the square labelled "D" in Figures 10 and 11, a sharp minimum was observed and as seen from later analysis, the control system came very close to the desired setpoints. The setpoints are shown as dotted straight lines in Figures 10 and 11. The equipment built and experiments made have only tested the feasibility of producing phase filters with vacuum deposition techniques. To produce useful devices, the spatial resolution of the deposition system must be increased by an order of magnitude. This involves smaller apertures and closer tolerances on the positioning mecha nisms. The experiments conducted have shown that the resolution used is attainable. The deposition system must be calibrated and errors introduced by the surface condition of the substrate must be accounted for. During the tests of this thesis, these factors were ignored as only relative - 45 -thickness of deposit was aimed for. The control and measurement systems seem capable of the tasks required of them. Thus, if further tests to calibrate the system were made, absolute thickness variations should be achievable. In summary, a method of fabricating optical phase filters has been investigated. Possible uses of an optical phase filter have been proposed. The hardware to fabricate such a phase filter using vacuum deposition techniques was designed and constructed. Software was written to control production of the phase filters by a digital computer. And finally, the first steps were taken to produce the devices. The difficulties encountered were not fundamental in nature and require only refinements in technique to solve. - 46 -REFERENCES AND BIBLIOGRAPHY 1. Goodman, J.W.: Introduction to Fourier Optics, p. 80, McGraw Hill, New York, 1968. 2. Tsujiuchi, J.: "Correction of Optical Images by Com pensation of Aberrations and by Spatial Frequency Fil tering", Progress in Optics, Volume 2:133 (1963). 3. Ibid, pp. 145-149. 4. Upatnieko, J., A. Vander Lugt and E. Leith: "Correction of Lens Aberrations by Means of Holograms", Journal of  Applied Optics, Volume 5:589 (1966). 5. Ibid, p. 590. 6. Lesem, L.B., P.M. Hirsh, and J.A. Jordan Jr.: IBM Jour nal of Residential Development, Volume 13:150 (1969). 7. McCabe, L., and J. Metals: AIME Transactions, Volume 200:969 (1954).. 8. Rood, J.L.: "Evaporated Zinc Sulfide Films", Journal of  the Optical Society of America, Volume 41:201 (1951). 9. Hall, J.F., and W.F.C. Ferguson: "Optical Properties of Cadmium Sulfide and Zinc Sulfide from 0.6 Micron to 14 Microns", Journal of the Optical Society of America, Volume 45:714 (1955) . 10. Holland, L., and Steckelmacher, W.: Vacuum, Volume 2:346 (1952). 11. McCrackin, F.L.: A Fortran Program for Analysis of  Ellipsometer Measurements, N.B.S. TN479, 1969. 12. McCrackin, F.L., Passaglia, E., Stromberg, R.R., and Steinberg, H.L.: Journal of Research of the National  Bureau of Standards, 67A (1963). - 47 -•APPENDIX I A Program to Calculate Phase Changes Produced .by Varying Thickness - 48 -27 JAN. 76 00: 00 DCO SCRC - FORTRAN COMPILER 1 C 2 C TO CALCULATE REFLECTION COEFFICIENT OF FOLLOWING SYSTEM _3 C : : , . _ 4 C * * */ 5 C * / 6 C * * */ — 7 C » NO * / 8 C * * NI */ 9 c « no * itx 10 C * * Dl */ N2 11C*  */" 12 C * * */ - '. _ 13 C 14 C ZO Zl _15 :£ ; : 16 C 17 COMPLEX CTHETA,CTHET1,CTHET2,DPO,DPI.R01P, R01S. R12P. R12S 13 COMPLEX NO, NI, N2, PHI. Rl. R2. R3. REF. CEXP, CMPLX -19 C 20 C 21 r. INPUT PflRQMFTFRt! n=71-?0 A FIXFD DISTANCE 22 C NO.NI. N2 REFRACTIVE INDICIES 23 C WL WAVELENGTH OF LIGHT 24 C DINC ' INCREMENT AT WHICH TO .CAL REFL COEF 25 C 26 READ(5. 1) NO. NI. N2. D. DINC, WL ?7 1 FORMAT (9F13 O)  28 C 29 C 30 C PRINT OUT CONSTANTS 31 C 32 WRITE(6,2) NO. NI. N2» WL. tt ? FORMAT (1H1/I 1 OX • AHNO = ( . F5 2, 1H. , F5: 2, 1H ) , 34 1 /10X.6HN1 = <, F5. 2, 1H. . F5. 2, 1H), 35 2 /10X.6HN2 = <. F5. 2, 1H, , F5. 2, 1H ), 36 3 //1OX, 12HWAVELENGTH =, F6. O, 9HANGSTROMS, 37 4 ///5X,9HTHICKNESS, 10X, 12HPHASE CHANGE, 38 5 /5X,11H<ANGSTROMS),9X,9H(DEGREES)/) 39 40 C 41 PI-3. 14159265 42 C 43 C INITIALIZE VARIABLES 44 C 45 Dl=Q.  46 CTHFTA=CMPLX(COS(0. ), O. ) 47 C 48 C 49 C CALCULATE FRESENEL COEFFICIENTS 50 C _5J CQ| I RFP' {Mn.N1.CTHFTQ.CTHFT1.ROlP.ROtS) 52 CALL RFFL < N1, N2, CTHET1, CTHET2,R12P,R12S) 53 C 54 C . •.. : 55 C CALCULATE DO 56 C 57 3 DO=D-DI , : : : - 49 -27 JAN. 76 OO: OO DCO SCRC - FORTRAN COMPI L E R 53 C 59 C > 60 C CALCULATE OPTICAL PATH LENGTHS 61 C 62 DP0=2. *DO*PI*NO*CTHETA/WL 63 DP 1 =2. «PI«D1*N1 «CTHET 1 /WL - - •-•— — -—— 64 c 65 c c rft| r' M ATF PPPI PCTTHN COPFFT^TPNT 67 c 68 Rl-1. +R01P+R12P+R01P*R12P 69 R2=R01P+R12P*CEXP<nPl*CMPLX(0. ,-2. )) - r 70 R3=l . +R01P*R12P*CEXP(DP1*CMPLX<0. ,-2. )> 71 REF=<R1*R2/R3>*CEXP(DP0*CMPLX<0. ,-2. )) 7? r. 73 C 74 C CALCULATE PHASE OF REFLECTION COEFFICETNT 75 c . — — 76 ANGLE=ATAN2(AIMAG<REF),REAL<REF)>*180. /PI 77 IF<ANGLE. LT. 0. ) ANGLE=ANGLE+360. 7ft r. 79 C 80 c PRINT RESULTS 81 c - . .. - _ - —,„_._.'-_ ,. 82 WRITE(6.4) DI/ANGLE 83 4 FORMAT<5X, FlO. 0» 8X, F10. 2) SA r. 85 C 86 C INCREMENT DI AND DO CALULATIONS AGAIN 87 C -88 D1=D1+DINC 89 IF(D1. LE. D) GO TO 3 QO r-Ai 1 FXTT 91 END • • • ' - - — • •'— — —•- ; • : •-'- — ' — • ~- - — ~— ; : : —" - 50 -27 JAN. 76 00: 00 DCO SCRC - FORTRAN COMPILER 92 C 93 C A SUBROUTINE TO CALCULATE THE PERPENDICULAR AND PARALLEL FRESNEL \ 94 C RPPI PTTinn) rnFFFTr TFNT^ AT a PO' 'NDARV 95 C 96 C INPUT PARAMETERS 97 C 93 C N1,N2 INDICIES OF REFRACTION ON EITHER SIDE OF BOUNDARY 99 C THETA COSINE OF ANGLE OF INCIDENCE 100 C 101 C 102 C OUTPUT PARAMETERS 103 C ... ... , „. ...J „ „ 104 C PHI COSINE OF ANGLE OF REFRACTION 105 C RP PERPENDICULAR REFLECTION COEFFICIENT 106 c RS PARAI.I Fl RFFI FHTTriN CflFNFF'TPIFNT 107 c 108 c 109 c 110 SUBROUTINE REFL<N1,N2, THETA.PHI, RP, RS> 111 COMPLEX Nl,N2, THETA, RS, RP, CSQRT, SI, SR, PHI 11? c 113 c 114 c CALCULATE SINE OF ANGLE OF INCIDENCE 115 c 116 SI=CSQRT<1. -THETA*THETA) ~. .— 117 c 118 c 119 c USE SNELL'S LAW TO CALCULATE SINE OF ANGLE OF REFRACTANCE 120 c 121 SR=N1»SI/N2 122 c 123 c 124 c CAI CIJI ATF CriRTNP HP OMRI F HF RFFROPTaMHF 125 c 126 •PHI=CSQRT<1. -SR*SR) 127 c 128 c 129 c CALCULATE REFLECTION COEFFICIENTS 130 c 131 RP=(N1*PHI-N2#THETA)/(N1*PHI+N2*THETA) 132 RS= < N1 «THETA-N2*PH I ) / (N1 #THETA+N2*PH I ) 133 c 134 c 135 RETURN -" "' 136 END - 51 -NO = ( i. oo. o. oo> NI = ( 2. 23, 0: 00) N2 = ( 1. 20. -6 90) WAVELENGTH = 6238. ANGSTROMS THICKNESS (ANGSTROMS) PHASE CHANGE (DEGREES) 0. 20; 40: 60. eo. TOO: 356. 70 356. 50 356. 23 -355. 89 355. 46 - — — ____ ~- - - - -•- - — 120. 140. 160. 180. 200. 2.20. 354. 29 353. 52 352: 61 351. 53 350.27 • 'ZAt>— '•—• , —- v. 240. 260. 280. 300. 320. 340. —— 347. 08 345. 10 342 82 340. 21 337. 22 ——333. 81 -• : : •"- ~ "zr 360. 380. 400. 420. 440. — 460. 329. 93 325. 53 320. 57 315. 00 308. 80 *3f)1 OA - •,' . • 480. 500. 520. 540. 560. —'—580. •: x. y*r 294. 44 286. 33 277. 71 268. 71 259. 47 •——^1 • 600 620. 640. 660. 680. TOO: •e->J\J. J~- X 241. IO 232. 32 224. 02 216. 29 209. 19 202. 7g — . . •„;_ ------- -— — r--720. 740. 760. 196. 95 191. 78 187. 18 780. 800. 820. 183. 12 179. 54 ~ :—t 7/-.—Art 840. 860. 880. 173. 65 171. 26 169. 17 : •-—-900. 920. 94TX — 167. 37 165. 81 — 1 f_A—A1——• 960. 163. 33 • ..„.. - 52 980. 162. 35 IOOO. 161. 53 1020. 160. 85 1040. 160. 28 1060. 159. 82 1080. 159. 45 1100. 159. 15 1120. 158. 93 1140. 158. 76 1160. 158. 65 1180. 153. 57 1200. 158. 52 1220. 158. 50 1240. 158. 50 1260. 153. 50 1230. 158. 50 1300. 153. 50 1320. 158. 48 1340. 153. 45 1360. 153. 38 1330. 153. 27 1400. 158. 12 1420. 157. 92 1440. 157. 65 1460. 157. 30 1480. 156.86 1500. 156. 33 1520. 155. 68 1540. 154. 90 1560. 153. 98 1580. 152. 89 1600. 151. 61 1620. 150. 12 1640. 148.39 1660. t4*r39-1680. 144. 09 1700. 141. 46 1720. 133. 44 1740. 135. 00 1760. 131. 08 1780. 126. 65 1800. 121. 65 1820. 116. 04 1840, 109. 79 1860. 102. 39 1880. 95. 34 1900. — 87. 20 1920. 78. 55 1940. 69. 52 1960. 60. 28 1980. 51. 02 2000 41. 93 - 53 -APPENDIX II A Program to Calculate Fourier Transform Twice - 54 -27 JAN. 76 OO: 04 DCO SCRC FORTRAN^ CO M P I L E R 1 C 2 C r—Tr~ C A PROGRAM TO CALCULATE A TWO DIMENSIONAL SPA UAL f-UUKJtK 4 C TRANSFORM, NORMALIZE THE TRANSFORM, AND TAKE THE 5 C TRANSFORM A SECOND TIME. 6 C 7 C .. ' ". S DIMENSION NA(64> , B (64. 64), C (64 >, ND (2 > — 9— —CT3MPCEX~A(64, 64), AAA(64, 64), CMPLX 10 N=64 11 ND(1)=N 12 ND<2)=N ' • • "_~~"~; 13 C 14 C vs— -c —DEFINE- "BRIGHT AREAS BY *, OTHERWISE BLANK. 16 C 17 READ(6,104) BLANK, STAR 18 c - • . • '- • " • - .......... .- j. •- - -~— — 19 C 20 C INPUT A PATTERN (BRIGHT AREA =8) 2T- -c—-22 DO 1 1=1,64 23 READ(5, 101) (NA(J), J=T, N) 24 101 FORMAT (6411 ) " -.25 c 26 c ....... 27 -e -—INITIALIZE FIELD TO 0. 28 c 29 DO 1 J=l, N 30 A(I, J)=CMPLX<0. ,0. ) ....... 31 c 32 c SS- —e—— SET BRIGHT AREAS TO 1.— ! : : : 34 c 35 IF(NA(J). EQ. 8) A(I, J)=CMPLX(1. , 0. ) 36 i CONTINUE 37 c 38 c —• 39-—e—— •—DO FIRST TRANSFORM (EXTERNAL SUBROUTINE) 40 41 CALL F0UR2<A, ND, 2,-1,+1) 42 AM 1=0. 43 c 44 c 1 45-c CHANGE AX€S"FROM -1SO, 180 TO 0, 360 46 c 47 DO 10 1 = 1, N 48 K=I+32 " ••-—. -_ 49 IF(I. GT. 32) K=I-32 50 DO 10 J=l. N -5T- -—L=J+32 52 IF( J. GT. 32) L=J-32 53 X=REAL(A(I, J)) 54 Y=AIMAG(A(I. J)) ... ' 55 Z=SQRT(X*X+Y#Y) 56 IF(7. GT. AMI) AM1=Z v 57 —ro— • AABtKTt:T=A( I, J) - 55 -27 JAN. 76 00: 04 DCO SCRC - FORTRAN COMPILER 58 A2=. 02#AM1 59 DO 50 1=1,N "SO DO 50 J*1,N "— 61 C 62 C 63 C MAKE ALL INTENSITIES"!: * : " ~~~ 64 C 65 X=REAL(AAA(I,J)) -6-6 Y=A I MAP (AAA (I, J) ) 67 Z=SQRT<X*X+Y*Y> 68 IF(Z. EQ. O. ) GO TO 49 69 AAA (I, J) =AAA ( T, J) /Z —— " ' 70 49 IF(Z. LT. A2) AAA(I,J) = 1. 71 50 CONTINUE —72 e ' : 73 C 74 C DO SECOND TRANSFORM. 75 C -76 CALL FOLIR2 ( AAA, ND, 2,-1, +1 ) 77 AMAX=0. ~^TS DO 3 I--1, N 79 DO 3 J=1.N SO A<I,J)=AAA<I.J) 81 C -82 C 83 C DETERMINE PEAK OF INTENSITY 84 C : " ]  85 X=R£AL<A(I,J)) 86 Y=AIMAG(A(I,J) ) 87 B(I,J)=SQRT<X*X*Y*Y) 88 IF(B( 1, J). GT. AMAX) AMAX=B<I,J) 89 3 CONTINUE -^9©- WRITE (6, 103) AMAX 91 103 FORMAT( 1 OX, ElO. 3) 92 C 93 C 94 C SET A LEVEL 95 C —9* AA=. 01*AMAX —^~ 97 104 FORMAT(2A1) 98 DO 4 1 = 1, N 99 DO 5 J=l, N 100 C 101 C -t02—e PRINT PICTURE MARKING ELEMENTS ABOVE LEVEL 103 C 104 C(J)=BLANK 105 IF (B (I, J >. GT. AA ) C (J ) =STAR ^ ~ 106 5 CONTINUE 107 4 WRITE(6, 105) (C(J)»J=1,N) -+Oe *05— FORMAT(2X, 64A1 )— 109 STOP 110 END - 56 -APPENDIX III Listing of the Software Written for the PDP-8e - 57 -837 6 0100 0000 SHF'TH J 0 /VARIABLES 007 7 0 1 0 1 0000 SHFTLJ 0 0100 •0102 0000 DVML, 0 0 1 0 1 0 1 0 3 0000 DVMH, 0 0102 010 4 0000 MSDIGt 0 0103 0 10 5 0000 D.NjiJM VJ> 0 0104 010 6 0000 ASUML. 0 010b 010 7 0000 ASUMHJ 0 010 6 0110 0000 DIR, 0 0107 0111 0 1 00 STKL, 100 0110 0112 7 7 00 STKLC, - 100 0111 0113 0000 SUMH1 > 0 0112 0 114 03 00 SUMH2, 0 0.1..L3 .0.1.1 5 0000 SUML1, 0 0114 0116 00 00 SUML2, 0 0115 0 117 0000 STPC:\1T> 0 0116 0 1 20 1177 STSTX, 1177 0117 0121 0000 AL, 0 0120 0122 0000 AH, 0 0121 0123 0000 3L> 0 0122 0124 0000 BH, 0 0123 0 12 5 0000 UL, 0 0124 0126 0000 CH> 0 0125 0 1 27 000 3 POLCD, 3 012 6 0 1 30 40 1 0 MZCD, 40 10 0127 0131' 0200 M2XCD, 200 01 30 0132 00 40 Kg* CD, 40 0131 0 1 33 0000 U:-:CL, 0 01 32 0 1 34 0000 DECH. 0 r* \ o c r.\ f.\ r.\ fA nIT CTI , Bl JJ U 1 <J J \C> *> C i— » 01 34 0 i 36 0000 DESTH* 0 0135 / 0136 / 01 37 + 200 01 40 / 0141 / 0142 /INTERRUPT SERVICE 01 43 / 0144 0200 3370 • I NTSEH, OCA AC CUM /SAVE AC 0145 0201 7004 RAL 014 6 0202 3371 DC A LINK /SAVE LINK 01 47 0203 7 7 0 1 ACL 0 1 50 0204 3372 DC A MQSAVE /SAVE MQ 0151 020 5 6031 KSF /KEYBOARD? 0152 0206 7 4 10 SKP 01 53 0207 530 2 JMP KK3RD 01 54 02 10 6041 TS F /TELETYPE? 0155 021 1 7 410 SKP 0156 . 02 12 5223 JMP TELTP /IF NEITHER 0157 0213 7 380 EXT I NT, CLA CLL ._• /THEN EXIT 01 60 0214 137 1 TAD LI NK 01 61 021 5 7 1 10 CLL RAR /RESTORE'LINK 31 62 021 6 1 372 TAD L-JQSAVE ' 0 1 63 0217 7 421 MQL /RESTORE MQ 01 64 0220 137 0 TAD AOCUM /RESTORE AC' 01 65 022 1 600 1 ION /TURN INT ON 01 66 0222 5400 JiMP I 0 /RETURN 01 67 / 0170 / 017 1 /TELETYPE SERVICE 0172 / 017 3 0223 1 37 3 TELTP, TAD TELCNT /ARE THERE MORE 0174 0224 7 450 SNA /CHAR TO T/PE - 58 -0175 0225 5244 JMP CTHUP /NO 017 6 022 6 7 0 41 CIA /YES 0177 0227 7 001 IAC 0200 02 30 7041 CIA /DECREMENT CHAR 020 1 0231' 3373 DCA TELCNT /COUNTER 0202 0232 1012 TAD TYPEPT /END OF BUFFER 020 3 02 33 7041 CIA /AREA REACHED? 0204 0234 1 3 62 TAD ENDBUF 3205 0235 7 640 SZA CLA 020 6 . 02 3 6 5241 JMP NOTEND /NO 0207 0 2 37 1 3 63 TAD STBUF /YES,RESET TO 02 10 0240 30 1 2 DCA TYPEPT /START 02 1 1 0241 1412 NO TEND, TAD I TYPEPT /GET CHAR FROM 02 12 /BUFFER 02 1 3 0242 604 6 TLS /TYPE IT 02 1 4 0243 52 1 3 JMP EXTINT • /EX I T 02 1 5 0244 7 201 CTHUP, CLA IAC /NO MORE CHAR 02 1 6 0245 33 64 DCA TFLAG /SET TFLAG 0217 0246 60 42 TCF /CLEAR TTY FLAG 0220 /TO STOP TTY 0221 0247 52 13 JMP EXT IN T /EXIT 0222 / 022 3 / 0224 /PUT CHAR U 1 BUFFER TO BE TYPED 0225 / 022 6 0250 0000 BUFFER, 0 /CHAR IN AC 0227 0251 341 1 DCA j. BUFPT /PUT CHAR IN BUFF 02 30 0252 23 7 3 ISZ TELCNT /INCRE CHAR COUNT 02 31 0253 1 373 BUFLP1, TAD TELCNT /CHECK FOR FULL 02 32 02 54 13 63 TAD ST3UK /BUFFER. WAIT .'.1 O '1 o w c o o c\ o K IJ ^ v> -7 .'.'.Vi 1 1 U "I * CIA '/'IN LOOP U'N'TTL 0234. 0256  3 62 TAD ENDBUF /THERE IS ROOM 0235 0257 7 650 SNA CLA 023 6 02 60 5253 JMP BUI-LP] 02 37 0261 60 02 I OF /NOT FULL. TURN 0240 /OFF I NT TO AVOID 0241 /COMPLICATIONS 0242 02 62 1011 TAD BUFPT /CHECK FOR END 0243 02 63 7041 CIA /OF BUFFER AREA 0244 02 64 13 62 TAD ENDBUF 024 5 0265 7 640 SZA CLA 0246 0266 5271 JMP NOTEDB "/NOT END 0247 02 67 13 63 TAD STBUF /END - RESET TO 0250 0270 30 1 1 DCA BUFPT /START 0251 027 1 13 64 N0TED3, TAD T FLAG /TEST. TFLAG 02 52 0272 7 640 SZA CLA /FLAG UP - MUST 0253 0273 527 6 JMP CLTFLG /RESTART TTY 0254 0274 600 1 I ON /NOT UP - CONTINUE 0255 027 5 5 650 JMP I BUFFER /EXIT - AC CLEAR 025 6 0 27 6 33 64 CLTFLG, DCA TFLAG /CLEAR TFLAG 0257 027 7 60 40 SPF /RESTART TTY BY 02 60 • /SETTING TTY FLAG 02 61 /TO RAISE INT. 02 62 0300 6001 I ON /CONTINUE 02 63 0 30 1 5650 JMP I BUFFER /EXIT - AC CLEAR 02 64 / 02 65 / 02 66 /KEYBOARD SERVICE 02 67 / 0270 0302 60 34 KY3RD, KRS /READ KBD 027N1 0303 3413 DCA I KYBDPT /STORE 027 2 0304 2374 ISZ KBDCNT /INCRE CHAR COUNT 0273 0305 1013 TAD KYBDPT . /CHECK F-OR END 59 -02 7 4 030 6 7041 CIA - /OF BUFFER AREA 0275 0307 1 3 65 TAD ENDK3F /AND RESET I F 027 6 0 310 7 640 SZA CLA /AT END 02 77 0 311 5314 JMP KlMEMD 0300 0312. 13 66 TAD 3TKYBF 0301 0 313 30 1 3 DC A K Y 8 DP T 0302 0314 137 4 KYNEND* TAD KBDCNT /TEST FOR FULL 0303 0315 1 3 66 TAD STKY3F /BUFFER 0304 0316 7041 CIA 930 5 0317 13 65 TAD ENDK3F 030 6 0320 7 650 SNA CLA 030 7 0321 5324 JMP SETKFL /BUFFER FULL 0310 0322 60 32 KCC /NOT FULL - SET 03 1 1 /READER RUN 0312 0323 5213 JMP EXTI NT /EXIT 03 1 3 0324 7 20 1 5ET.KFL, CLA I AC /FULL - SET KY FLAG 0314 . 0325 33 67 ' DCA KYFLAG 0315 0326 60 30 KG F /CLEAR KBD FLAG 031 6 /DO NOT SET READER 03 17 /RUN 0320 0 327 5213 JMP EXTINT /EXIT 0321 / 0322 / 0323 /TO REMOVE A CHARACTER FROM KBD BUFFER 0324 / 0325 0 330. ' 0000 READ3* 0 032 6 0331 137 4 TAD KBDCNT /IF BUFFER I S 0327 0332 7650 SNA CLA /EMPTY * WAIT FOR 0333 0333 . 5331 JMP .-2 /SOME INPUT 0331 0 3 3 4 I OF /INT OFF TO AVOID ('53 32 /CQMPL'I CAT I OX'S 0333 0335 7 2 40 CLA CM A /DECREMENT CHAR 0334 0336 1374 TAD K3DCNT /COUNTER 03 3 5 0 3 3 7 3374 DCA K3DCNT 033 6 0340 10 14 TAD READPT /CHECK FOR END OF 0337 0341 70 41 CIA /BUFFER AND RESET 0340 0 3 42 1 365 TAD ENDK3F /IF AT END 0341 0343 7 640 SZA CLA 0342 0344 5347 JMP KYND2 0343 0345 1 366 TAD ST KIT'S H 0344 3 3.4 6 30 1 4 DCA READPT 0345 0347 1 3 67 KYND2> TAD KY FLAG /WAS READER 0346 03 50 7 640 SZA CLA /STOPPED? 0347 0351 5355 JMP FLAGUP /YES 03 53 0 3 52 1414 TAD I READPT /NO - GET CHAR 03 51 0353 6001 ION /LEAVE IN AC 0352 0 354 57 30 JMP I READ3 /EXIT 0353 0 3 55 3367 FLAGUP* DCA KY FLAG . /CLEAR KYFLAG 03 54 0356 60 32 KCC /RESTART READER 0355 0357 1414 TAD I READPT /GET CHARACTER 0356 0 3 60 6001 I ON ./LEAVE IN AC 03 57 0361 5730 JMP I READ3 /EXI T 33 60 0 362 • 7177 E'M D3UF, 7 177 /END OF OUTPUT 0361 . /BUFFER 0362 0 3 63 6777 ST3UF* 6777 /START OF OUTPUT 03 63 /BUFFER 0364 • 0364 0000 TFLAG* 0 0365 0 365 7 37 7 ENDK3F* 7 37 7 /END OF INPUT 03 66 /BUFFER 03 67 0366 7177 STKY3 F* 7177 /START OF INPUT 037 0 /BUFFER 037 1 0367 0000 KYFLAG* 0 0372 0370 0000 ACCUM* 0 - 60 -0373 037 1 0000 LINK* 0 037 4 0372 3000 M3SAVE* 0 037 5 0373 0000 TELCNT* 0 037 6 037 4 0000 K3DCNT* 0 037 7 / 0400 / 0401 *400 0402 / 0403 / 040 4 /TO PRODUCE A CARRIAGE RETURN AND LINE 0405 /FEED 040 6 / 0407 0400 00 00 CRLF* 0 04 1 0 0401 7 2 0 0 CLA 041 1 0402 1215 TAD K215 /CR CHAR 0412 0 40 3 44 54 JMS I ABUFF /TYPE IT 0413 0404 1214 TAD K212 /LF CHAR 0414 0405 4454 JMS I ABUFF /TYPE IT 04 15 040 6 5 600 JMP I CRLF /EXIT - AC CLEAR 041 6 / 0417 / 0420 /TO PRODUCE A SPACE 042 1 / 0422 0407 0000 SPACE* 0 0423 0410 7200 CLA 0424 041 1 1216 TAD K240 /SPACE CHAR 0425 0412 44 54 JMS I ABUFF /TYPE IT 042 6 0413 5 637 JMP I SPACE /EXIT - AC CLEAR 0427 / 0430 0414 0 ? 1 '?. K212* 212 0431 041 5 02 1 5 Kg 15* 2T5 0432 041 6 0240 K240* 240 0433 / 0434 / 0435 /TO UNPACK A WORD AND PRINT IT OUT 043 6 /SIMILAR TO PRINT PROGRAM IN DEC MANUAL 0437 / 0440 0417 0000 PRINT* 0 0441 0420 7 300 CLA CLL 0442 0421 3301 DCA STN BR 0443 0422 1 300 TAD NUMBER 0444 0423 7 00 4 RAL 0445 0 424 3301 DCA STN BR 0446 0425 1274 UNPACK* TAD H0TN3R 0447 0426 3305 DCA STROT 0450 0 427 1301 TAD STN BR 0451 0430 7004 RAL 0452 0431 2305 ISZ STROT 0453 0432 52 30 JMP .-2 0454 0433 3301 DCA STNBR. 0455 0434 7004 RAL 0456 0435 3374 DCA LKPRT 0457 0 43 6 1301 TAD .STNBR 0460 0437 0273 AND MASK 04 61 0440 127 6 TAD K2 60 04 62 0441 4454 JMS I ABUFF 04 63 0442 137 4 TAD LKPRT 04 64 0443 71 10 CLL RAR 04 65 0444 2302 ISZ DIGCTR 0466 0445 5225 JMP UNPACK 04 67 0446 5 617 JMP I PRINT 047 0 / 047 1 / - 61 -047 2 /TO PRINT TH E NUMBER IN THE AC AS A 3 047 3 /DIGIT BCD NUMBER 047 4 / 047 5 0447 0000 PRTDC 0 047 6 04 50 3300 DCA NUMBER /STORE 0477 0451 130 3 TAD KC3 /SET NO OF DIGITS 0500 04 52 3302 DCA DIGCTR /TO 3 0501 . 04 53 127 7 TAD KC4 /SET NO OF BITS 0502 04 54 3274 DCA ROTNBR /PER DIGIT TO 4 0503 0455 1 30 4 TAD MA SKI 7 /SET UP 4 BIT MASK 0504 045 6 3273 ' DCA MASK 0505 0 4 57 4217 JMS PRINT /USE PRINT 050 6 0 4 60 5 647 JMP I PRTDC /EXIT - AC CLEAR 0507 / 0510 / 051 1 /TO PRINT THE NUMBER IN THE AC AS A 0512 /4 DIGIT OCTAL NUMBER 0513 / 051 4 04 61 0000 PHTOC, 0 0515 0462 - 3300 DCA NUMBER /STORE NUMBER 051 6 04 63 1 277 TAD KC4 /SET NO OF DIGITS 0517 04 64 3302 DCA DIGCTR /TO 4 0520 04 65 1303 TAD KC3 /SET NO OF BITS 0521 0 4 66 3274 DCA ROTNBR /PER DIGIT TO 3 0522 0 4 67 1275 TAD ' MASK7 /SET UP A 3 BIT 052 3 0470 3273 DCA MASK /MASK 0524 047 1 421 7 JMS PRINT /USE PRINT 052 5 047 2 5 661 JMP I PRTOC /EXIT - AC CLEAR 052 6 / 0527 0 47 3 0 0 0 0 MASK, 0 0 47 4 r.\ {>. f* ,'A *J ij tj *_» RO TN 3R r.\ * */ 0531 0475 0007 MAS K7 > 7 0532 • 047 6 0 2 60 K2 60> 260 0533 ~ 0477 77 74 KC4, -4 0534 0 500 0000 NUMBER , 0 05 35 0 50 1 0000 STNBR, 0 0536 0502 0000 DIGCTR , 0 0537 0 503 77 7 5 KC3> -3 0540 0 504 00 1 7 MASK17 > 17 0541 050 5 0000 STROT, 0 0542 / 0543 / 0544 /TO READ THE ANALOG CHANNEL WHOSE CODE 0545 /IS IN THE AC 054 6 / 0547 050 6 0000 ANALG, 0 0550 0507 6323 6323 /CHANNEL SELECT 0551 0510 6321 6321 /WAIT FOR FLAG 0552 0511 5310 JMP .-1 0553 0512 7300 CLA CLL 0554 0513 6324 6324 /READ 0555 0514 7040 CM A /INPUT IN OPPOSITE 0556 /LOGIC 0557 0515 4453 JMS I AMULT5 /MULT BY 5 0560 0516 742! . MQL 0561 0 517 7701 ACL /SPLIT RESULT INTO 05 62 ' 0 520 03 40 AND MK7700 /2 WORDS 05 63 0 521 7012 RTR 05 64 0522 7012 RTR /DIVIDE HIGH WORD 05 65 0523 70 12 RTR /BY 64 05 66 0524 4453 JMS I AMULT5 0567 0525 44 53 JMS I AMULT5 /MULT BY 25 0570 0526 3342 DCA SH I GH /STORE -. 62 -0571 0 527 7 701 ACL 0572 0 533 0 341 AND MK7 7 /GET LOW HALF 0573 0531 4453 JMS I AMULT5 057 4 0532 4453 JMS I AMULT5 /MULT BY 2 5 0575 0 5 33 0340 • AND MK7700 /DIVIDE LOW HALF 057 6 0 534 7002 BSw /BY 64 0577 0535 13 42 TAD SHIGH /PUT HALVES BACK 0 600 0536 7010 RAR /DIVIDE BY 2 0 601 /RESULT IS TO 0602 /MULT3Y C 1000/1024) 060 3 0537 570 6 JMP I ANALG /EXIT - RESULT 0604 /LEFT IN AC 060 5 0 540 7 700 MK7700* 7700 0 60 6 0 541 0077 MX7 7* 77 0607 0542 0000 SHIGH* 0 0 610 '/ 061 1 / 0 612 / TO INITILIZE THE POINTERS AND FLAGS 0613 /FOR THE OPERATING SYST EM 0614 / 0615 0543 0000 INITZE* 0 061 6 0 544 7200 CLA 0617 0545 1366 TAD KK17 77 /INITILIZE 0 620 0546 30 1 1 DCA BUFPT /POINTERS 0 621 0547 1366 TAD KK1777 0 622 0 550 3012 DCA TYPEPT 0 623 0551 1 3 67 TAD KK2177 0624 0552 30 13 DCA KYBDPT 0 625 0553 13 67 TAD KK2177 0 62 6 0 554 30 1 4 DCA' READPT 0627 0 5'5 5 7 201 •CLA IAC 0630 0556 37 70 DCA I AT FLAG /SET FLAGS 0631 0 5 57 7 201 CLA IAC 0632 0 5 6-0 377 1 DCA I AK FLAG 0633 0561 3773 DCA I ATLCNT /CLEAR COUNTERS 0634 0 5 62 3772 DCA I AKYCNT 0635 05 63 6032 KCC 063 6 05 64 6001 I ON /TURN INTERRUPT ON 0637 05 65 5743 JMP I INITZE /EXIT - AC CLEAR 0 640 / 0641 05 66 67 7 7 KK1 7 7 7 * 67 7 7 0642 0 5 67 7 177 KK2177* 7 177 0 643 0 570 0 3 64 ATFLAG * TFLAG 0 644 0 57 1 0 367 AKFLAG * KYFLAG 0645 057 2 0 3 7 4 AKYCNT* KBDCNT 0 64 6 0573 0373 ATLCNT* TELCNT 0 647 0 57 4 0000 LKPRT* 0 0650 / 0651 / 0652 *600 0653 / 0654 / 0655 /PUT OUT PULSE TO STEP MOTORS 0656 / 0657 0 600 0000 STEP 1 * 0 0660 0601 6334 6334 /PULSE TO STEP 0661 0 602 7200 CLA 0662 3 603 1210 TAD WT /WAIT LOOP 0663 0 604 700 1 IAC 0 6 64 0 605 7 440 SZA 0 665 0 60 6" 5204 JMP .-2 . 0666 0 607 5 600 JMP I STEP1 /EXIT - AC CLEAR 0 667 0610 . 6500 WT* ' 6500 /DELAY FOR A RATE - 63 -0670 /OF 400 STEPS/SEC 0 67 1 / 0 67 2 / 067 3 061 1 0000 WAIT* 0 0 67 4 .0612 3225 DCA EM DTIM 0675 0 613 6342 6342 067 6 0614 6341 WLP1 * 6341 •den 0615 5214 JMP .-1 -07 00 0616 6344 6344 0701 0 61 7 70 40 CMA 0702 0 620 7041 CIA 0703 0 621 1 225 TAD EN DTIM 0704 0 622 7 4 43 SZA 07 05 0 623 5214 JMP WLP1 070 6 0 62 4 5611 JMP 1 WAIT 0707 0 625 0000 . EN DT IM * 0 07 10 / 07 1 1 / 07 1 2 /READ SHAFT ENCODER 07 13 / 07 14 0626 0000 RDSFT* 0 07 1 5 0 627 7200 CLA 07 1 6 0 630 6302 6302 /READ AND STORE 07 17 0 631 3100 DCA SHFTH /2 MSD 07 20 0 632 630 4 . 6304 /READ AND STORE 0721 0 633 3101 DCA SHFTL /3 LSD 07 22 0634 5 62 6 JMP I RDSFT /EXIT - AC CLEAR 0723 / 07 24 / 0725 /READ DIGITAL MOLT METER 0726 / 0727 0 63 5 0000 RDDVM* 0 07 30 0 63 6 7 300 CLA CLL /READ HIGH WORD 07 31 0 637 631 1 631 1 07 32 0 640 02 52 AND MASK40 /TEST FLAG IN 0733 0 641 7440 SZA /BIT 6 07 34 0 642 5236 JMP .-4 /WAIT FOR FLAG. 0735 ' 0 643 7200 CLA /TO GO DOWN 07 3 6 0 644 6301 6301 /READ AND STORE 07 37 0645 3102 DCA DVML /LOW WORD 0740 0 64 6 631 1 631 1 /READ AND STORE 0741 0 647 0253 AND MAS.K37 /HIGH WORD (ONLY 07 42 0 650 3103 DCA DVMH /l BCD CHAR) 07 43 0 651 5 63 5 JMP I RDDVM /EXIT - AC CLEAR 07 44 0 652 0040 MASK40 * 40 0745 0 653 00 37 MASK37 * 37 0746 / 0747 / 07 50 /TO AC CELERATE MOTORS 07 51 / 07 52 0 654 0000 STEP* 0 07-53 0655 7200 CLA 0754 0 65 6 1110 TAD DIR /CHECK ACCEL FLAG 0755 /(BIT 9 OF DI R) 0756 0 657 0315 AND MSKD1 07 57 0 660 7 640 SZA CLA 07 60 0 661 52 67 JMP ACCST /FLAG=1»START 0761 /ACCELERATION 07 62 0 6 62 1316 TAD ACCSTP /FLAG=0* CONTINUE 07 63 /ACCELERATION 07 64 0 6 63 7 640 SZA CLA /CHECK FOR END 07 65 /OF ACCEL 07 66 0 6 64 5302 JMP ACCNTU /NO - CONT ACCEL - 64 -07 67 0 6 65 4200 JMS STEP1 /YES - STEP MOTOR 07 70 0 6 66 5654 JMP I STEP /EXIT - AC CLEAR 07 7 1 0667 7001 ACCST* IAC /START ACCEL 077 2 0 670 7 440 SZA /LET MOTOR SETTLE 07 7 3 0 67 1 52 67 JMP .-2 07 7 4 0672 1315 TAD MSKD1 07 7 5 0 67 3 7 0 40 CMA 07 7 6 0 67 4 0 110 AND DI R /CLEAR FLAG IN 07 7 7 0 67 5 3110 DCA DI R /DIR TO CONTINUE 1000 /ACCELERATIO-N 1001 0 67 6 1317 TAD SKC1 6 /SET NUMBER OF 1002 0 677 331 6 DCA ACCSTP /STEPS IN ACCEL 1003 07 00 1320 TAD WT1 /SET ORIGINAL 100 4 07 01 3321 DCA W TIME /EXTRA DELAY 100 5 07 02 4200 ACCNTU* JMS STEP1 /STEP MOTOR 100 6 0703 1321 TAD WTIME 1007 0 7 04 1 322 TAD ACTIME /DECREASE EXTRA 18 1 0 0705 3321 DC A WTIME /DELAY TIME 10 1 1 07O6 1321 TAD WTIME 10 12 07 07 70 0 1 I AC /WAIT EXTRA DELAY 10 1 3 07 10 7440 SZA 1014 07 1 1 5307 JMP 1015 07 12 231 6 ISZ ACCSTP /INCREMENT ACCEL 1016 /COUNTER 1017 07 13 5654 JMP I STEP 1020 07 14 5 654 JMP I STEP /EXIT - AC CLEAR 10 2 1 07 1 5 1000 MSKD1* 1000 /MASK FOR FLAG 1022 07 1 6 0000 ACCSTP* 0 /ACCEL STEP COUNT 1023 07 17 7 7 60 SKC 1 6* -20 /NUMBER OF ACCEL 10 24 /STEPS 10 2 5 0 7 20 L: *-/ r.i WT! * 5 7 0 £ /0RI G I'NAL EXTRA 102 6 /DELAY 1027 07 21 0000 WTIME* 0 /TEMP STORAGE 10 30 07 22 0100 ACTIME* 100 - /DECREASE JN DELAY 1031 / 1032 / 1033 /TO COMPLIMENT ANALYZER READING BY 3 60.00 1034 / 1035 0723 0000 ANZCP* 0 103 6 0724 7200 CLA 1037 0725 1101 TAD SHFTL /CONVERT LSDS 1040 0726 4442 JMS .1 ADCBIN /(SHFTL) TO BIN 1041 0 7 27 7041 CIA 1042 0730 1345 TAD K1000D /1000(DEC)-SHFTL 10 43 0731 4441 JMS I ABNBCD /CONVERT TO 3CD 1044 0732 1105 TAD DNUMB /PUT BCD RESULT 1045 0733 3101 DCA SHFTL /BACK IN SHFTL 1046 07 34 1 100 TAD SH FTH /CONVERT MSDS 1047 0735 4442 JMS I ADCBIN /(SHFTH) TO BIN 1050 0736 7041 CIA 1051 07 37 1 104 TAD MSDIG /3 5(DEC)+CARRY 1052 07 40 1346 TAD K35D /-SHFTH 1053 07 41 4441 JMS I ABNBCD /CONVERT TO BCD 10 54 0742 1 105 TAD DN UM3 /PUT BCD RESULT 1055 0743 3100 DCA SHFTH . /IN SHFTH 1056 07 44 5723 JMP I ANZCP /EXIT - AC CLEAR 10 57 0745 17 50 K1000D* 1750 /l 000(DEC 10 60 07 4 6 0043 K35D* 43 /35(DEC) 10 61 / 10 62 / 10 63 *1000 10 64 / 10 65 / - 65 -1066 /CONVERT 3 DIGIT BCD IN AC TO BINARY 10 67 /LEAVE RESULT IN AC 1070 / 1071 1000 0000 DCBIN> 0 1072 1001 7 421 MQL /SAVE BCD NO. 1073 10 02 7 70 1 ACL 1074 1 003 0225 AND MK17 /SEPARATE LSD 107 5 1004 3224 DCA OCNBR /STORE AS BIN 107 6 103 5 7 701 ACL 107 7 100 6 022 6 AND MK360 /SEPARATE MIDDLE 1 100 -1007 7 112 CLL RTR /DIGIT 1 101 1 01 0 7012 RTR /RIGHT JUSTIFY 1102 1011 42 30 JMS MULT 10 /MULT BY 10 1103 1012 1224 TAD OCNBR ./ADD TO BIN NO. 1 104 10 1 3 3224 DCA OCNBR 1105 1014 7 701 ACL 110 6 1015 0827 AND MK7400 /SEPARATE MSD 1 107 10 16 7 106 CLL RTL /RIGHT JUSTIFY 1110 1017 700 6 RTL 1111 1020 7 00 4 RAL 1112 1021 4244 JMS MLT100 /MULT BY 100 1113 1022 1 224 TAD OCNBR /ADD TO BIN NO. 1114 1023 5 600 JMP I DCBIN /EXIT - BIN IN AC 1115 1024 0000 OCNBR, 0 /STORAGE FOR BIN 1116 1025 0017 MK17, 17 /MASK FOR LSD 1117 '' 102 6 03 60 MK3 60, 3 60 /MASK FOR MID DIG 1120 1027 7 400 MK7 400 , 7 400 /MASK FOR MSD 1121 1122 1 123 1 "1 2 4 1 125 1126 I 127 II 30 1131 1 132 1133 1134 11 57 1 1 60 1 1 61 1 1 62 1 1 63 1 1 64 1030 1031 10 32 1033 00 00 42 34 7 104 5 630 / / /MULT NO. IN AC BY 10 / MULT 10, 0 JMS CLL JMP MULT 5 RAL I -MULT 10 / / /MULT / NO. IN AC BY 5 LEAVE RESULT IN AC /MULT BY 5 /MULT BY 2 LEAVE RESULT IN AC 1135 1034 0000 MULT5, 0 1136 10 35 3243 DCA MNBR /STORE NO. 1137 1036 1243 TAD MNBH 1140 1037 7 104 CLL RAL /MULT BY 2 1141 10 40 7 104 CLL HAL /MULT BY 2 1 142 1041 1243 TAD MNBR /ADD NO. 1143 1042 5634 JMP I MULT5 /IE 5X=2X+2X+X 1 1 44 1043 0000 MNBR, 0 /TEMP STORAGE 1145 / 1146 / 1147 /MULT AC BY 100 - RESULT IN AC 1 1 50 / 1151 1044 0000 .MLT100, 0 1152 1045 4230 JMS MULT 10 /MULT BY 10 1153 1046 4230 JMS MULT 10 /MULT BY 10 1 1 54 1047 5644 JMP I MLT100 1 1 55 / 1 156 / 10 50 1051 0000 ,3342 /CONVERT BIN NO. IN AC /RESULT IN MSDIG (MOST /DNUM3 (DECIMAL NO.) -/ 3N3CD, 0 DCA 3NBR • TO 4 DIGITS BCD SIG DIGIT) AND ON PAGE 0 /STORE BIN - 66 -1 1 65 1052 7103 CLL 11 66 10 53 310 4 DCA MS DIG /CLEAR 1 1 67 10 54 1 342 TAD BN3R 117 0 10 55 1 344 BN LP 1, TAD KC 1000 /SUST 1000 FROM 1171 10 5 6 7 500 SMA /BIN NO. 1172 10 57 52 63 JMP BACK /IF AC IS NOT NEG 1173 10 60 7 430 SZL /OR LINK=0 THEN 1174 1061 52 63 JMP BACK /INCREMENT MSDIG 1175 10 62 5266 JMP FINISH /AND SUBT 1000 117 6 10 63 2104 BACK, ISZ MS DIG /AGAIN 1 177 10 64 7 100 CLL 1200 1065 5255 JMP BNLP1 1201 10 66 3342 FINISH, DCA BN3R /IF AC IS LT 0 1202 1 0 67 1 344 TAD KC 1000 /AND L=l, THEN 1203 107 0 7 041 CIA /HAVE SU3T 100 0 1204 1071 1342 TAD 3NBR /ONCE TOO OFTEN 120 5 1072 3342 DCA BNBR /ADD 1000 BACK ON 120 6 / 1207 107 3 7 300 CLA CLL 1210 1074 3343 DCA DIG /CLEAR 121 1 107 5 1 342 . TAD BNBR 1212 107 6 1 345 BNLP2, TAD KC 100 /SUBT 100 FROM BIN 1213 1 07 7 7 500 SMA /IF AC IS NOT NEG 12 14 1 100 5302 JMP BK2 /THEN INCREMENT 1215 1101 5304 JMP FNH2 '/DIG AND SUBT 1216 1 102 2343 BK2, ISZ DIG /AGAIN 1217 1 103 527 6 JMP BNLP2 1220 1 104 3342 FNH2, DCA BNBR /AC IS NEG - SAVE 1221 1 105 1 343 TAD DIG /PUT NO. OF SUBT 1222 1106 7 10 6 CLL RTL /IN MSD POSITION 1223 •11-07 -700-6 RTL /OF DNUMB 1224 1110 3105 DCA DNUMB 1225 1111 1 345 TAD KC100 /ADD 100 BACK 1226 1112 7 041 CIA /TO BIN NO. 1227 1113 1 342 TAD BNBR 1230 1114 3342 DCA BNBR 1231 / 1232 1115 7 300 CLA CLL 1233 1116 3343 DCA DIG • /CLEAR 1234 1117 1342 TAD BNBR 1235 1 120 134 6 BNLP3, TAD KC10 /SUBT 10 FROM 1236 1121 7 500 SMA /BIN NO. IF 1237 1 122 5324 JMP BK3 /AC IS NOT NEG 1240 1 1 23 5326 JMP FNH3 /INCR DIG AND 1241 1 124 2343 BK3, ISZ DIG /SUBT AGAIN 1242 1 125 5320 JMP BNLP3 1243 1 126 3342 FNH3, DCA BNBR /AC IS NEG - SAVE 1244 1 127 1 343 TAD DIG /PUT NO. OF SUBT 1245 1 1 30 1 105 TAD DNUM3 /IN MID DIG OF 1246 1131 7 106 CLL RTL /DNUMB 1247 1 1 32 700 6 RTL 1250 1 133 3105 DCA DNUMB 1251 1 134 134 6 TAD KC 1 0 /ADD 10 BACK TO 1252 1 135 7041 CIA /BIN NO. 1253 1136 1342 TAD BNBR 1254 1 137 1 105 TAD DNUMB /PART LEFT IS LSD 1255 1 1 40 3105 DCA DNUMB /OF DNUMB 1256 1141 5 650 JMP I BNBCD /EXIT - AC CLEAR 1257 12 60 1 142 0000 BNBR, 0 /STOR FOR BIN NO. 1261 1 143 0000 Din, 0 /STOR FOR DIG 12 62 1 144 6030 KC1000, 60 30 /-1000 12 63 ' 1 1 45 7 634 KC100, 7 634 /-100 - 67 -12 64 1146 77 66 KC 1 0 * 7 7 66 /- 10 . 12 65 / 12 66 / 12 67 *1300 1270 / 127 1 / 1272 /TO STOKE A SET OF READINGS IN A STACK 127 3 /FIXED LENGTH STACK • - LATEST ADDITION 127 4 /REPLACES EARLIEST - INPUT IN AC -1275 /OUTPUT LEFT IN AC 127 6 / 1277 • 1300 0000 STACK* 0 1300 1301 3323 DCA SVSTKl /SAVE ADDITION 1301 1 302 1018 TAD ENDSTK T302 T303 70 41 CIA /CHECK FOR END OF 1303 1304 1111 TAD STKL /STACK AREA AND 1304 130 5 1 1 20 TAD STSTK /RESET TO START 1305 130 6 7 4 40 SZA /IF AT END 130 6 . 1307 5312 JMP • +3 /STACK AREA IS 1307 1310 1 1 20 TAD STSTK /1200 TO 1277 1310 1311 30 1 0 DCA ENDSTK 131 1 1312 7200 CLA 1312 1313 1410 TAD I ENDSTK /REMOVE NO.FROM 1313 1314 . 3324 DCA SVSTK2 /STACK AND SAVE IT 1314 1315 10 10 TAD ENDSTK 1315 1316 3325 DCA EN DSK1 /REPLACE IT WITH 1316 1317 1323 TAD SVSTKl /INPUT THAT WAS 1317 1320 3725 DCA I ENDSK1 /IN AC 1320 1 321 1324 TAD SVSTK2 /PUT NO. REMOVED 1321 1322 5700 JMP I STACK /IN AC - EXIT 13 82 1323' 0-0-00 SVSTKl* 0 1323 1 324 0000 SVSTK2* .0 1324 1325 0000 ENDSK1 * 0 1325 / 132 6 / 1327 /TO-READ THE PHOTOMULTIPLIER STKL NUMBER 1330 ./OF TIMES AND KEEP A RUNNING SUM OF THE 1331 /READINGS STORED IN 2 WORDS* ASUMH* ASUML 1332 / 1 333 132 6 0000 SUM* . 0 1334 1327 7200 CLA 1335 1330 1111 TAD STKL /SET COUNTER 1336 1331 7041 CIA 1337 1332 3117 DCA STPCNT 1340 1333 3107 DCA ASUMH /CLEAR STORAGE 1341 1334 3106 DCA ASUML 1342 1335 4347 LPSUM* JMS RDPTO /READ PHOTOMULT• 1343 1336 ' 7 100 CLL 1344 1337 1 1 0 6 TAD ASUML /ADD TO ASUML 1345 1340 7430 SZL /IF OVERFLOW 1346 1341 2107 ISZ ASUMH /INCRE ASUMH 1347 1342 3106 DCA ASUML /STORE SUM 1350 1 343 443 3 JMS I ASTEP /STEP MOTOR 1351 1344 2117 I SZ STPCNT /LOOP 1352 , 1345 5335 JMP LPSUM 1353 1346 5726 JMP I SUM /EXIT - AC CLEAR 1354 / 1355 / 1356 /TO READ PHOTOMULTIPLIER - RESULT LEFT 1357 /IN AC 13 60 / 1361 1347 0000 RDPTO* 0 13 62 1350 7 200 CLA - 68 -13 63 1 351 1 3 54 TAD PHTOCD /SET PTM CODE 13 64 - 1352 4431 JMS I AANALG /USE ANALG 13 65 1353 57 47 JMP I RDPTO /EXIT - RESUT -1N 1366 /AC 1367 1354 00 17 PHTOCD* 1 7 /CODE FOR PTM 1370 /ANALG CHANNEL 137 1 / 1372 / 1373 * 1400 137 4 / 137 5 / 1376 /TO REVERSE ELLIPSOMETER MOTORS .1377 / 1400 1400 0000 REV* 0 1401 . 1 40 1 7200 CLA 1402 1402 1110 TAD DI R 1403 1 40 3 021 6 AMD MSKD1R /SEPARATE 1404 /DIRECTION 31TS 1405 1404 70 40 CMA /COMPLIMENT DIR 140 6 /BITS 1407 140 5 021 6 AND MSKD1R 1410 140 6 3220 - DCA CHDIR /STORE COMP DIR 141 1 /BITS 1412 1407 1110 TAD DI R 1413 1410 0217 AND MSKDR2 /CLEAR OLD DIR 1414 /BITS AND FLAG 1415 1411 1233 TAD FLGSET /SET FLAG TO 1416 /ACCELERATE 1417 1412 1220 TAD CHDI R /SET CHANGED DIR 1420 /3ITS 1421 1413 63 32 6332 •/SET -FL-IP -FLOPS 1422 1414 3110 •DCA DI R /RESTORE IN DIR 1423 1415 5 600 JMP I REV /EXIT - AC CLEAR 1424 141 6 0005 MSKDIR* 5 /MASK FOR DIR 1425 • /BITS 1426 ' 1417 6772 MSKDR2* 6772 /TO CLEAR FLAG 1427 /AND DIR BITS 1430 1420 00 00 CHOIR* 0 /TEMP STORAGE 1431 / 1432 •' / 1433 /TO SET ACCELERATION FLAG AND FLIP FLOPS 1434 /FOR MOTORS 1435 / 1436 1421 0000 SETM* 0 1437 1422 3234 DCA MOTOR /CODE FOR MOTORS 1440 - /WAS IN AC 1441 /STORE IT 1442 1423 1110 TAD Dl R 1443 1424 0232 AND MSKDR1 /DO NOT CHANGE 1444 /SWITCH FF 1445 1425 1233 TAD FLGSET /SET FLAG TO 144 6 /START ACCEL 1447 1426 1234 TAD MOTOR . /SET MOTOR • 1450 /INFORMATION 1451 1427 6332 6332 . /SET FLIP FLOPS 1452 1430 3110 DCA DI R /STORE IN DIR 1453 1431 5 621 JMP I SETM /EXIT - AC CLEAR 1454 1432 2 0 0 0 MS.KDR1* 2000 /MASK FOR SWITCH 1455 /FLIP FLOP 1456 1433 1000 FLGSET* 1000 /TO SET FLAG 1 457 1434 0000 MOTOR* 0 /TEMP STORAGE 14 60 / 1461 / - 69 -14 62 /TO RUM MOTORS NUMBER 0! <• STEPS IN AC 1463 / 14 64 1435 0000 MOVE.. 0 14 65 143 6 7 041 CIA /SET COUNTER 1466 1437 3117 DCA STPCNT 14 67 1 440 4433 JMS I ASTEP /STEP MOTORS 1470 1441 2117 IS?. STPCNT 1471 1442 5240 JMP .-2 /LOOP • 147 2 1 443 5 63 5 JMP I MOVE /EXIT - AC CLEAR 147 3 / 147 4 / 147 5 /COMP0, COMP1, C0MP2, SET ADDRESSES FOR 147 6 /THE JUMP IM CMpSM (FO >R USE IN BAL ROUTINE! 1477 / 1500 1 4 44 0 12 5 COMP0> CL /IF SUM2 IS LESS 1501 1445 1307 TAD APOSl /THAN SUM1 THEN GO 1502 144 6 3 30 5 DCA S2LTS1 /TO POS 1 1503 1447 1 30 6 TAD APOS0 /OTHERWISE GO TO 1504 1450 3304 DCA S2GTS1 /POS 0 150 5 1451 52 66 JMP CMPSM 150 6 / 1507 / 1510 1452 7200 COMP1 * CLA /IF SUM2 IS LESS 1511 1'453 1 307 TAD APOSl /THAN SUM1 THEN 1512 14 54 3305 DCA S2LTS1 /GO TO POS 1 1513 1455 1310 TAD AP0S2 . ' /OTHERWISE GO TO 1514 145 6 3304 DCA S2GTS1 /POS 2 1515 1 457 5266 JMP CMPSM 1516 / 1517 / -1-520 i'4'63 '7200 CQMP2-- CLA /IF SUM2 'IS LESS 1521 1461 1311 TAD APOS3 /THAN SUM1 THEN 1522 1462 330 5 DCA S2LTS1 /GO TO POS 3 1523 1 4 63 1312 TADr AP0S4 /OTHERWISE GO TO 1524 1 4 64 330 4 DCA S2GTS1 /POS 4 1525 1465 5266 JMP CMPSM 1526 / 1527 / 1530 14 66 7200 CMPSM, CLA /TO PERFORM 1531 1467 1115 TAD SUML1 /SUM 1-SUM2 IN 1532 1470 3121 DCA,AL /D0U3LE PREC1SI ON 1533 1471 1113 TAD SUMH1 /AND TEST RESULT 1534 1 47 2 3122 DCA AH . 1535 1 473 1116 TAD SUML2 1536 1474 3123 DCA BL 1537 147 5 1114 TAD SUMH2 1540 . 147 6 312 4 DCA BH 1541 1477 4447 JMS I ADPSUB /(A-3=C> 1542 1 500 1126 TAD CH /TEST RESULT 1543 1 501 7500 SMA 1544 1502 57 0 5 JMP I S2LTS1 /SUM2 LT SUM1 1545 1503 5704 JMP I S2GTS1 /SUM2 GT SUM1 1546 1 504 0000 S2GTS1r 0 /ADDRESS SET BY 1547 1 50 5 .0000 S2LTS1i 0 /COMP ROUTINES 1550 1 506 1 622 APOS0, POS0 /LIST OF 1551 1507 1 625 APOSl, POS1 /ADDRESSES 1552 1510 1 633 APOS2, P0S2 1553 1511 1 660 AP0S3> POS3 1554 1512 1713 AP0S4> P0S4 1555 / 1556 / 1557 /TO FILL STACK ORIGINALLY AND KEEP A 1560 /SUM OF THE READINGS - 70 -1561 / 15 62 1513 0000 STORE, 0 15 63 1514 7 200 CLA 1 5 64 1515 1112 TAD STXLC /SET COUNTER 15 65 1516 3117 DCA STPCNT 15 66 1517 1 120 TAD STSTK. /SET START OF STACK 15 67 1520 3010 DCA ENDSTX 1570 1 521 3 1 0 6 DCA ASUML /CLEAR 1571 1522 3107 DCA ASUMH 157 2 1 523 4445 STLP1, JMS I ARDPTO /READ PTM 157 3 1 524 7421 MQL /STORE 1574 1 525 7 70 1 ACL 157 5 1 526 34 10 DCA I ENDSTK /STORE IN STACK 1 57 6 1527 7 7 01 ACL 157 7 1530 7 100 CLL 1 600 1531 1 1 3 6 TAD ASUML /ADD TO ASUML 1601 1 532 310 6 DCA ASUML 1602 1 533 7 430 SZL /INCRE ASUMH 1603 1 534 2 107 ISZ ASUMH /I F OVERFLOW 1 604 1 535 44 33 JMS I ASTEP /STEP MOTOR 1 60 5 1 53 6 2117 ISZ STPCNT 1 60 6 1 537 5323 JMP STLP1 /LOOP 1 607 1540 57 1 3 JMP I STORE /EXIT - AC CLEAR 1610 / 161 1 / 1612 /DOUBLE PRECISION ADD A + B = C 1613 /(FROM DEC MANUAL INTRODUCTION TO PROG) 1614 / 1615 1 541 0000 DP ADD, 0 1616 1 542 7 300 CLA CLL •1-617 -1 54 3 11-2 1 •TAD •AL 1 620 1 544 1 123 TAD BL 1621 1 545 3125 DCA CL 1 622 1'54 6 700 4 RAL 1 623 1547 1 122 TAD AH 1624 1 5 50 1 124 TAD BH 1625 1551 3126 DCA CH 162 6 1 552 57 41 JMP I DPADD /EXIT - AC CLEAR 1 627 / 1630 / 1631 /DOUBLE • PRECISION SUBTRACTION A-B=C 1632 /(FROM DEC : INTRO. TO PROG•) 1633 / 1634 1 553 0000 DPSUS, 0 1 635 1554 7 300 CLA CLL 1 636 1 555 1 1 23 TAD BL 1637 1556 7041 - CIA 1640 1557 1121 TAD AL 1641 15 60 3125 . DCA CL 1 642 1561 7004 RAL 1643 1 5 62 3371 DCA KPDPS 1 644 1 5 63 1 124 TAD BH • 1645 15 64 7040 CMA 164 6 1 5 65 1 1 22 TAD AH 1.647 15 66 1371 TAD KPDPS 1 650 1 5 67 3126 DCA CH 1651 1570 5753 JMP I DPSU3 /EXIT - AC CLEAR 1652 1 57 1 0000 KPDPS, 0 1653 / 1654 / 1655 *1 600 1656 / 1657 / - 71 -1660 /TO BALANCE THE ELLIPSOMETER 1661 / 1662 1 600 0000 BAL, 0 1 663 1 60 1 7 201 CLA IAC /SET FLAG TO 1 664 1 602 3323 DCA BL FLAG /INDICATE START 1 665 1 603 4724 ST3L, JMS I A SUM /TAKE SET OF READS 1666 1 604 3321 DCA POSCT /CLEAR POSITION 1 667 /POINTER 1670 1 60 5 1 107 TAD ASUMH 1671 1 60 6 3113 DCA SUMH 1 /STORE READINGS 1 67 2 1 607 1106 TAD ASUML /IN SUM1 (HIGH 1673 1 610 31 15 DCA SUML1 '/AND LOW) 1674 1611 4724 3ALLP1 * JMS I A SUM /TAKE ANOTHER SET 167 5 1 612 1 107 TAD ASUMH 167 6 /OF READINGS AND 167 7 1 613 3114 DCA SUMH 2 /STORE IN SUM2 . 17 00 1 614 110 6 TAD ASUML 1701 1 61 5 3116 DCA SUML2 1702 1 61 6 1 323 TAD BLF'LAG /CHECK FT.AG • A 17 03 1 617 7 440 SZA /CLEAR FLAG 17 04 /INDICATES THAT 1705 /A MINIMUM IS 1706 /BEING APPROACHED 1707 1 620 5727 JMP I ACOMP0 /COMPARE SUM1 1710 1 621 57 30 JMP I ACOMP1 /AND SUM2 17 11 1 622 4443 POS0, JMS I ARE V /GOING AWAY FROM 17 12 1 623 3323 DCA BL FLAG /MIN. REV MOTORS 17 13 1 624 5203 JMP STBL /CLEAR FLAG• START 17 14 /OVER AGAIN 17 15 1 625 7 200 POS1, CLA /GOING TOWARD A Mli 17 16 "1"62 6 11 1'4 TAD 'SUMH 2 /PUT SUM2 'I'M'TO 1717 1 627 31 13 DCA SUMH1 /SUM1 1720 1 630 1116 TAD SUML2 1721 1631 3115 DCA SUML1 /RETURN TO TAKE 1722 1 632 52 1 1 JMP BALLP1 /SUM2 .AGAIN 1723 1 633 4724 P0S2.. JMS I ASUM /GOING AWAY FROM 17 24 /MIN AFTER HAVING 1725 /PASSED THROUGH IT 1726 /TAKE,A SET OF 17 27 /READINGS TO 3E 1730 /USED FOR 1731 /COMPARISON 1732 1 634 4443 JMS I AREV /REV MOTORS 1733 1 635 1106 TAD ASUML /STORE READINGS 17 34 1 63 6 3115 DCA SUML! /IN SUM1 1735 1 637 1 107 TAD ASUMH 1736 1 640 3113 DCA SUMH'l 1737 1 641 1111 TAD STKL /MOVE BACK TWO 1740 1 642 4444 JMS I AMOVE /SETS OF READINGS 1741 1 643 1111 TAD STKL 17 42 1 644 4444 JMS I AMOVE 1743 1 64 5 47 2 6 JM S I ASTORE /STORE NEXT SET 17 44 1 64 6 7 200 CLA /OF READINGS IN 1745 1 647 1 107 TAD ASUMH /STACK AND STORE 17 46 1 650 3114 DCA SUMH 2 /THE SUM IN SUM2 1747 1 651 1106 TAD ASUML 1750 1 652 3116 DCA SUML 2 1751 1 653 1111 TAD STKL /SET POSITION 17 52 1 654 1111 TAD STKL /POINTER TO NO. 1753 1 655 1 1 1 I TAD STKL /OF STEPS TAKEN 17 54 1 656 3321 DCA POSCT /FROM COMPARISON 1755 /SUM 1756 1 657 5731 JMP I AC0MP2 /COMPARE SUM2 AND - 72 -17 57 /SL1M1 17 60 1 660 ' 7 230 P0S3* CLA /HAVE NOT YET 17 61 /COME TO SAME 17 62 /DISTANCE FROM MIN 17 63 /AS COMPARISON SUM 17 64 1 661 2321 ISZ POSCT /INCRE POS POINTER 17 65 1 6 62 4445 JMS I ARDPTO /TAKE A SINGLE 1766 /READING 17 67 1 663 7421 MQL 17 70 1 664 7701 ACL /STORE IT IN STACK )77 1 1 665 47 2 5 JMS I ASTACK 17 7 2 1 666 3123 DCA BL /SUBTRACT READING 17 7 3 1 667 31 24 DCA 3H /REMOVED FROM STACK 17 7 4 1 670 7 731 ACL /FROM READING PUT 17 7 5 1 671 3121 DCA AL /IN STACK 1776 1 672 3122 DCA AH 1777 1 67 3 4447 JMS I ADPSUB 2000 1 67 4 1125 TAD CL /ADD RESULT TO 2001 . 1 67 5 3121 DCA AL /SUM 2 2002 1 67 6 1126 TAD CH 2003 1 677 3122 . DCA AH 2004 1700 1116 TAD SUML2 200 5 17 01 3123 DCA BL 200 6 1702 1114 TAD SUMH2 2007 1 703 3124 DCA BH 2010 1704 4450 JMS I ADPADD 201 1 17 0 5 1 125 TAD CL 20 12 170 6 3116 DCA SUML2 2013 1707 1126 TAD CH 20 1 4 17 10 3114 DCA SUMH2 '20TS 17 11 •/<•/; 3 3 JMS I ASTEP /MOVE MOTOR ONE 201 6 /STEP 20 i 7 17 12 5731 JMP I ACOMP2 /COMPARE SUM1 2020 /AND SUM2 2021 /IF SUM2 LT SUM1 2022 /RETURN TO P0S3 2023 17 13 4443 P0S4* JMS I AREV /OTHERWISE HAVE 2024 /FOUND BALANCE 2025 /REVERSE MOTORS 2026 17 14 7300 CLA CLL /DRIVE TO MIDPOINT 2027 17 15 1321 TAD POSCT /OF SUM1 AND SUM2 2030 17 16 7010 RAR 2031 17 17 4444 JMS I AMOVE 2032 17 20 5 600 JMP I BAL /EXIT - AC CLEAR 20 33 /ELLIPSOMETER 2034 /UNIT LEFT AT 2035 /BALANCED POSITION 203 6 1721 0000 POSCT* 0 /POSITION POINTER 2037 1722 3000 HLD3L1* 0 2040 1723 0000 BLFLAGJ 0 /BALANCE FLAG 2041 1724 1 326 A SUM* SUM /ADDRESSES USED 2042 1725 1300 ASTACK* STACK . /BY BAL ROUTINE 20 43 172 6 1513 ASTOHE* STORE 2044 1727 1444 ACOMP0* COMP0 2045 17 30 1452 ACOMP1* COMP1. 2046 ' 1731 14 63 AC0MP2* C0MP2 2047 / 20 50 / 2051 *2000 2052 / 20 53 / 20 54 . /TO SET DERI RED UNIT OF ELLIPSOMETER 2055 /TO A REQUIRED POSITION -73 -205 6 / 20 57 2000 0000 SETEL, 0 20 60 2001 443 5 JMS I ARDSFT /READ SHAFT ENCODER 20 61 2032 13 65 TAD F'W D /TO DETERMINE POS 20 62 2003 7 134 CLL RAL /OF UNIT 20 63 2004 7 630 SZL CLA /DETERMINE WHETHER 20 64 /ANZ OH POL IS TO 2065 2035 44 51 JMS I AANZCP /SET. IF ANZ 20 66 /COMPLIMENT BIT 360 20 67 203 6 110 1 TAD SHFTL 207 0 290 7 3133 DCA DECL /CONVERT POSITION 237 1 2010 1 100 TAD SHFTH /FROM BCD TO BINARY 2072 201 1 31 34 DCA DSCH 2073 20 12 44 57 JMS I ADPDBN 207 4 2013 1125 TAD CL 237 5 20 1 4 310 1 DCA SH FTL /STORE POS IN 207 6 23 1 5 1126 TAD CK /SHAFT(LOW,HIGH) 2077 20 1 6 3100 DCA SHFTH 2100 20 17 1 135 TAD DESTL 2101 20 20 3121 DCA AL /PERFORM 2102 2021 1136 TAD DEST'H /(DEST-SHAFT) 2103 2022 3122 DCA AH 2104 2023 1101 • TAD SHFTL 2105 20 2 4 3123 DCA BL 2106 2025 1 100 TAD SH FTH 2107 202 6 3124 DCA BH 2110 2027 44 47 SU3PT, JMS I ADPSUB /IS RESULT -VE, 21 1 1 23 33 1126 TAD CH /0, OR +VE? 2112 20 31 7 643 SZA CLA 2113 20 32 523 6 JMP • +4 2114 2033 . "1 125 TA'D CL 21 15 20 34 7 650 SNA CLA 2116 2335 ' 5 630 JMP I SETEL /IF 0 THEN DONE 21 17 20 3 6 1 126 TAD CH 2120 ' 20 37 7700 SMA CLA /IF + VE JUMP 2121 2040 52 60 JMP AHEAD 2122 2041 1 135 TAD DESTL 2123 20 42 3123 DCA BL /IF -VE INTER 2124 2043 1136 TAD DESTH CHANGE DEST AND 2125 2044 3124 DCA BH /SHAFT AND DIR 2126 2045 1101 TAD SH FTL /CODES (FWD FOR 2127 204 6 3121 DCA AL /BKD AND VICE 2130 20 47 1 100 TAD SHFTH /VERSA) 2131 2050 3122 DCA AH 2132 20 51 13 66 TAD BKWD 2133 20 52 3377 DCA BHLDK 21 34 20 53 1 3 65 TAD FWD 2135 2054 3366 DCA BKWD 2136 2055 1377 TAD 3HLDK 2137 20 5 6 3365 DCA FWD 2140 2057 5227 JMP SUBPT . /DO SUBT AGAIN 2141 20 60 1 126 AHEAD, TAD CH 2142 2361 3372 DCA DMSEH /STORE DEST-SHAFT 2143 20 62 1 125 TAD CL /IN DM S E 2144 20 63 3371 DCA DMSEL 2145 20 64 1 126 TA'D CH 2146 23 65 3122 DCA AH /PERFORM 2147 2066 1 125 TAD CL /(DMSE-180.00) 2150 20 67 3121 DCA AL /TO DETERMINE 2151 2070 1373 TAD H180 /SHORTEST DIRECTION 21 52 207 1 3124 DCA BH /TO TRAVEL 2153 2072 1374 TAD L180 2154 2073 3123 DCA BL - 74 -81 55 20 7 4 4447 JMS I ADPSUB 215 6 20 7 5 1126 TAD CH 21 57 207 6 7 710 SPA CLA 21 60 207 7 5326 JMP MVEFWD /IF- VE OR 0 2161 /MOVE FORWARD 21 62 2100 1375 TAD H3 60 /IF +VE 21 63 2101 3122 DCA AH /PERFORM 21 64 2102 137 6 TAD L3 60 /(360.00-DMSE) 21 65 2103 3121 DCA AL 21 66 2104 1 372 TAD DMSEH 21 67 210 5 3124 DCA BH 2170 210 6 1371 TAD DMSEL 217 1 2107 3123 DCA BL 2172 2110 4447 JMS I ADPSUB 2173 2111 13 66 TAD BKV.'D 2174 2112 4452 JMS I ASETM /SET MOTORS TO 217 5 2113' 1126 TAD CH /MOVE BACKWARDS 217 6 2114 7 4 50 SNA /MOVE 10000COCT) 2177 2115 5323 JMP . + 6 /STEPS FOR EACH 2200 2116 7 0 4 1 CIA /COUNT IN CH 2201 2117 312 6 DCA CH 2202 2120 4444 JMS I AMOVE 220 3 2121 2126 ISZ CH 2204 2122 5320 JMP • -2 220 5 2123 1125 TAD CL /MOVE CL STEPS . 220 6 21 24- 4444 JMS I AMOVE 2207 2125 5 600 JMP I SETEL /EXIT - AC CLEAR 2210 2 1 2 6 13 65 MVEFWD, TAD FWD 221 1 2127 44 52 JMS I ASETM /SET MOTORS TO 22! 2 21 30 1 372 TAD DMSEH /MOVE FORWARD 22 1 3 o-\ 3 i •7 450 SNA 2214 21 32 5340 •JMP • + 6 /MOVE AS ABOVE 2215 21 33 7041 CIA 221 6 21 34 3372 DCA DMSEH 2217 2135 4444 JMS I AMOVE 2220 2136 2372 ISZ DMSEH 222 1 21 37 5335 JMP .-2 2222 2140 1 37 1 TAD DMSEL 2223 2141 4444 JMS I AMOVE 2224 2142 5 600 JMP I SETEL 2225 / 222 6 / 2227 /TO SET THE ANALYZER TO THE POSITION 2230 /STORED IN DESTH^DESTL CA TWO WORD BINARY 2231 /NUMBER IN THE RANGE 0 TO 35999 DECIMAL)/ 2232 2143 0000 SETAN> 0 2233 2144 1 1 30 TAD ANZCD /GET ANZ CODE 2234 2145 44 52 JMS I ASETM /SET GATING 2235 214 6 1 1 30 TAD ANZCD 2236 2147 33 66 DCA BKWD /SET FWD AND BKWD 22 37 21 50 13 67 TAD AN Z 2 /CODES TO. BE USED 2240 2151 3365 DCA FWD /BY SETEL 2241 21 52 4200 JMS SETEL 2242 2153 5743 JMP I SETAN . /EXIT - AC CLEAR 2243 / 2244 / 2245 /TO SET POLARIZER AS ABOVE 224 6 / 2247 2154 0000 SETPL, 0 2250 2155 1 127 TAD' POLCD /GET POL CODE 2251 2156 4452 JMS I ASETM 22 52 21 57 1 127 TAD POLCD /AS ABOVE 2253 21 60 3365 DCA FWD - 75 -22 54 21 61 . 1370 TAD P0L2 2255 21 62 3366 DCA BKWD 2256 21 63 4200 JMS SETEL 2257 2 1 64 5754. JMP I SET PL /EXIT - AC CLEAR 22.60 / 22 61 • 2i 65 0300 FWD* 0 22 62 21 66 0000 BKWO* 0 22 63 21 67 43 1 4 ANZ2* 43 1 4 22 64 2170 000 2 P0L2* 2 22 65 2171 0000 DMSEL* 0 22 66 2172 000 0 DMSEH* 0 22 67 2173 0004 HI 80* 4 2270 2174 3120 L180* 3120 227 1 2175 00 10 H3 60* 10 2272 2176 6240 L360* 6240 2273 2177 00 30 BHLDX* 0 2274 *2200 227 5 / 227 6 / 2277 /TO CONVERT A TWO WORD BCD NUMBER TO BINARY 2300 /BCD IN DECH* DECL BIN ARY IN CH*CL 2301 / 2302 2200 00 03 DPD3N* 0 2303 2201 1 1 34 TAD DECH /CONVERT HIGH 2304 2202 4442 JMS I ADCBIN /WORD TO BIN 230 5 220 3 3237 DCA DPX2L 2306 220 4 3240 DCA DPX2H 2307 2205 4245 JMS DPX2 2310 220 6 42 45 JMS DPX2 • /MULT BY 2X2X2=8 23 1 1 2207 424 5 JMS DPX2 231 2 2 2 1 0 1243 'TAD CNT3 /SET UP TO MULT 23 1 3 221 1 3244 DCA CNT3HD /BY 5X5X5=125 2314 2212 1237 TAD DPX2L 2315 2213 3241 DCA DPX5L 231 6 2214 1240 TAD DPX2H 2317 2215 3242 DCA DPX5H 2320 221 6 42 5 5 JMS DPX5 /MULT BY 5 ' 2321 2217 1126 TAD CH 2322 2220 3242 DCA DPX5H /NET RESULT IS TO 2323 2221 1 125 TAD CL /MULT DECH BY 2324 2222 3241 DCA DPX5L /1000C DECIMAL). 2325 2223 2244 ISZ CNT3HD 2326 2224 521 6 JMP .-6 2327 2225 1 125 TAD CL 2330 2226 ,3121 DCA AL 2331 2227 1 126 TAD CH 2332 2230 3122 DCA AH 2333 2231 1 133 TAD DECL /CONVERT DECL 2334 2232 4442 JMS I ADCBIN /TO BINARY 2335 2233 3123 DCA BL 2336 2234 3124 DCA BH /ADD TO HIGH PART 2337 2235 4450 JMS I ADPADD 2340 2236 5 600 JMP I DPDBN /EXIT - AC CLEA 2341 2237 0000 DPX2L* 0 2342 2240 0000 DPX2H* 0 2343 2241 0000 DPX5L* 0 2344 2242 0000 DPX5H* 0 2345 2243 7 775 CNT3* -3 2346 2244 0000 CNT3HD* 0 2347 / 2350 / 2351 /DOUBLE PRECISION MULTIPLY BY 2 2352 /INPUT AND OUTPUT TN DPX2H* DPM2L - —- 76 -23 53 / 2354 2245 0000 DPX2, 0 2355 2246 1237 TAD DPX2L 2356 2247 7104 CLL RAL /ROTATE ONE LEFT 23 57 2250 3237 DCA DPX2L 23 60 2251 1240 TAD DPX2H 23 61 2252 7004 RAL 23 62 2253 32 40 DCA DPX2H 23 63 2254 5 645 JMP I DPX2 /EXIT - AC CLEAR 23 64 / 23 65 / 23 66 /D0U3LE PRECISION MULTIPLY BY 5 23 67 /INPUT IN DPX5H,DPX5L OUTPUT IN CH..CL •2370 .-/ 237 1 2255 0000 DPX5, 0 237 2 22 5 6 1241 TAD DPX5L /SET UP TO X2 2373 22 57 3237 DCA DPX2L 2374 22 60 12 42 TAD DPX5H 237 5 22 61 3240 DCA DPX2H 237 6 22 62 42 45 JMS DPX2 /X2 2377 22 63 4245 JMS DPX2 /X2 2400 22 64 1237 TAD DPX2L 2401 22 65 3121 DCA AL /ADD ON ORIGINAL 2402 22 66 12 40 TAD DPX2H /NUMBER 2403 22 67 3182 DCA AH 2404 2270 1241 TAD DPX5L 240 5 227 1 3123 DCA BL 240 6 2272 1242 TAD DPX5H -2407 2273 31 24 DCA BH 8410 227 4 44 50 JM S I ADPADD 24 1 1 2275 5655 JMP 1 DPX5 /EXIT - AC CLEAR 2412 / 2413 / 24 14 /TO TURN ON POWER TRANSISTOR 241 5 / 241 6 227 6 0000 ONSW* 0 2417 22.7 7 7200 CLA 2420 2300 1110 TAD DI R /CLEAR BIT 1 2421 2 301 031 5 AND MK2000 /OF DIR 2422 2332 1316 TAD M02000 /SET BIT 1 OF DIR 2423 2303 6332 6332 /.SET GATES 2424 2304 3110 DCA DIR /STORE CHANGE 2425 2305 5 67 6 JMP I ONSW /EXIT - AC CLEAR 248 6 / 2427 / 2430 /TO TURN OFF POWER TRANSISTOR 24 31 / 2432 230 6 0000 OFFSW, 0 2433 2 307 7200 CLA 2434 2310 1110 TAD DIR /CLEAR BIT 1 2435 231 1 0315 AND MK2000 /OF DIR 243 6 2312 6332 6332 /SET GATES 2437 2313 3110 DCA DIR /STORE CHANGE 2440 2314 570 6 JMP I OFFSW /EXIT - AC CLEAR 2441 / 2442 231 5 5777 MK2000, 5777 2443 231 6 2000 MC2000, '2000 2444 / 2445 / 2446 *2400 2447 / 2450 / 24 51 /TO BALANCE THE POLARIZER AND TYPE - 77 -2452 '/OUT THE BALANCE POSITION 24 53 / 2454 2400 0000 8ALP, 0 2455 2401 7200 CLA 2456 2402 1 127 TAD POLCD /SET POL 24 57 2403 44 52 JMS I ASETM /CODE 24 60 2404 4214 JMS BALU /USE BALU 2461 2405 5 600 JMP I BALP /EXIT .- AC CLEAR 24 62 / 24 63 / 24 64 /TO BALANCE THE ANALYZER AND TYPE 24 65 /OUT TH E BALANCE POSITION 24 66 / 24 67 240 6 0000 BALA, 0 '247 0- '2'4 07 ' 7200 'CLA 247 1 2410 1 1 30 TAD ANZCD • /SET ANZ 247 2 241 1 44 52 JMS 1 ASETM /CODE 247 3 2412 4214 JMS BALU /USE.BALU 247 4 2413 5 60 6 JMP I BALA /EXIT - AC CLEAR 247 5 / 247 6 / 247 7 /TO BALANCE THE UNIT SPECIFIED ABOVE 2500 / 2501 2414 0000 BALU, 0 2502 241 5 4432 JMS I ASPACE 2503 241 6 4432 JMS I ASPACE /TYPE 2 SPACES 250 4 2417 444 6 JMS I ABAL /BALANCE 2505 2420 1247 TAD CHI CD /READ 250 6 2421 44 31 JMS I AANALG /PHOTOMULTIPLIER 2507 2422 3 352 DCA ESIG /STORE READING 2510 24-23 443 5 JMS •I -AR DS-F'-T /READ SHAFT ENCODER 251 1 2424 1110 TAD DIR /I F ANZ THEN COMP 2512 2425 7 104 CLL RAL /BY 3 60.00 251 3 242 6 7 630 SZL CLA 2514 2427 ' 4451 JMS I AANZCP 251 5 2430 1 100 TAD SHFTH /PRINT OUT 251 6 2431 4440 JMS I APRTDC /SHAFT ENCODER 2517 2432 1 101 TAD SHFTL 2520 2433 4440 JMS I APRTDC 2521 2434- 4432 JMS I ASPACE 2522 243 5 44 32 JMS I ASPACE /PRINT 3 SPACES 2523 243 6 4432 JMS I ASPACE 2524 2437 1250 TAD CE 2525 2440 4454 JMS I ABUFF /TYPE ESC ERROR 2526 2441 1251 TAD CS /SIGNAL) 2527 2442 4454 JMS I ABUFF 2530 2443 4432 JMS I ASPACE /LEAVE SPACE 2531 2444 1 352 TAD ESIG /PRINT OUT ES 2532 2445 4437 JMS I APRTOC 2533 2446 5614 JMP I SALU /EXIT - AC CLEAR 2534 2447 0017 CH1CD, 0017 2535 2450 0305 CE, 305 2536 2451 0323 CS, 323 2537 / 2540 / 2541 /TO DO A COMLETE BALANCE OF THE 2542 /ELLIPSOMETER AND TYPE OUT THE RESULTS 2543 7 2544 2452 0000 BALE, 0 2545 2453 1 1 27 TAD POLCD /SET POL 254 6 2454 4452 JMS I.ASETM /CODE 2547 2455 4446 JMS I ABAL /BALANCE POL ~ 25 50 2456 1 130 TAD ANZCD /SET ANZ 78 -2551 2457 4452 2552 24 60 44 4 6 2553 2461 1 127 2554 24 62 4452 2555 2463 444 6 25 5 6 24 64 4432 2557 24 65 4432 25 60 24 66 4432 2561 24 67 44 35 2562 247 3 1 344 25 63 247 1 44 54 25 64 2472 1345 25 65 247 3 44 54 25 66 2474 1346 25 67 247 5 4454 257 0 247 6 44 32 257 1 2477 1 1 00 257 2 2500 4440 257 3 2501 1101 257 4 2 502 4440 2575 2503 4432 257 6 2504 4432 257 7 2 50 5 44 32 2 600 250 6 ' 1347 2601 2507 4454 2602 2510 1 3 50 2603 251 1 44 54 2 604 2512 1351 260 5 2513 4454 268 6 2^14 44^2 2 607 'd 5 1 5 1130 2610 251 6 4452 261 1 2517 444 6 2612 ' 2520 '1247 261 3 2 521 4431 2614 2522 3352 261 5 2523 4435 261 6 2524 4451 2617 2525 1 100 2 620 2526 4440 2621 " . 2527 1101 2622 2530 4440 2623 2531 4432 2624 2532 4432 2625 2533 4432 262 6 2534 1250 2627 2535 44 54 2630 2536 .1251 2631 2 5 37. 44 54 2632 2540 4432 2633 2541 1352 2634 2 542 4437 2635 2543 5652 2 63 6 2544 0320 2637 2545 0317 2640' 2546 03 14 2 641 2 547 0301 2 642 2550 .031 6 2643 2551 0332 2 644 2552 0030 2645 2646 2 647 JMS I ASETM JMS I ABAL TAD POLCD JMS I ASETM JM S I ABAL JMS I ASPACE JMS I ASPACE JMS 1 ASPACE JMS I ARDSFT TAD CP JMS I ABUFF TAD CO JMS I A.3UFF TAD CLC JMS I ABUFF JMS I ASPACE TAD SHFTH JMS I APHTDC TAD SHFTL JMS I APHTDC JMS I ASPACE JMS I ASPACE JMS I ASPACE TAD CA JMS I A3UFF TAD CM JMS I ABUFF TAD CZ JMS I ABUFF JM S I ASPACE TAD AM ZC D JMS I ASETM JMS I.ABAL TAD CHI CD JMS ' I AAMALG DCA ESIG JMS I AHDSFT JMS I AAMZCP TAD SH FTH JMS I APHTDC TAD SHFTL JMS I APHTDC JMS I ASPACE JMS I ASPACE JMS I ASPACE TAD CE JMS I ABUFF TAD CS JMS I ABUFF JMS I ASPACE TAD ESI G JMS I APHTOC JMP I BALE CP* 320 CO* 317 CLC* 314 CA* • 301 CM* 316 cz* 332 ESIG* 0 / / *2600 /CODE /BALANCE ANZ /SET POL /CODE /BALANCE POL /TYPE 3 SPACES /READ SHAFT ENCODER /TYPE "POL /LEAVE A SPACE /PRINT OUT SHAFT /ENCODER (POL) /LEAVE 3 SPACES /TYPE "ANZ" /LEAVE A SPACE /oET ANZ /CODE /BALANCE ANZ /READ /PHOTOMULTIPLIER /STORE /READ SHAFT ENCODER /COMPLIMENT BY /3 60.0O /PRINT OUT SHAFT /ENCODER (ANZ) /LEAVE 3 SPACES /TYPE "ES" /LEAVE SPACE /TYPE OUT ES /EXIT - AC CLEAR - 79 -2650 2651 2652 2653 2654 2655 265 6 2657 2 660 2 661 2 662 2 663 2664 .26.65 2666 2667 2670 2 67 1 267 2 2 67 3 2 67 4 2 67 5 267 6 2 67 7 2700 2701 2 600 2 601 2 602 2 603 2 604 2 60 5 2 60 6 2 607 2 610 261 1 2 612 2 613 0000 4432 4432 421 4 44 60 5 600 0000 4432 4432 42 1 4 44 61 5 60 6 / / /TO SET THE ANALYZER FROM THE KEYBOARD / SETAR, 0 '• . JMS I ASPACE JMS I ASPACE JMS RDFVE JMS I ASETAN JMP I SETAR /TYPE TWO SPACES /READ A 5 DIGIT /BCD NUMBER /USE SETAN ROUTINE /EXIT - AC CLEAR / / /TO SET THE POLARIZER FROM THE KEYBOARD / SETPR* 0 JMS I ASPACE JMS I ASPACE JMS RDFVE JMS I ASETPL JMP I. SETPR / / /TO READ A 5 DIGIT BCD CHARACTER FROM /THE KEYBOARD / /TYPE TW0 SPACES /READ NUMBER /USE SETPL /EXIT - AC CLEAR 2702 2 614 0000 RDFVE* 0 27 03 2615 4455 JMS I AREAD3 27 0 4 2 616 7 42 1 MQL 8705 2 617 '7 n * / f vv i ACL I A3 U F F 270 6 2 62w 4 4 54 1 M C 2707 2 621 7 70 1 ACL 27 10 2 622 1 300 TAD M2 60 27 1 1 2 623 7 1 0 6 CLL RTL 27 12 2 624 ' 700 6 RTL 27 1 3 2 62 5 3134 DCA DECH 27 1 4 2 62 6 445 5 JMS I AREADB 2715 2 627 7421 MQL 27 1 6 2630 7701 ACL 27 17 . 2631 44 54 JMS I ABUFF 27 20 2632 7701 ACL 27 21 2633 1 300 TAD M2 60 27 22 2 634 1 1 34 TAD DECH 27 23 8635 3134 DCA DECH 27 24 2 63 6 4455 JMS I AREADB 27 25 2 637 7421 MQL 27 2 6 2 640 7 7 01 ACL 2727 2641 4454 JMS I ABUFF 27 30 2 642 7 701 ACL 2731 2 643 1 300 TAD M2 60 27 32 2 644 7 110 CLL RAR 27 33 2 645 7012 RTR 27 34 2646 7012 RTR 2735 2 647 3133 DCA DECL 273 6 2650 445 5 . JMS I AREADB 27 37 2651 7421 MQL 2740 2652 7701 ACLv 27 41 2 653 4454 JMS* I ABUFF 2742 2 654 7701 ACL 27 43 2655 1300 TAD M2 60 2744 2656 7106 CLL RTL 2745 2 657 700 6 RTL 27 4 6 2 660 1 133 TAD DECL /READ FIRST CHAR /TYPE IT /REMOVE ASKII CODE /ROTATE 4 BITS /LEFT /STORE IN DECH /GET 2ND CHAR /TYPE IT /REMOVE ASKII /ADD TO DECH /GET 3RD CHAR /TYPE IT /REMOVE ASKI I /STORE IN HIGH /ORDER 4 BITS OF /DECL /GET 4TH CHAR /TYPE IT /REMOVE ASKII /STORE IN MIDDLE /4 BITS OF /DECL - 80 -27 47 2 661 3133 DCA DECL 27 50 2 662 4455 ' JMS I AREADB /GET LAST CHAR 27 51 2663 7421 i MQL 27 52 26 64 7 701 ACL 27 53 2665 4454 JMS I ABliFF /TYPE IT 27 54 2 66 6 7701 ACL 27 5 5 26 67 1300 TAD M2 60 /REMOVE ASKII 27 5 6 2 670 1 1 33 TAD DECL /STORE IN LOW 27 57 - 2 671 3133 DCA DECL /4 BITS OF DECL 27 60 2 67 2 4457 JMS I ADPD3N /CONVERT TO BIN 27 61 2 67 3 1126' TAD CH 27 62 2 674 3136 DCA DESTH /STOKE IN 27 63 2 67 5 1 125 TAD CL /DESTINATION 27 64 2 67 6 3135 DCA DESTL /(DESTH,DESTL) 27 65 2 67 7 5 614 JMP I RDFVE /EXIT - AC CLEAR 27 66 27 00 7520 M260, -260 27 67 / 2770 / 277 1 *3000 27 7 2 / 27 7 3 / 27 7 4 /TO MOV E MOTORS FROM KYBRD 277 5 / 27 7 6 3000 0000 MOTR, 0 27 77 300 1 4432 JMS I ASPACE /TYPE SPACE 3000 3002 . 44 55 JMS I AREADB /GET F'R CHAR 300 1 300 3 7421 MQL /SAVE 3002 3004 7 701 ACL 300 3 3005 4454 JMS I ABUFF /TYPE FR CHAR 3004 300 6 4432 JM S I ASPACE /TYPE SPACE 300 5 30 07 1 300 TAD MOTINF /-I-NT-ERR0GATE XY 300 6 3010 130 1 TAD MX 3007 301 1 7 640 SZA CLA 30 1 0 3012 523 1 JMP YM /XY IS NOT X 30 1 1 3013 7 701 ACL /XY IS X 30 12 3014 1 302 TAD M F /INTERROGATE 3013 /FOR REV .CHAR 3014 3015 7 640 SZA CLA 30 1 5 30 1 6 5222 JMP MXK /FR IS NOT F' 30 1 6 3017 1131 TAD M2XCD /FR IS F - SET 3017 3020 44 52 JMS I ASETM /MOTORS X-FOR .3020 3021 52 52 JMP RUMM /RUN MOTORS 3021 3022 7701 MXR, ACL /LOAD FR CHAR 3022 3023 1 303 TAD MR /IS IT R 3023 3024 7 640 SZA CLA 3024 3025 5 600 JMP 1 MOTH /NO - EXIT 3025 3026 1 304 TAD M2XCDR /YES - SET MOTORS 302 6 3027 4452 JMS I ASETM /TO X-REV 3027 3030 5252 JMP RUNM /RUN MOTORS 3030 3031 1300 YM, TAD MOTINF /IS XY CHAR Y 3031 3032 1 30 5 TAD MY 3032 3033 7 640 SZA CLA 3033 30 34 5 600 JMP I MOTR /NO -EXIT 3034 3035 7 701 ACL /YES GET FR CHAR 30 35 3036 1 302 TAD MF 303 6 3037 7 640 SZA CLA 3037 3040 5244 JMP MYR 3040 3041 1 1 32 TAD M2YCD / SAME FOR Y 3'041 3042 4452 JMS I ASETM / AS FOR X 3042 3043 5252 JMP RUNM 3043 3044 7701 MYR, ACL 3044 3045 1303 TAD MR 3045 3046 7 640 SZA CLA - 81 -304 6 3047 5 600 JMP I.MOTR 3047 30 50 1 306 TAD M2YCDR 30 50 3051 44 52 JMS I ASETM 30 5 1 30 52 4455 RUNM* JMS I AHEADB /READ FIRST OF 30 52 30 53 1307 TAD M260M /TWO DIGITS TO 30 53 30 54 7 1 0 6 CLL RTL /DETERMINE NO 30 54 3055 700 6 RTL /OF 1/16" TO 3055 30 5 6 3310 DCA SIXTN /PLATES 30 5 6 30 57 4455 JMS I AREADB 30 57 30 60 1307 TAD M2 63M 30 60 30 61 1310 TAD SIXTN 30 61 30 62 7421 MQL 30 62 30 63 7701 ACL /SAVE 30 63 30 64 4432 JMS I ASPACE /TYPE SPACE 30 64 3065 '7 7 0 1 ACL' 30 65 30 66 44 40 JMS I APRTDC /TYPE OUT MOVE 30 66 MENT OF PLATES 30 67 30 67 7731 ACL 307 0 3070 4442 JMS I ADCBIN /CONVERT MOVE-307 1 /ENT TO BINARY 307 2 307 1 7041 CIA /SET UP COUNTER . 307 3 3072 3310 DCA SIXTN 307 4. 307 3 1311 TAD SIXTEN . 307 5 307 4 4444 JMS I AMOVE /STEP 1/16" 307 6 307 5 2 3 1 0 ISZ SIXTN /STEP REQUIRED 307 7 307 6 5273 JMP .-3 /NO OF 1/16" ' 3100 3077 5 600 JMP I MOTR /EXIT - AC CLEAR 3101 3100 0000 MOT INFi 0 3102 3101 74 50 MX* -330 3103 3102 7472 MF* -306 3104 3103 7-45'6 MR* -322 3105 3104 0 300 M2XCDR, 300 3106 3105 7 447 Mr* -331 3107 3106 00 60 M2YCDR* 60 3110 3107 7 520 M2 60M* -2 60 31 1 1 3110 0000 SIXTM* 0 31 12 3111 2000 SIXTEN* 2000 31 13 3112 0330 MXC* 330 31 14 31 13 0331 MYC* 331 31 15 / 3116 / 31 17 /TO MOVE X MOTOR 3120 / 3121 3114 0000 MOTRX* 0 3122 3115 7200 CLA 3123 3116 1312 TAD MXC /PUT "X" IN MOTOR 3124 31 17 3300 DCA MOTINF / I'N FO 3125 3120 4200 JMS MOTR /USE MOTR ROUTINE 3126 3121 57 14 JMP I MOTRX /RETURN 3127 / 3130 / 3131 /TO MOVE Y MOTOR 3132 / 31 33 31 22 0000 MOTRY* 0 3134 3123 7 200 CLA 3135 3124 1313 TAD MYC /PUT "Y" IN MOTOR 31 36 3125 3300 DCA MOTINF /INFO 3137 312 6 4200 JMS MOTR /USE MOTR ROUTINE 3140 3127 5722 JMP I MOTRY /RETURN 3141 / 31 42 / 3143 *3200 3144 / - 82 -3145 / 3146 /TO OPEN SHUTTER AND WAIT FOR A BALANCE 3147 / 31 50 3200 0000 STOP* 0 3151 3201 44 55 JMS I AHEADB /DETERMINE NO OF 3152 3202 3237 DCA STPNO /BALANCES 3153 3203 3240 DCA DN FLAG /CLEAR FLAG 31 54 3204 44 62 JMS I AONSW /OPEN SHUTTER 31 55 3205 42 43 JMS RDP4 /READ PHOTOMULT ' 3156 3206 3241 DCA SMI /STORE READINGS 3157 3207 42 43 LPSTP* JMS RDP4 /READ AGAIN 31 60 3210 3242 DCA SM2 /SORE READINGS 31 61 321 1 1 242 TAD SM2 31 62 32 12 7041 CIA 31 63 3213 1241 TAD SMI /SM1-SM2 31 64 . 3214 7 700 SMA CLA /TEST RESULT 31 65 321 5 5223 JMP UPHILL /READS INCRESE 31 66 321 6 7 001 IAC /READS DECREASE 31 67 3217 3240 DCA DN FLAG /SET FLAG 3170 3220 1 242 TAD SM2 /REPLACE SMI 317 1 3221 3241 DCA SM1 /BY SM2 3172 3222 5207 JMP LPSTP /LOOP 3173 3223 1237 UPHILL* TAD STPNO • /LAST BAL? 317 4 3224 7 640 SZA CLA 317 5 3225 5231 JMP CNTST /NO BAL AGAIN 317 6 322 6 1240 TAD DN FLAG /APPROACHING MIN 317 7 3227 7 650 SNA CLA 3200 3230 5235 JMP ENDS TP /FIN INHED 3201 3231 3240 CNTST* DCA DN FLAG /CLEAR FLAG 3802 3832 1 242 TAD SM2 /REPLACE SMI BY 3203 32 33 3 2'41 DCA SM) /SM2 3204 3234 5207 JMP LPSTP •/LOOP 320 5 3235 44 63 ENDSTP* JMS I AOFFSW /CLOSE SHUTTER 3206 3236 5 600 JMP I STOP /EXIT - AC CLEAR 320 7 3237 0000 STPNO* 0 '3210 3240 0000 DNFLAG* 0 321 1 3241 0000 SM 1 * , 0 3212 3242 0000 SM2* 0 321 3 / 32 14 / 3215 /TO HEAD AND SUM PHOTOMULT 4 TIMES 3216 / (SUM LEi <"T IN AC) 32 1 7 / 3220 3243 0000 RDP4* 0 3221 3244 12 55 TAD M4C 3222 3245 3254 DCA CNT4 /SET COUNTER 3223 3246 3256 DCA SUMPTO /CLEAR 3224 3247 4445 JMS I ARDPTO /READ PHOTOM 3225 3250 1256 TAD SUMPTO /ADD TO SUM 322 6 3251 22 54 ISZ CNT4 /FOURTH TIME? 3227 3252 5247 JMP .-3 3230 3253 5 643 JMP i' RDP4 /EXIT SUM IN. AC 3231 3254 0000 CNT4* 0 -3232 3255 7 7 74 M4C* -4 3233 3256 0000 SUMPTO* 0 3234 / 3235 / 3236 *3400 3237 / 3240 / 3241 /TO ITERROGATE KEYBOARD AND DECODE 3242 /COMMANDS 3243 / - 83 -3244 3400 445 6 JMS I AIM IT /INITILIZE 324 5 3401 4430 JMS I ACRLF /CRLF 324 6 3402 4455 STSYS* JMS I AREADB /READ A CHAR 3247 3403 7 421 MQL /SAVE IT 32 50 3404 7 7 0 1 ACL /LOAD IT 32 51 340 5 4454 JMS I ABUFF /TYPE IT 3252 340 6 7 7 0 1 ACL /LOAD AGAIN 3253 3407 1246 TAD KG300 /SUB 300 32 54 3410 7 002 3SW /BYTE SWAP 32 5 5 341 1 3247 DCA CHARAD /SAVE 1ST CHAR 3256 341 2 4455 JMS I AREADB /READ 2ND CHAR 32 57 341 3 7 481 MQL 32 60 3414 7701 ACL 3261 34-1 5 4454 .JMS .1 ABUFF /.TYPE IT 32 62 341 6 7 701 ACL 32 63 3417 1246 TAD KC300 /SUBT 300 32 64 3420 1247 TAD CHARAD /PUT IN LOW BYTE 3265 3421 3247 DCA CHARAD /WITH 1ST CHAR 32 66 3422 1243 TAD STLST /SET ADDRESS OF 32 67 3423 301 5 DCA LSTPT /POINTER 3270 3424 1415 TAD I LSTPT /GET COMPARISON 3271 3425 7041 CIA /WORD. NEGATE 3272 342 6 7450 SNA /0 INDICATES END 327 3 3427 5241 JMP EMDLST /OF LIST 327 4 3430 1 247 TAD CHARAD /COMPARE 327 5 3431 7 640 SZA CLA /I F NOT THE SAME 327 6 3432 5224 JMP .-6 /GET NEXT COMP 3277 3433 10 15 TAD LSTPT /ADDRESS OF LOC 3300 3434 1 244 TAD ADLST /IS SUMM 330 i 3435 3245 DCA ADSTOR /SAVE ADDRESS 3302 343 6 1 645 TAD 1 ADSTOR /GET ADDRESS OF 3303 3437 3845 DCA ADSTOR /COMMAND, SAVE IT 330 4 3440 4 645 JMS I ADSTOR /EXECUTE COMMAND 3305 3441 • 4430 ENDLST* JMS I ACRLF /CRLF ENDS COMMAND 330 6 3442 5802 JMP STSYS /START OVER 3307 3443 3 677 STLST* 3677 33 1 0 3444 0040 ADLST* 40 331 1 3445 0000 ADSTOR* 0 3312 344 6 7500 KC300* -300 3313 3447 0000 CHARAD* 0 3314 / 3315 / 331 6 *3700 3317 370B 0805 ABE* 020 5 /CODES FOR 3320 . 37 01 0201 ABA* 020 1 /COMPARISON 3321 3702 0220 A3P* 0220 3322 3703 2301 ASA* 2301 3323 37 04 2320 ASP* 2320 3324 370 5 1 530 A MX* 1 530 3325 370 6 1531 AMY * 1531 3326 3707 2302 ASB* 2302 3327 37 10 1723 AOS* 1723. 3330 37 1 1 0323 ACS* 0323 3331 3712 0000 AEND* 0 3332 / 3333 / 3334 *3740 3335 37 40 2452 BBE* BALE /ADDRESSES 333 6 .37 41 2406 3BA, BALA ' /OF SUBROUTINES 3337 37 42 2400 BBP* BALP 3340 37 43 2600 BSA* SETAR 3341 37 44 2606 ' BSP* SETPR 3342 3745 3114 3MX* MOTRX - 84 -3343 37 4 6 3122 3MY> MOTRY 3344 37 47 00 64 BS3* ASTOP 3345 37 50 227 6 BOS.. ON s w 334 6 37 51 2306 3CS, OFFSW 3347 / 33 50 / NO ERRORS AANALG 00 31 AANZCP 0051 ABA 3701 ABAL 004 6 ABE 3700 A3NBCD 0041 ABP 370 2 ABUFF 00 54 ACCNTU 07 0 2 ACCST 0 667 ACCSTP 07 1 6 AC CUM 0370 ACL 7 7 01 ACOMP0 1727 ACOMP1 17 30 AC 0MP2 1731 AC RL F 00 30 ACS 37 1 1 ACTI ME 07 22 ADCBIN 0042 ADLST 3444 ADPADD 00 50 ADPD3N 00 57 ADPSUB 0047 ADSTOR 344 5 A EN D 3712 AH 0122 AHEAD 20 60 AINIT 00 5 6 AINTSR 0002 AKFXAG 0 57 1 AKYCMT 0 57 2 AL 0 121 AMOVE 0044 AMULT5 00 5 3 AMX 3705 AMY 3706 ANALG .0 50 6 ANZCD 0130 ANZ CP 0723 ANZ 2 . 2 1 67 AOFFSW 0063 AONSW 00 62 AOS '3710 APOS0 1 50 6 APOSl 1 507 AP0S2 1510 APOS3 1511 AP0S4 1512 APHTDC 0040 APRTOC 0037 ARDDVM 00 3 6 ARDPTO 004 5 AHDSFT 0035 AHEADB 00 5 5 AHEV 004 3 ASA 3733 AS3 3707 ASETAN 00 60 ASETM 00 52 ASETPL 00 61 ASP 370 4 ASPACE 0032 ASTACK 172 5 ASTEP 0033 AS TOP 00 64 ASTOKE 1726 ASUM 1724 ASUMH 0107 ASUML 013 6 ATFLAG 3 570 ATLC'NT 0 57 3 AWAIT 00 34 BACK 10 63 BAL 1600 BALA 240 6 BALE 2452 BAL LP 1 1611 BALP 2400 3ALU 2414 BBA 37 41 B3E 37 40 33P 37 42 3CS. 375i BH 01 a4 BHLDK 2177 SKWD 2166 BK2 1102 3K3 1124 BL 012 3 BLFLAG 17 2.3 3MX 374 5 3MY 37 4 6 3NBCD 10 53 BNBR . 1142 BNLP1 1055 BNLP2 107 6 BNL.P3 1120 BOS 37 50 BSA 37 43 BS3 37 47 BSP 3744 BSW 7 002 BUFFER 0250 BUFLP1 02 53 BUFPT. 0011 CA. 2 547 CAM 7 621 CE 2453 CH 012 6 CHARAD 3447 CHDIR i420 CHI CD 2447 CL 012 5 CLASWP 7721 CLC 2546 CLTFLG 027 6 CMPSM 1466 CN 2 5 50 CNTST 32 31 CNT3 2243 CNT3HD 2244 CNT4 3254 CO 2 54 5 COMP0 1 444 COMP 1 1452 COMP 2 14 60 CP 2544 CRLF 0400 CS 2451 C.i'HOP 0.244 CZ 2551 DCBIN 1000 DECH 0134 DECL 0133 DE5TH 0 136 DESTL 0135 DI G 1 143 DIGCTR 0 502 DI H 0110 DMSEH 2172 DMSEL 217 1 DN FL AG 3840 DNUMB 0 10 5 DPADD 1 541 DPD3N 2200 DP SUB 1553 DPX2 2245 DPX8H 2240 DPX2L 2237 DPX5 22 5 5 DPX5H 2242 DPX5L 2241 DvMH 0103 DVML 0102 ENDBUF 0 3 62 ENDXBF 0365 ENDLST 3441 ENDSK1 1325 ENDSTK 0010 ENDS TP 3235 ENDTIM 0 62 5 ESIG 2552 EXTINT 0213 FINISH 10 66 FLAGUP 0355 FLGSET 143 3 F"NH2 1104 F"NH3 1126 FWD 21 65 HLDBL1 1722 HI 83 2173 H3 60 217 5 INITZE 0543 INTHPT 0330 INTSEH 0200 KBDCNT 0 37 4 KC F 60 30 KC 10 1 146 KC100 1 1 45 KG 1030 1.144 KG 3 0 53 3 KG 300 344 6 KG 4 3 47 7 KK1777 0 56 6 KK2177 0 5 67 KPDPS 1 57 1 KY3DPT 0-31 3 KY 3RD 3302 KYFLAG 03 67 KYN D2 0 347 KYNEND 0314 K1000D 07 45 K212 3 41 4 K215 0415 K2 49 041 6 K2 63 047 6 K3 5D 07 4 6 LINK 0 37 1 LKPRT 3 57 4 LP STP 3207 LPSUM 1 335 LSTPT 0015 L180 2174 L3 60 - 217 6 MASK 0 47 3 MASK 17' 3 504 MASK37 0 653 MASK40 3 652 0 47 5 MC233G 2 3-l 6 MF 3102 MK1 7 102 5 MK2000 2315 MK3 60 102 6 MK7 400 1027 MK7 7 0 541 MK7 7 30 0 540 MLT103 1344 MM BR 10 43 MOTINF 3100 MOTOR 1434 MOTR 3000 MOTRX 3114 MOTRY 3122 MOVE 143 5 MQA 7 501 MQL 7 421 MQSAVE 0 37 2 MR 3133 MSDIG 0104 MSKDIR 1416 MSKDR1 1432 MSKDR2 1417 MSKD1 071 5 MULT 10 1030 MULT 5 1034 MVEFWD 2126 MX 3101 MXC 31 12 MXR 3022 MY 3105 MYC 3113 - 88 MYR 30 44 M2XCD 0 131 M2XCDR 3104 M2YCD 0 132 M2YCDR 3106 M260 27 00 W2 60M 3107 M4C 3255 NOTEDB 027 1 is)0TEND 0241 NUMBER 0 500 OCNBR 1024 OFFSW 230 6 ONSW 227 6 PHTOCD 1354 POLCD 0127 P0L2 2170 POSCT 1721 POS0 1622 POS1 1625 P0S2 1633 POS 3 16 60 P0S4 17 13 PRINT 0417 PRTDC 0447 PRTOC 0461 RDDVM 0 63 5 RDFVE 2 614 RDPTO 1347 RDP4 324 3 RDSFT -0 62-6 READS 0330 READPT 0014 REV 1400 ROTNBR 047 4 RUNM 30 52 SETAN 2143 SETAR 2 600 SETEL 2000 SETKFL 0 324 SETM . 1421 SETPL 2154 SETPR 2 60 6 SHFTH 0100 SHFTL 0101 SHIGH 0 542 SIXTEN 3111 SIXTN 3110 SKC16 0717 SMI 3241 SM2 3242 SPACE 0407 SPF 6040 STACK 1300 STBL 1603 ST3UF 0363 STEP 0 654 STEP1 0 600 STKL 0111 STKLC 0112 STKYBF 03 66 STLP1 1523 STLST 3443 - 89 STNBR 3 501 STOP 2200 STORE 15i3 STPCNT 3117 STP.\'0 3237 STROT 3 50 5 STSTK 3 120 STSYS 3432 SUBPT 2027 SUM 132 6 SUMH1 3113 SUMH2 8114 SUML1 0115 .SUM!. 2 0.1 1 6 SUMPTO 32 5 6 SVSTKl 1323 SVSTK2 1324 SWP 7 521 S8GTS1 1534 S2LTS1 153 5 TELCNT 037 3 TELTP 022 3 TFLAG 0 3 64 TYPEPT 00 12 UNPACK 3 42 5 UPHILL 3223 WA IT 0 611 WLP1 3 614 WT 3 613 ,MT T M "Z" • CAl O 1 •V * a i J i-. rj i * n-pi r.\ "j r, r\ Vi I L tt t C YJ m 3031 

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
http://iiif.library.ubc.ca/presentation/dsp.831.1-0065572/manifest

Comment

Related Items