Home
ALS-8 Program Devopment System Operator`s Manual
Contents
1. 0010 THIS PROGRAM IS LOADED AT THE VERY END OF THE 0020 ALS 8 D000 RAM AREA BECAUSE IT IS A PART OF THE 0030 ALS 8 FILE ON CASSETTE TAPE IT PERFORMS PRIMARY 0040 INITIALIZATION OF THE ALS 8 FOR EITHER SOLOS OR 0050 CUTER 0060 0070 0080 STAR EQU HE ALS 8 FILE BEGINS EXECUTION HERE 0090 INX H CHECK BYTE 1 OF SOLOS CUTER JUMP TABLE 0100 OV A M THIS MUST BE A JMP 0110 CPI 0C3H IF NO HEN THIS CANNOT BE SOLOS CUTER 0120 JNZ ALS8 NO USE NORMAL ALS8 I O DRIVERS 0130 IVI L gt SINP NOW CHECK THE SINP ROUTINE 0140 OV A M THIS MUST BE A LDA 0150 CPI 3AH IF NOT THEN THIS ISN T SOLOS CUTER EITHER 0160 JNZ ALS8 NO STD 1 0 DRIVERS THEN 0170 OV A H GET THE ADDRESS OF SOLOS CUTER 0180 STA XXINP 2 RELOCATE THE INPUT CALL W IN STAT 0190 STA XXOUT 2 AND THE OUTPUT CALL W IN OUTP8 0200 MVI 0 PREP TO GET SOLOS CUTER MINUS ONE 0210 DCX H NOW IS MINUS ONE 0220 SHLD ESET POST SOME VALUE FOR ESET 0230 LXI H RET PT TO A RETURN INSTRUCTION 0240 SHLD CTLU ROUTINE FOR CTL U DURING EDIT 0250 LXI H OD700H PICK A DUMMY STAR VALUE 0260 SHLD STAB OW ALS8 WILL GET INIT ED
2. D098 0001 D098 0002 D098 0003 ALS 8 SYSTEM I 0 DRIVERS D098 0004 D098 0005 D098 0006 D098 0007 INPUT DRIVER D098 0008 DO98 CD AZ DO 0009 INP8 CALL STAT GETSTATUS DO9B CA 98 DO 0010 JZ INP8 LOOP UNTIL AVAILABLE DO9E 0011 DO9E DB 01 0012 IN UDATA GET DATA FROM INPUT PORT DOAO E6 7F 0013 ANI 127 STRIP OFF PARITY DOA2 47 0014 MOV B A PUT COPY IN ALTERNATE REGISTER DOA3 C9 0015 RET DOA4 0016 DOA4 DB 00 0017 STAT IN USTA DOA6 E6 40 0018 ANI DAV TEST FOR DATA AVAILABLE DOA8 C9 0019 RET DOA9 0020 DOA9 0021 OUTPUT DRIVER DOA9 0022 DOA9 CD AZ DO 0023 OUTP8 CALL STAT GET INPUT STATUS DOAC CA B8 DO 0024 JZ NOCHR JUMP IF NO INPUT HAS BEEN RECEIVED DOAF DB 01 0025 IN UDATA GET CHARACTER DOB1 E6 7F 0026 ANI 127 DOB3 FE 1B 0027 CPI ESC IS IT AN ESCAPE DOB5 CA 60 EO 0028 JZ EORMS IF SO CHANGE DRIVER AND OUTPUT READY DOB8 DB 00 0029 NOCHR IN USTA DOBA E6 80 0030 ANI TBE IS PORT READY FOR OUTPUT DOBC CA B8 DO 0031 JZ NOCHR DOBF 78 0032 MOV A B GET CHARACTER FOR OUTPUT DOCO D3 01 0033 OUT UDATA DOC2 C9 0034 RE DOC3 0035 DOC3 0036 UDATA EQU 1 DATA PORT NUMBER DOC3 0037 USTA EQU 0 STATUS PORT NUMBER DOC3 0038 DAV EQU 40H DATA AVAILABLE EST BIT DOC3 0039 TBE EQU 80H TRANSMITTER BUFFER EMPTY AT BIT
3. NAME OPERATION OPERAND COMMENT between each field for identification For automatic formatting however the comment field must be preceded by at least TWO BLANKS Instructions which use only the operation field as does 35 RZ should be followed by a dummy operand if comments are to be used with the statement Blanks in the following example are shown as dashes for clarity RZ COMMENTS ADDED AFTER TWO SPACES CONSTANTS KKKKKKKKK The ALS 8 Assembler allows the use of constants within the operand field Hexadecimal and decimal as well as octal constants may be used When using either octal or hexadecimal the value should be followed by a Q or H to indicate OCTAL and HEX respectively When a value does not include a following identifier it defaults to DECIMAL but a D may be used for clarity when desired MVI A 128 Move 128 decimal to register A LXI H 2FH Move 2F hexadecimal to registers H amp L MVI B 400 Move 40 octal to register B JMP OFFH Jump to address FF hexadecimal As shown by the last example all constants must begin with a numeric quantity When hexadecimal values begin with the letters A F they should be preceded by the numeric value zero EXPRESSIONS KKKKKKKKKKK An expression is a sequence of one or more SYMBOLS CONSTANTS or other express
4. Driver command allows an assembly to be performed by reading ser supplied file in memory it is necessary river rather than typical example of assemble a program ld otherwise no rrent input driv fit within the er to retrieve th tting one byte ut driver fo each time the t driver probab e at a time as would r the ASSI command driver is called ly would not is called it must line into memory beginning numbers are to be passed as wel numbers should be placed into n A line begins hex for four bytes known as IBUF The assembler requires two to complete an assembly some provision both for del well as for rewinding the data may be passed to the and terminates wit Therefor E4 at location D Ll the ASC pass one entire hex If line characters for the nemory beginni at loca ng at location D1DF tion D1E4 this is th a CR 0 the sou the Inp tecting the end of passes of D hex ree file in order ut driver must make the first pass as source data so tha assembler a second end of the source is detec ted the input dri line containing END to the assembler so t the entire time When the ver must pass a hat the assembler will know that the end of a pass has been reached 80 source APPEN A
5. ll be moved into the system RAM area The ALS 8 cassette contains only one file called ALS 8 To load and execute this file under either SOLOS or CUTER Ts Be certain that 12K of RAM esists from D000 through EFEFEF Los Place the ALS 8 cassette into the cassette playback unit Su Enter XEQ ALS 8 to either SOLOS or CUTER The tape will now read in and the ALS 8 initialization program will automatically be executed 4 Once the initialization program completes the ALS 8 will display the message READY 81 APPENDIX DF80 DF81 DF82 DF84 DF87 DF89 DF8A DF8C DF8F DF90 DF93 DF96 DF98 DF99 DF9C DF9F DFA2 DFAS DFA8 DF80 N w C3 1F NOANNanNdadAaNdad N gt tt E N ws 24 1 mi t o N U DFAE DFB1 DFB4 DFB7 DFBA DFC7 DFCA DFCB DFD1 DFD2 DFD5 DFD7 N dh o PNNNNNNNNNNNNO00JIOTIDNOR o HH DF DO CO DF
6. tain tex t they normall text yo file wi the ALS 8 modifiers to a command used at all arguments ar depends on the com Commands usin argument given the many tables used by the ALS closed in slash mar it must be en interpreted by g an AS C The ASC shows a number of comman ASSM 200 ASSM 20 FILE DUMP 101 CU 0 00 ENAME 110 STE HACF 307 3000 10 t usu u are thou utive c ted fun umeric How th m e E m th argumen argu ds as th Oo IO DR Most instances a default question exam comm of arguments ORG argumen rul TAPES e DFOO binary ou is missin argument defaultin command i execu these com tput gr for both arguments g two arguments so s given with no arguments tive commands will be given in the detailed description of mands in the upcoming chapters DF80 ally program y sequenc now reading ommands accept however t line numbers using th argu tom commands which have been covered the ALS 8 executive does recognize a command line type n and set list ntries a very powerful feal ly covered in Chap note that they con and that ot shown in Lines beginning with a number are assumed to a file of information si ture of the ALS 8 which For the moment it text for the their con tore
7. th nu of the second argument RNUM function wil llowed for this also will change al 90 LIST 36 0036 DUP 0039 0040 0044 DELT 40 LIST 36 0036 DUP 0039 0044 The last command in the edit set is RNUM which ren file given a start line number and incremen line numbers will e Current Fi le s 44 EXI 4H 0O DAD SP SHLD HOLD RET 44 GXI H O DAD SP RET mber and all begin t When fin with this fi L adjacent line numbers will If the ll use five as increment is twenty five the increment le below shows a small program being renumbered to 00 The exampl LIST 0025 INSTAT IN TTS 0030 ANI DR 0035 JZ INSTAT RNUM 8000 10 TEST 1000 1030 LIST 8000 INSTAT IN TTS 8010 ANI DR 8020 JZ INSTAT 20 second argu the incremen one if th differ by th ment is omit t The largest The RNUM fu e line numbe umbers a ished rst e value ted the value nction rs exceed The t textual da an associa interpret the conven device erm ta betw CHAPTER V I O DRI VERS AND COMMAN DS I O Driver refers n the ALS 8 routines GO a rou tions This reli of handling separa Conceptuall Yr at ted input a reques and to translate it or output device Its for data tran
8. Th RET instruction executed in the interrupt routin label EI nable interrupts This instruction enables th Devices attemp be ignored by automatica DI abe a This disables 1 th ting to interrupt interrupt flag tion which is a resumed with an e INTE the CPU and its related hardware ly disabled when an interrupt occurs t while this flag is disabled will INTE is disable interrupts from al in the activated interrupt flag ltering program f disabled sta ow with an interrupt te when the fron For machines with no in light on the front pane signal certain program states such as label This transfer inst address which is compu which must itself be b by 8 to produce one of 0 10 20 30 40 5 to this address stack as in any subroutine located by pulled interrupt put the 8 bit data lines for RST n preventing any devices The computer is t panel switch RESET terrupting devices is the INTE can be used by these instructions to 0 60 70 other s from the stack CW octal the RST will ret Devices using equivalent of the CPU to execute 58 program done urn this ins this ins An d mm agnitude tine cal RET or error call routine at location n 8 truction generates a subroutine call to
9. bler always has eight entries for which it has the values 0 to the registers and the these names found in an te regis Es T he last 0 operations use pairs of registers for register B is paired and the program status word PSW is 39 paired with A B D H and PSW are the high order bytes in these values The instruction DAD for instance performs a double add between the H L pair and the B C or D E pair The result is stored again it H L For these instructions DAD B DAD D DAD H DAD H DAD SP the pair is designated the name of the most significant byte so the possible PAD instructions are which are equivalent to DAD 0 DAD 2 DAD 4 DAD 6 Note that 6 which could represent memory SP or PSW is taken by the DAD instruction hardware to mean the stack pointer DAD M or DAD PSW are equivalent to DAD 6 and will then be treated by the hardware as add SP to H L Note also the default list of register names does not include PSW or SP These may be entered into either the System Symbol Table with the SYMLE executive command or into the Assembler Symbol Table with the EQU assembler instruction to be described The assembler will first try to fetch a value for a symbol from its own table and failing will then try the System Symbol Table A number of the 8080 instructions ar
10. SIMULATED If an input instruction is encountered during the simulation for a port defined as SIMULATED the Simulator will stop and obtain input values from the operator The following information is printed prior to receiving input INPUT PORT n Where n equals the port given in the program being run by the simulator The simulator stops to the right of the equals sign and waits for input from the operator Since input goes to the accumulator the value input must lie in the range 0 255 REALTIME INPUT If an input instruction is encountered during the simu 66 lation for a port defined as REALTIME the simulator will obtain the required input directly from the indicated port This operation is identical to the standard 8080 obtaining input PRE SET INPUT The preset option allows any input port to have a value preset between 0 and 255 OUTPUT INSTRUCTIONS KKKKKKKKKKKKKKKKKKKKK Program output during simulation can take one of three forms for any desired output port These options SIMULATED ASC or REALTIME are selected depending on the information required by the user SIMULATED If an output instruction is encountered during simulation for an output port defined as SIMULATED the Simulator will indicated that an output has occurred to the indicated port This includes both the port number and output
11. assumptions becom allows access assumptions memory con feature allows the user functions to it Each of the resides in its own section of by a command or word or Additional functions on address and a name for to parameters In this way various figurations can be accom to expand the ALS 8 key word ly have to be given a memory start the associated command ALS 8 s describe the many capabilities of sed nning an ALS 8 Chapter Two also describes development without over g systems even the large over control when design ns st any program but the ALS which can redefine thes input output devices or modated Another personali by adding his own initial operating system f the ALS 8 memory and is activa sent from the terminal of The new funct is executed whenever th associated with that fu The ALS 8 relies heavily its internal design and i fundamental idea is con similar nction tained element formatting routine A number available which could b ts command tasks differing by some element which modifies its operation based on A simple example of this concep s the custom command name on the concept interpre in the observa sho the value of this is of printing terminals are of parameters in tation The tion that two interfaced to the computer with 1
12. line number 1 This command contents of each line following the corresponding When using the optional VDM EDITOR the LIST list files entered without line numbers TEXT linel Like line2 the start copy is controll L It does not of each line Both TEXT and LI line2 IST this command prints file contents from linel to however print out the line numbers at This is a useful feature for letter ST contain the formatting routine which led by FORM NFOR and TERM DELT linel a ine2 DELT removes file starting at a line or series of lines from the Current line number linel and continuing through ine2 In its single argument form only the line specified by line lines however is deleted it is usually easier to delete single by typing the line number followed by just a carriage return RNUM RNUM renumbers line increment the Current File so that its first line number will greater than the last increment If five The five and use an increment of on ends by Call regardless of increm be and each successive line number will be t by the quantity defined in increment is omitted RNUM will use a default increment of largest allowable value for the increment is twenty ent value at the outset RNUM will the line numbers reach 9000 RNUM checking the file af
13. the standard ALS 8 other devices will require I O driver could be used 13 t is formulated properly for tape punch can save the outpu this cas Saving program In t e s on using special drivers The following shows a simple example of DUMP in the hexadecimal mode DUMP 40 52 0040 OA D8 D6 07 C9 DB 00 E6 45 00 DC 01 D3 02 F8 CF 0050 E6 7F C9 14 FILES AND CHAPTER V The ALS 8 relies very heavil represent a very powerful way of man FILE COMMANDS y on the use of files aging data in text form for they A file is a sequence of information stored in user designated memory The cates of the terminal input lines wh information is broken into lines ich define both as it is input and as it is stored in memory lines top r farther in numeric o Once in memo Files are known to the ALS 8 by name and up down rder by the ry es files can b line number defining its position in Lines with the lower line numbers are a of the file while higher in the fil The line numbers numbered u r can be defined and managed at any one time the user def up to five characters command specify which file is to be operated on Current File in tayr rent y To crea a starting a command with argument as FILE command already exis names can using the F
14. Execute and displ receiving C X Execute and displ lay one instruction If C X is input then return to If any other character is and display one more Display return to the command mode Force return to command mode from any Simulator condition 63 to the lay each instruction until then The output display from the Simul status of the software 8080 as well as the program The display is initializ ator indicates the current the current conditions of ed to follow the last MODE setting but may be changed to decimal by giving a simulator mode command The display consists of the curre nt location of the program counter followed by the FLAGS as set by the last instruction executed These are then followed by the current memory location pointed to The stack pointer and instruction just display This is illustrated below each of the registers and by the H L registers xecuted then end the PPPP CZSPI AA BB CC DD EE HH LL MM SSSS B1 B2 B3 Where PPPP is the address of the simulated instruction The display shows results following instruction C Carry Flag 0 or 1 Z Zero Flag S P Sign Flag Parity Flag Interdigit Carry Flag AA Accumulator reg A BB Register B EC e DD D EE E HH H Fis L MM Memory contents pointed execution of the to by HL SSSS
15. FILE COMMANDS The FILE command has many different forms each with its own distinct function The following describes each particular form All name arguments ray be one to five characters long FILE This form will print the name of the current file its start address and end address FILE fname This will search through the current list of file names for fname When found this file will be marked as the current file and all subsequent file operations will be made on it If not found the error message WHAT is sent to the terminal FILE fname addr This enters a file name fname into the list of names kept it the file table The argument sits both the start and stop addresses associated with the name If the file already exists in the table an error message FCON is output to the SYSIO output device The file fname always becomes the Current File Addresss addr must not he zero FILE fname 0 File fname is removed from the file table and forgotten There will be no Current File when this command is finished FILES The FILES command uses no arguments It lists the names start and end addresses for all the files known by the ALS 8 This command does not affect the status of the Current File FCHK This command checks the structure of the Current File It begins at the start address contained in the file table and 28 conti
16. label ASC string put character string in memory This puts a string of characters into successive memory locations starting at the current location and continuing until the at either they defin The assembler uses th mnemonic ASC starting immediate before the second the right carriage it is omitted contain characters end of label EQU entire string has been put in memory the above example are cal the beginning and end of the ASC non blank character found after The string is defined as the first delimiter and ending j occurrence of the delimiter of the second return will act as the delimiter y af n The special led first ter delimiter are assumed assign value n The symbol in th to symbol symbols delimiters character string the ust Characters to to be comments A as the second delimiter in cases where When formatting is used the s two or more successive spades within tring must not the first four label label field for this instruction is entered into the assembler s symbol table with the 16 bit 60 value found in the operand field Note that both the label field and an operand field are required for this instruction COM symbol enter symbol into system symbol table The symbol must be previously defined and is entered into the System Symbol
17. s a ey Hel e il wre ae a 54 Stack OPerations sssaaa eee eb dye a ee eee dee bates 55 Input Output TN SEGLUCELONS so iia wei les Stn alate ein ees 56 Interrupt Related Instructions te2 08 e468 08 esas 57 Variable Storage and tha NO OP oo ebeo Stee oe es oe ees 59 SIMULATOR EXTENSION PACKAGE Operating Manual dismi ele ba ere de ee bee eg be ees Sree 62 Set COMMA CS a osc oh Se sag Boal ae wre aie Sails Bes wal a os See ee Sel hh 62 Breakpoints and Real Time Run Addresses 65 FRPut TASELUCETLOONS Var EE ESE a kee ES Aer aad Gis 66 Output TRSELUCETONS PrE ce hase dedicate ees Sea ie heathy 67 Lnpute Out put Commands a et ate good Seles a 68 optional Simulator ENEry FOLNE oc DEE eee a 69 Other SIM 1 Extension Functions 69 TXT 2 EXTENSION PACKAGE Operator s Manvel cscs ie tek ad oe aera de dew a 70 I CLISEO Tier tai Suna heats oi Daaa ide ate WL Ge ante Weta Sse WS al ands e 70 Cursor POSTETONING Comand sensoa ni edie e aa ates TA Copyright 1977 by Processor Technology Corporation Manual No 727013 Table of Contents TXT 2 EXTENS APPENDI APPENDI APPENDI APPENDI cont ON PACKAGE cont Sereen Scroll Commando vn ala E ia 71 Direct File Positioning Commands 72 Fike M dificatton Commands erties dette eG See oer bls ese 73 Other COMIDAS Lea a A Seas Ek
18. tables or drivers in this 3K expanse important symbol names being SYMLE PSW 6 SYML SP 6 D30E PSW The symbols shown in the example abov 6 t just over 3K of memory and it is all but t this could be overrun a maximum length of his own by setting up other The example here shows ntered into the System Symbol The user can End of Table address printed following listing ar needed by the resident assembler for programs which access the 8080 Stack Pointer SP assembler can only recognize single Bet Gy D E H L symbols in each program he writes or ent Table for all or the Program Status Word CE PSW and A The user can th The System Symbol assembler produces a table inaccessible to the user and this table Symbol Table It for the symbols assemblies he performs it finds is created from scratch for each assembly the program instr been given no val convenience then changes in the symbol or subrout try to fetch the value from to be abl System Symbol Table rat makes programs both shorter an uctions mak ue in the program itself e system s tabl to define symbols on ther than each time in d more versati Le tabl referenc th to a symbol which has the assembler will e It is a great le ce in this a program This since single e values
19. In re in under ut in 6 s that RAM be placed in the low part This serves to minimize mory conflicts arising between the keeping with this philosophy designed to handle 1 0 devices the system These routines drives can be put anywhere but should probably be the E000 start more permanent of the ALS 8 form This still ummarizes the memory map described so far and shows the suggested locations for the Video Display Module and optional memory 5 DFFF EDITOR SIMULATOR oe FOOO a aia ALS 8 APPROXIMATE BK SIZE OF ALS 8 PROM BOARD ECOO SYSTEM RAM AREA DOCO VIDEO DISPLAY MOPULE m eee ccoo IK MEMORY BOARD sana h a ee Cyoo L 2K PROM BOARD coro USER S FILE AND PROGRAM AREA 20000 6 an The separation of system space from user space results in upward progression of address values for user memory and a downward progression for system memory Future products have assumed that this policy has been carried out and that the Video DE Display Module VDM for instance is located just below the D000 start of system RAM This VDM should then start at location CC00 hexadecimal The presence of the VDM in the CO00 CFFF block means that no 4K board could be placed there is however suited to a 2K PROM board and perhaps a 1K memory board should it become important to fill up this space completely
20. The system software which will is turned liminates the ALS 8 program is always eliminates the the on the ting system which attempts The ALS 8 has assumptions 8 zed unctions j ted ion uld be a single task the ALS 8 output ALS 8 accept ALS 8 b ths are 72 It is conceivable then that 80 110 tten to handle the specific termin The parameter principle suggests mad or redefining this parameter fact its various funci This concept the ALS 8 checks could be one or marks exactly what is done checks this value to see how it The ALS 8 has several such parameters which it two numbers These values are si tions structure in much the same way for an optional list of arg and for a name enclosed in slash tored in the order found t Of parameters is carried ini t should format with provision for defin the terminal width Before printing the ou the ou uses and these terminals often vary in the width of paper they Some standard wid characters per line ALS 8 package could be writ attached to its computer instead that a singl and 132 a separate al ing This is in tput routine tput line to control to the command While interpreting a command uments which and if the function chosen by the command name needs this information for its own functioning location in memory argum
21. for instance will be an argument representing an address ENTR addr This command reads numeric data from the current input driver and stores it in consecutive memory locations starting with the address specified by the argument The data may continue for any number of lines the function will return control to the ALS 8 executive only when it encounters a slash At the beginning of every line the current address pointer can be changed by specifying a new value followed by a colon Both the data and addresses are interpreted in octal or hexadecimal according to the currently defined MODE The length of any input line is limited by the current value of terminal width DUMP addrl addr2 This command displays the contents of memory from addri to address addr2 If only one argument is given only the contents of address addr1 are displayed The arguments and printed results obey the number base set by MODE MODE base The argument base for this command sets an ALS 8 parameter which is used in converting binary data to readable form The argument is decimal and must be either 8 for octal or 16 for hexadecimal All ALS 8 arguments representing memory data or addresses will be affected by this command Arguments which specify setting terminal width or line number will always be decimal Initially the ALS 8 assumes a mode of 16 27
22. from the stack is known as a pop down in memory with s The operations abo CALL and RET and tents of operation a 16 bit value an ructions is sent to the address in the SP ult is stored in the CUD iy H L THY D E with H L D E register pair with the is an area in memory identified and manipulated ld in the Stack the subroutine related their conditional Pointer SP As address for the the memory locations The specific locations chosen are SP 1 for the most significant byte and SP 2 for the e The SP contents are then d cremented by two Such an operation is and the reverse operation where data is removed Note that the pointer moves direct control of the stack and its pointer very versatile data storage area for part but the programmer must be careful that stack is not Two of the stack instructions us which will be denoted by rp identifies B CO C uccessive pushes and moves up for pops ut to be described give the programmer The stack can be a ticular applications the data stored in the nfused with the return addresses stored there from subroutine calls D E H L AND PSW A a register pair operand in the following This operand In the last case the Program Status Word is placed at location SP 1 and 55 the accumulator is placed at SP 2 for stack pushes This form
23. NTROL Z clear screen A turn cursor on or off that it be changed to the SYSI tialization O The following special S set display speed prior to operation e display speed n when A value of is rath command will output ver it is given SPEED the message The user should respond and 9 indicating the represents approximately 2000 display speed lines per er slow at 3 characters per second The speed may also be changed any time during output by the correspon ter other th the output at th speed ding key between 1 an by depressing the an speed values or an sam ter to be printed for each sequen space bar The space bar will d 9 The display can Once stopped other space bar will allow tial space character received During all output operations with either the standard ALS 8 terminal driver or with the VDM driver a test for the ESC character is made and a return made When the built in VDM driver is firs must be cleared and the speed set the V DM IO to the SYS If received all outp O driver with a CTL Z For example DR SYSI 0 FE77 X O Control Z Control S ut will be discontinued READY message activa CTL S ted the screen to initialize thing to switch drivers and What Type any it will displ
24. They ions direct provide am ly from the DUMP command ESOL EN for savi t to mem and int The es con The ac ween 0 liste tu comman trol of al input and 255 d in the lines up to the DE will be sent myn The CO The following sh Note ust be separat O t the inpu tha ark tal as show MODE command a which is sto CS initializes this parameter a DE th the MO th MO al address 12 S e eans of user s has e ENTR ng ory at he g the d starts the g the character to the order ed from ws Es USE n ter ES ffec not just memory commands 8 or 16 red in If The following shows DE parameter MODE 8 ENTR CCOD WHAT MODE 16 ENTR BF2 Hex address 52 49 EE 4F 52 F6 43 50 5 AO 0 84 E4 43 2 303 22 WHAT properly stored by have to restar An added featu storage address may be changed d stop the process an storage address E t a re of In the last of the examples the ENTR func the place of the ENTR command is that the values up to tion The correct the error uring input withou d restart with a new argument the error are ed input will the present t having to The present always starts with th
25. devic request to pseudo port Parallel input User defined input Parallel output User defined output r sequences O appears to be the same as a reques means is that interface specifications need to decode pseudo ports to pseudo port 1 although four pseudo ports are defined in the a user written surrogate would not independent 1 0 Provided that are not used an 1 0 the requesting program to 2 or 3 what this 1977 Software Technology Corporation 84 Appendix D cont The second aspect of the SOLOS CUTER interface is the defined register usage Each of the system entry points has specific register requirements which will be discussed later Whenever a program is executed via SOLOS CUTER the stack pointer the stack and reg isters HL are defined as follows 1 The Stack Pointer register SP is valid and offers a useable stack The size of this stack is not specified but should be adequate for at least a few calls The executed program is expected to establish its own stack however some stack should be available 2 The stack itself should be established such that a A REV instruction can be used as an exit by the executing program b The locations at Stack Pointer 1 and 2 in memory contain program itself the address of the executed This information can be accessed by machine code
26. if single step operation is again desired the breakpoint should be cleared prior to giving the GO command B address SET BREAKPOINT Breakpoint is set to address and the simulator will display each time the program reaches this address CB CLEAR BREAKPOINT The sense switches are interpreted as follows when a breakpoint is set SWITCHES DISPLAY MODE KKEKKKKKKKK KKKKKKKKEKKKKKKKKKKKKKKKKKKKKKKK 7 6 0 0 Execute program until breakpoint is reached display current status and return to command after giving prompt 65 0 1 Same as above 0 Execute only one instruction and return to command mode 1 Unconditional return to command mode Some sub routines require a speed of operation beyond that of the Simulator In order to meet this requirement the Real Time mode of operation should be used If the real time address is that of an 8080 CALL instruction the simulator will make a REAL TIME CALL to that location effectively giving up control R address SET REALTIME RUN ADDRESS CR CLEAR REALTIME RUN ADDRESS INPUT INSTRUCTIONS KKEKKKKKKKKKKKKKKKKKKK During simulation input operations can be performed in three different modes SIMULATED REALTIME and PRE SET Each method is used depending on the information needed by the user
27. normal and insert are alternately selected using the insert mode control When off characters are placed at the present cursor position and the cursor moves to the right one place When on however characters are inserted into the file at the current cursor position moving the character at that position and the rest of the file right CONTROL H delete character command The delete character command removes the character at the current cursor position and moves the remaining portion of the line to the left CONTROL B insert line command The line insert control moves the current cursor line down and inserts a blank line in its place The cursor is moved to the first character position of the new line CONTROL P delete line command This control removes the current cursor line from the file CONTROL J linefeed blank remaining line and scroll up Linefeed deletes all characters on the current cursor line from the current cursor position to the right The file also 73 scrolls up one line and the cursor moves to the first position on the new line CONTROL M Carriage Return scroll up and insert one line s a blank character Carriage return scrolls up one line and insert line in the file The cursor is moved to the first position of the new line OTHER COMMANDS KKEKKKKKKKKKKKKKKKKKK CONTROL F exit command On EXIT the editor clears the screen and does a
28. of saving the PSW is necessary for interrupt handling or some subroutine calling sequences label PUSH rp push contents of rp onto stack The contents of the register pair rp are placed on the stack and the pointer SP is decremented by 2 Numerically rp must be 0 2 4 6 which represent the pairs B C D E H L and PSW A label POP rp pop data from stack into rp Data is removed from the stack and placed into the registers identified by the operand rp The ordering of the bytes taken from the stack follows the same rules used for PUSH The pointer SP is incremented by 2 at the end of the operation label SPHL z move H L contents into SP The contents of the H L pair are moved into the stack pointer destroying its previous contents This provides a convenient way of changing the SP during a program thereby allowing two or more stacks to exist at one one data one subroutine control etc The SP is usually initialized by the LXI instructions label XTHL exchange SP and H L contents The contents of the H L register pair are exchanged with the two bytes at the top of the stack as pointed to by the SP INPUT OUTPUT INSTRUCTIONS The two input output instructions for the 8080 IN and OUT both operate on the accumulator contents The operand 56 field is used to define a device code which identifies the external device which is to
29. t will appear At this point the editor ut line of one or more characters from the can contain up to thirty nine characters se characters within the file regardless wing characters will represent a find Therefore only enoug text need be input locate a line in the After receiving the editor will searc an occurrence of the line the editor will the first line on the the file th ditor for screen presentati CONTROL I co If an occurrence the search the conti causes the editor to of the screen and to h characters to uniquely define the desired As an example the qu can be used to file containing the quick brown fox a Carriage return following the input text h the file from the beginning forward for text input by the user Upon finding the position the line containing the text at screen If no occurrence was found within will return to the first line of the file on ntinue search was found and the user wishes to continue nue command should be used This command pick up the first file line off the bottom continue the search from there 72 Any text on the screen is not searched FILE MODIFICATION COMMANDS KKAKXKKXKKKKXKKKXKKKXKKKKKXKKKKKXKXKXkk CONTROL T character insert mode switch on off on Normal file characters input from the terminal are placed in the file in either of two modes These modes
30. 8080 chip uted mechanical and electrical The circuit board al for the program is this ME on eh Ho bytes of PROM page is hardwired on the board to reside in the last 8K page of memory so that it addresses from E000 hex to FFFF hex lso has memory requirements least 1K of random access memory D000 hex this memory configuration is enough to 1 is insufficient for most programming req a separate memory be provided in program itself al at starting at location assumes that in memory While operate it It the low part the user s This the be 4K from The ALS O CHAPTER MORY AND PROGRAM STRUCTURE OF THE ALS 8 ral description of the ALS 8 is given here to imum hardwar ind its construction so tures availabl the printed circuit board mentioned in Chapter requirement ts and to outline the that the fullest advantage e The program ALS 8 is r board that defines some of the hardware The program itself could has retained th wever is strongly suggested that f memory free space for pu ther lso determines th be used on any 8080 based 64K addressing scheme of the the circuit board does restrict correct characteristics available loca preferably starting at 0000 tting in programs tion in memory The board itself is capable of holding 8K of which the ALS 8 tak
31. Current address of the S tack Pointer Bl Current instruction B2 Byte two of the instruction if used B3 Byte thr of the instruction if used In addition to this display the operator may dump selected memory locations or enter data to memory locations using the DUMP and ENTR commands D address address This command dumps the contents of address to address following the conventions 64 of the ALS 8 dump command E address Enter data to memory following ALS 8 ENTR conventions The GO command starts the simulator at the current value of the program counter It is used to initially start simulation as well as continuing after stopping G Go Start simulation X Exit Return to ALS 8 At this point the user is advised to write a short program and assemble it to a known location in memory After obtaining a listing the Simulator commands described so far should be used in actual practice BREAKPOINTS AND REAL TIME RUN ADDRESSES Running a simulation with the display on is normally used only through the problem areas of the program In order to reach these areas or to test values during a program loop a BREAKPOINT is set to stop simulation and display only at the address given by the breakpoint The breakpoint is not cleared at each display so program loops may be checked repeatedly by giving a new GO command following each display Also
32. D8 DF 0910 CALL INP8 GET HE CHAR THAT IS HERE DFF4 FE 1B 0920 CPI 1BH IS IT AN ESCAPE DFF6 C1 0930 POP B RESTORE CHAR TO BE OUTPUT 1ST DFF7 CA 60 EO 0940 JZ EORMS YES THEN ABORT AND SAY READY DFFA 0950 NOCHR EQU NOW WE CAN OUTPUT CHAR IN REG B DFFA CD 19 CO 0960 XXOUT CALL SOUT OUTPUT THE CHAR DFFD 78 0970 OV A B AND RETURN SAME CHAR IN REG A ALSO DFFE C9 0980 RE CHAR IS OUT NOW 0990 1000 DFFF 00 1010 CHAR DB 0 O NO CHAR IS WAITING ELSE IT IS THE CHAR 1020 KEXKXAA kk END OF PROGRAM KERR EK 1030 1040 CO1F 1050 SINP EQU OCO1FH SOLOS STANDARD INPUT ROUTINE C019 1060 SOUT EQU 0C019H SOLOS STANDARD OUTPUT ROUTINE 1070 E024 1080 ALS8 EQU 0E024H ALS 8 INITIAL ENTRY POINT E060 1090 EORMS EQU 0E060H ALS8 RETURN IF ESCAPE IS HIT E04F 1100 STAB EQU OE04FH THE STAB GETS INIT ED HERE D191 1110 ESET EQU OD191H ESET VALUE STORED HERF D1A1 1120 CTLU EQU OD1A1H CTL U DURING EDIT ROUTINE ADDR HERE E1DE 1130 PTRS EQU OEIDEH PTRS TO INP8 AND OUTP8 W IN ALS8 E1EE 1140 MVTO EQU QE1EEH THE STAT ROUTINE W IN THE ALS8 1150 1160 1170 ALS8 E024 0120 0160 0410 CHAR DFFF 0570 0620 0770 0810 CTLU D1A1 0240 EORMS E060 0940 ESET D191 0220 INP8 DFD8 0270 0760 0910 LP1 DFBC 0400 VE DFC7 0320 0590 0660 VLEN 0011 0330 VTO E1EE 0310 OCHR DFFA 0890 OUTP8 DFEA 0290 PTRS E1DE 0280 0300 RE DFE 0230 SINP CO1F 0130 0600 SOUT co19 0960 STAB E04F 0260 STAR DF80 STAT DOA4 0590 0750 0880 STAT2 DFD5 0590 XXINP DFCE 0180 XXOUT DFFA 0190 83 A
33. Generally this instruction is used to branch to a routine in memory whose address has been located in a table It could be used to branch to a computed address but any small errors in the calculation could produce some mysterious bugs COND H ONAL TRANSFERS label JZ addr Jump if zero JZ examines the status bit ZERO of the PSW and transfers to the address addr if this bit is set to 1 This 1 in the ZERO bit represents a zero value in a register at the last time the condition bits were set by an instruction Most of the instructions affecting the PSW reflect the status of the accumulator register A though a few INR DCR will change the ZERO bit and others when their result goes to any of the registers label JNZ addr Jump if non zero This instruction also examines the ZERO bit of the PSW but it transfers when the last pertinent result was a non zero value A non zero result resets the ZERO status bit to 0 label JP addr Jump if plus non minus JP examines the SIGN bit within the PSW and transfers 48 when this bit is zero A zero for the SIGN bit represents a positive value for the last pertinent operation label JM addr Jump if minus JM examines the SIGN bit and negative value minus for the last ransfers when it represents a result ct ct label JC addr Jump if CARRY This
34. The space from 9000 all the way to BFFF has been marked as the best location for further extensions of the System As I O drivers loaders and other user software is developed it is suggested that they be placed in PROM in the C000 to C7FF block Future software packages will assume this memory structure The program structure of the ALS 8 is most easily described with the aid of the following diagram The conceptual parts to the program are shown as parts of a heirarchy not completely unlike the structure of a government or business In such a diagram it is assumed that the higher levels are able to command the lower levels but not the other way around In the program sense then the top most level can call on any of the routines below as subordinates It is assumed also in this diagram that routines on the same level may Call each other as needed EXECUTIVE LEVEL FUNCTION LEVEL COMMANDS y JAE 7 SUPPORT NE AA MN eg eae tae ele a oat ee a GENERAL SUPPORT I O DRIVERS The top level the executive level in this diagram represents the control center It is this section which controls the communications with the terminal decides which function is to be executed and reports on errors to the user Each block on the function level corresponds to a command from the ALS 8 command set These routines for efficiency s sake
35. afford There are five standard return points back into the ALS 8 when a standard RET instruction points may be used as an al ALS 8 but the stack must b is not used These various return ternate method of returning to the e usable Name Address Function EORMS E060 This is the normal return point The SYSIO drivers will be selected then the messag READY will be displayed FOR EOB7 The ALS 8 will perform all the SWCH1 and SWCH2 tests as if a standard RET instruction had been issued EORNS E0D1 The current driver will remain in control WHAT E7DD The SYS message MESS E7EO The SYS message pair wil as pointed to ll be displayed and only a CRLF will be issued IO driver will be selected then the WHAT will be displayed IO driver will be selected then the by the HL register This message must terminate with a CR 0D hex 79 APPEN DIX B ASSI A The ASSI the source data from a u from the current source this application is when from cassette tape which existing memory The ASSI command uses th source data a standard input driver input For this reason an ASSI function for any ol e Each time the input driver Assembly from wou cu Instead of inpu the inp ts one entire source lin input ther purpose Input Input d A to
36. an ted from the operan n 0 and 7 in m the following addresses The subrou with the return address being stored on the ubroutine call The operand is multiplied ll is then made in the control to an address truc tion during truc tion on the label HLT halt the CPU and wait for interrupt The CPU is completely stopped by this instruction and can only be reactivated by an interrupt Should the interrupt flag happen to be disabled at the time this instruction executes the whole machine must be reset from the front panel The halt condition is reflected in the front panel light marked HLTA VARIABLE STORAGE AND THE NO OP The instructions presented so far represent operations or functions within the 8080 hardware The ALS 8 assembler converts the textual form of these instructions into a binary form which will be executed by the hardware The assembler also recognizes a number of instructions which do not produce executable code In general this class of assembler instructions defines storage arrangements addresses or contents for the program under construction These instructions are called Pseudo ops being false in the sense that they don t produce executable code An instruction the NOP generates a binary instruction of zero which is ignored by the execution hardware It is sometimes used in programs to pad areas of code whe
37. any reason the file FCHK will send the message command can be very useful in the file s name from the subsequent operations have that file s information Similarly the contents of a previously saved file could be ENTR ed into memory The following example shows some and reactivated with FCHK typical uses of FCHK FILE COPY 700 COPY 700 700 FILE OLD 600 OLD 600 600 10 WAIT N 377 15 CMP A 20 JZ WAIT 25 RET 40 END FMOV 700 OLD 700 736 FILES OLD 700 736 COPY 700 700 FILE OLD 0 FILES COPY 700 700 FILE COPY COPY 700 700 FCHK COPY 700 736 FILES NEW 600 600 COPY 700 736 FCHK NEW 600 636 FILE NEW 600 636 define a file name Leav mpty define file OLD Store program in it move OLD to start of COPY OLD is O K delete OLD from list check defined files only COPY make it thought the current to be empty file ct ct redefine end address examine check Current File file starting at 600 NEW A contents recovered 17 The ALS 8 contain manipulate operate on the status A the conten the Current and perhap using these functions can be done with the FILE command decimal line numbers as argu commands are separate from the optional VDM ED sold by Processor Technology D print the con 2 The E command
38. o rolled by two system commands formatting ormatti of each line in a form utput This parameter FORM and NFOR which ng respectively taining a program is more readab The FORM and NFOR commands require no argu them remains in effect set ts char formatt ing ou determ T or TEXT when the format tput fo ines th the line wid le when ments icitly ntil expl by the command TERM th for the is parameter ing feature is r either output command acters Th i m IS a Lu 80 m r e 0 the cont tab cep minim aximum ols th line um form format e maxim length 1 Current DELETE assumes the firs numbers input with no line be deleted with return FOR FIL A D FROM THE FI th M E at TE i argumen LE only S When to delete the sing The ALS 8 ows th File us e user It ac line nu ed with DELT 40 0280 02AF Th or simply 40 fol xecuti us lin 19 xtent of formatting atting is performed ting is performed um length of input during FCHK When lines to delete a line or group cepts one or two arguments mbers of the group to be only one argument DELT le line designated by however rejects line in the following can lowed by a carriage ve e 40
39. ou number given IT command ten the LIST f puts It accepts up stop line number for the printing unction assumes that single line identified arguments are omitted following exampl ts of the Current Fi the Current File ordered by increasing line xercises thes CHAPTER VI O IT COMMANDS san s of a mber of editing commands designed to file All of these commands File so the user is cautioned to check s identity of the Current File before This as described in the last chapter ALL the EDIT commands use ments where required NOTE These ITOR package TXT set contains two commands designed to le LIST and TEXT The LI ST to two arguments defining the start and If only one argument is it is only to print the the first argument When both ntire fil is printed The by th options Examples show formatted output FILE SMPL 1A2B O WAIT E OOLOJMP WAIT 1 0020 THIS SETS INTERRUPT AND WAITS 0024 END LIST 0 0000 WAIT EI LIST 0000 WAIT EI 0010 JMP WAIT 1 0020 THIS SETS INTERRUPT AND WAITS 0024 END The TEXT command is very much like LIST the only difference is that its output omits the line numbers This feature is generally used for files containing regular text as oppo
40. to ac in memory at one time wever defining the Current File FILE ON ONE 100 E 100 100 RETURNE keep track of more than six g created D BY ALS 8 1 This is the first line of file ONE 26 THIS S THE SECON D 15 tored later wit The fol Note that the FI ts returns a message to the terminal its start and end addresses rases h the tually have more The ALS 8 lowing LE 29 Line 3 FILE TWO 200 TWO 200 200 FILE THREE 6A1l THREE 6A1 6A1l 10 Dear John 12 Pay me or I won t be 14 your friend 165 See you soon 17 Igor FILE TWO TWO 200 200 1300 File Two gets this line 1984 UPPER CASE OK 1000 lower case ok 2710 End TWO FILE TWO 0200 02C0 This example points out a number of requirements and features omitted in the discussion so far Line numbers for instance are normally followed by a blank but this is not required by the editor functions The example also illustrates the fact that line numbers do not have to be absolutely consecutive numbers File line numbers are always decimal and must lie in the range 0 to 9999 A file IWO in the example Can be entered into the File Name Table and saved during the definition of THREE although it is empty Later it can be made the current file and information can be entered into it Files naturally hav
41. u tes suited the external the responsibili ta from any input tput device the routine to LE t or the the IO DR If the ts of special functions ch as read from high speed paper tape both Entries can be deleted by using try name as an argument followed by a single zero DR being used in these ways IO E and to ty tem RAM tines contains a name and DR command handles as well as defining driver and printing out the table s contents to five characters and two ts obeying the current value of MO a th no arguments a Since drivers ted su DR those addresses for IODR TVTWT 0 TODR SYSIO E200 E240 TAPES DFOO DF40 SYSIO shown in the above handles the main terminal another from the list is expl another form IODR with just a current assumes that ready for use because th switched to using TAPES recording following unit TODR ENTR the not TAPE 200 The disc duties of drive the routine sta flexibility licitly defined by is the default I It remains the current IO Making a driver the corresponding routines are subsequent ALS 8 commands will have Assuming that name argument I O O driver which driver until DR in yet loaded and in these examples represents drivers for a cassette data could be loaded into memory with the S ENTR function w
42. value as indicated below No actual output to the port occurs OUTPUT PORT n NN Where n equals the port number and NN equals the value that would have been sent to the port ASC OUTPUT The ASC output option is similar to Simulated output except the value NN is output as an ASC character If the value is a control Character its output is identical to Simulated operation REALTIME OUTPUT As implied REALTIME OUTPUT sends the value to the indi cated port just as though the actual 8080 were operating 67 INPUT OUTPUT COMMAN DS KKEKKKKKKKKKKKKKKKKKKKKKKKKK Ic portn ES portn IR portn CI OC portn OA portn OR portn CO DISPLAY MODE value KKKKKKKKKKKKKKKEKKK SET SIMULATED NPUT PORT Set portn to SIMULATED mode A11 ports are in this mode on first entry to the simulator SET PRESET PORT Set portn to PRESET value SET REALTIME PORT Set portn to realtime mode Clear all input port assignments and set all to simulated mode SET S Set portn initialized simulator to Simulated to this mode on entry MULATED OUTPUT PORT All ports are to the SET ASC Set OUTP portn to UT PORT simulated ASC output SET REALT ME O Defi
43. 7 DOC3 0040 ESC EQU 1BH ESCAPE CHARACTER DOC3 0041 DOC3 0042 DAV 0040 ESC 001B INP8 D098 NOCHR DOB8 OUTP8 DOA9 STAT DOA4 TBE 0080 UDATA 0001 USTA 0000 78 APPENDIX A cont Bu System Return Points The ALS 8 transfers control to a routine with a standard CALL instruction for either the EXEC command or a custom command The CALL d routine may use the stack and may return to the ALS 8 via ALS 8 stack provides for 16 levels of stacking a standard RET if used properly instruction The When a routine is CALL d two parameters are communicated ALS 8 These parameters known as between the routine and the SWCH1 and SWCH3 are used t to be displayed and if the switched back to the SYSIO o decide if the I O drivers are driver pair READY message is to be automatically When SWCH1 is not zero on returning to the ALS 8 the READY message will be displayed a nd the SYS O driver pair will be is zero is SWCH2 considered When selected Only when SWCH1 SWCH2 is not zero and SWCH displayed and the I O driv l is zero no message will be ers will remain SWCH2 is zero and so is SW selected and a CRLF will be as they were When CH1 the SYSIO issued SWCH1 and SWCH2 is located at DOFE control over I O driver sel ection O drivers will be is located at DOFD These two parameters
44. A a 74 EUND 42 25 a lar a e ta is Tek jot Mods Se ape Ree eee dt a 74 ESP COMMANA ered sos ss Soon bed vente ds ate daa Boe 75 St ndartd System NOCES sia ds isa is ae Sele ios 77 ASSI Assembly from Input Drivel oooooooooooooo 80 ALS 8 on Cassette and with SOLOS CUTER 81 SOLOS CUTER Interface Specifications 84 ALS 8 PROGRAM DEVELOPMENT SYSTEM OPERATOR S MANUAL CHAPTER 1 The ALS 8 is a single terminal operating system designed for use with 8 is contained on read only memory normally start on This configuration cal the startup procedures usual front panel switches stored in memory system load or boots machines trapping In this manual the name 080 based micro computers a printed circuit board in programmable This same board the operating system led ly requ The fact regardless of power conditions also has circuitry once the computer turnkey system e ired from the computer s a tha normally needed by small ALS 8 will refer not only to circuit board but also the operating system program contained the board The manual will the ALS 8 and how they are u hardware requirements for ru The ALS 8 is a personalized operat to maximize convenience in program Operatin can be guilty user restrictio incorporated into its design as mu controlling the machine computer variety
45. ALS 8 PROGRAM DEVELOPMENT SYSTEM OPERATOR S MANUAL PROCESSOR TECHNOLOGY CORPORATION 6200 Hollis Street Emeryville CA 94608 415 652 8080 Copyright 1977 by Processor Technology Corporation Manual No 727013 IMPORTANT NOTICE This copyrighted software product is distributed on an individual sale basis for the personal use of the original purchaser only No license is granted herein to copy duplicate sell or otherwise distribute to any other person firm or entity This software product is copyrighted and all rights are reserved all forms of the program are copyrighted by Processor Technology Corporation THREE MONTH LIMITED WARRANTY Processor Technology Corporation warrants this software product to be free from defects in material and workmanship for a period of three months from the date originally purchased This warranty is made in lieu of any other warranty expressed or implied and is limited to repair or replacement at the option of Processor Technology Corporation transportation and handling charges excluded To obtain service under the terms of this warranty the defectiv part must be returned along with a copy of the original bill of sale to Processor Technology Corporation within the warranty period The warranty herein extends only to the original purchaser and is not assignable or transferable and shall not apply to any software pro
46. Also B da in IO DR Used wit contents of summary contains th the There are only two names in the DR has many forms functions and describes th DR dname in o ta through a ro output tine assumed command does not activate this driver pair is zero O input if the output output driver will be assigned omitted after being preceded by a valid input special output address will be assigned to allow no ou IT BUCKET thout arguments I O driver to be at sname IVER COMMANDS The following summarizes 1 other command SWCH ut IO DR enters the name dname into th two addresses in and out the ALS 8 functions will t tine located at the address in these functions will be sent to address out This form of only defin u from from the System I O driver command set but ts e I O When this ry to read the the es it If followed by a proper output addr driver will be assigned as the inp driver address is zero the curren If the output address address this command prints out t table Each line of the pr the input driver address a name output driver address SYSI pair control to the executive IO DR dname This informs O dname A is the ALS 8 that the default system dr is to be used for one more command line The d Thi
47. I name from that file FCHK comm than six does not fil ho shows three short files bein command used with no argumen All the Current Fil ddress an ASC can be LE command es of ting file curren system RAM area in a table called the also be removed from this list of defined files by a nu the table but does These file param and thereby allowin information Rather than havin user can specify which of his defined fil file operations will appl le is redefined with the FI This is done by using the FI LE NAME and a numeric In this way file as well s ar File Name Tab En Using the FI which are dupli them starts with a Each line the file relative t the start numbered lines have positions lines do not have to be entered The ALS 8 will reposition other lines to make sure the proper order is kept internal sing the RNUM command to File LE command les is to be considered y to this file until LE command Fil nam kept ther or LO 20 LY six files names may have g each file related the ALS 8 has the te a file the user must give a name for the file and tor ita argument for the FI the START ADDRESS for that file used to create a new LE the l as make an in the le These th meric argument of zero not affect the memory containing eters may be res g the user
48. LAR LEFT LUP XRA A CLEAR THE CARRY CMP B SEE IF SHIFT COUNT DONE RZ RETURN TO CALLING ROUTINE DCR B DECREMENT COUNT MVI A 80H TEST MSB OF H L ANA H COMMENTS OPTIONAL DAD H SHIFT LEFT JZ LUP IF MSB WAS ZERO INX H CIRCULAR BIT N JMP LUP END 8 bit Instructions registers iden each represent one of the 8 bit regis represent mem PSW the instruction special program status word assume a destination many will also make for example Addit assembl Cal T quan resul regis instr Table associated are sS I O devices assembler and the hardware use an registers and tifying thes a a 16 b1 16 bi ion ter 7 LABL XA A A D A A DUUU Th a 6 can y language an led the accumu tity from memory AWON The le SF Cems reg assu lato 6 the wit in and tored Asse addr short table to this tabl through 7 assembler will instruction with the appropriat sses examp le B C A Thes The D E H L M sent woul asse th ld ist mpt is hand d it assumes that r or the regis D D O D D DD PPDP na m h m and A er for ions on will be ory led by the s Many of th resul one of their the ADD in d BE Both pp rir or Depending on the tack poin
49. LS 8 is distributed on vario Cassette memory beginning at early FFFF ALS 8 program actuall j froni th eit n in wi This cass the en t of the ALS ther SOLOS or IX C ALS 8 on Cassette and with SOLOS CUTER us media ette consist location DF80 through d of memory ly begins at E000 8 which establishes th address space a short including CUTS format ts of one file which loads into the end of the ALS 8 Although the t program resides n en CU d of drivers which provide compatible operation TER or other compat the ALS 8 sys CUTER This program cessary linkages resides at the very tem RAM area and also contains special I O with either SOLOS tible surrogate When the ALS 8 cassette is first loaded and executed at location DF80 the 1 0 drivers will be properly altered so that the standard SYSIO 1 0 drivers will function properly with SOLOS CUTER a STAB D700 will be simulated and the begin address of the SOLOS CUTER jump table will be used to simulate an ESET command An assembly listing of this initialization program follows The SYSIO I O drivers will be altered within the ALS 8 itself so that whenever the ALS 8 is later reset via entry at either E024 or E000 the updated SYSIO drivers compatible with SOLOS CUTER wil
50. OAJ mov Changes may be made to other drivers may be addressed to support O drivers at two each for the address of the current second is the address of the drivers associated with the named Each address occupies low order byte of the address followed by the high order byte Input and Output This entry point will perform a partial system reset initializing only I O drivers in the system RAM the system try point is used to return control This entry point stack pointer but requires a the stack will set MSY SLO put driver and an Output these drivers the name d from the ALS 8 to the these drivers or non standard devices tialization are at The first I O driver and the init two bytes with the addresses are in hex Input driver is located at driver is located at D098 and the A special input status APPENDIX A cont routine must also be available at location DOA4 and must pass back a ZERO flag only when no character is waiting to be input The standard system I O drivers are restored from the ALS 8 to the system RAM area whenever the system is reset or initialized entry points E024 or E000 The following is an assembly listing of the standard system I O drivers to be used as an aid both in understanding how the drivers work and how to write other drivers
51. OVE 0670 0680 0690 82 APPENDIX C cont 0700 THESE ROUTINES EXIST AT THE TOP OF THE 0710 0000 4K BLOCK OF MEMORY 0720 0730 DFD8 0740 INP8 EQU INPUT ROUTINE DFD8 CD A4 DO 0750 CALL STAT GET STATUS DFDB CA D8 DF 0760 JZ INP8 WAIT FOR A KEY DFDE 3A FF DF 0770 LDA CHAR WHEN KEY IS HIT IT WILL RE HERE DFE1 E6 7E 0780 ANI 7FH CLEAR HI BIT IN CASE DFE3 47 0790 OV B A PASS CHAR BACK IN REG B DFE4 AF 0800 XRA A BUT WE ALSO HAVE TO CLEAR CHAR WAITING DFE5 32 FF DF 0810 STA CHAR NO CHAR IS WAITING NOW DFE8 78 0820 OV A B ALSO PASS RACK CHAR IN REG A DFE9 C9 0830 RE RET 4 CHAR IN A AND B ALSO USED FOR JUST A RET 0840 0850 0860 DFE 0870 OUTP8 EQU S CHARACTER OUTPUT ROUTINE DFEA CD A4 DO 0880 CALL STAT IS THERE BY CHANCE A CHAR WAITING DEED CA FA DF 0890 JZ NOCHR NO THEN JUST DO AN OUTPUT DFFO C5 0900 PUSH B SAVE CHAR TO BE OUTPUT DFF1 CD
52. TO A SAFE STAB 0270 LXI H INP8 GET THE ADDR OF THE INPUT ROUTINE 0280 SHLD PTRS POS EW ADDRESSES INTO ALS 8 0290 LXI H OUTP8 ALSO THE OUTPUT ROUTINE ADDR 0300 SHLD PTRS 2 AND POST IT TOO 0310 LXI H MVTO PT WHERE TO MOVE 2ND DATA 0320 LXI D MVE THE STAT ROUTINE IS MOVED 0330 VI B MVLEN HIS IS THE NUMBER OF BYTES TO MOVE 0340 LP1 EQU LOOP TO MOVE THE ENTIRE STAT ROUTINE 0350 LDAX D GET ONE BYTE 0360 OV A MOVE I 0370 INX H NEX 0380 INX D 0390 DCR B DO IT PROPER NUMBER OF BYTES 0400 JNZ LP1 MOVE ENTIRE ROUTINE 0410 JMP ALS8 INITIALIZATION IS ALL DONE START IT UP 0420 0430 0440 0450 0460 THESE ARE THE I 0 DRIVERS THAT WILL MAKE THE ALS 8 0470 BE COMPATIBLE WITH SOLOS CUTER CONSOL 0480 0490 THIS ROUTINE WILL BE THE STATUS ROUTINE 0500 THIS IS PLACED INTO THE ALS 8 PROPER 0510 BUT IS FINALLY PLACID INTO SYSTEM RAM AT LOCATION 0520 DOA4 0530 0540 STA EQU ODOA4H THE STAT ROUTINE WILL BE HERE 0550 0560 MVF EQU 5 THIS CODE WILL BE MOVED FROM HERE 0570 LDA CHAR SEE IF STATUS ALREADY GOTTEN 0580 ORA A IS THE STATUS ALREADY THERE 0590 JNZ STAT2 MVEM STA YES SAY SO AGAIN AND AGAIN AND AGAIN 0600 XXINP CALL SINP GET STATUS AND OR CHAR 0610 RZ x NO CHAR AVAILABLE 0620 STA CHAR POST THIS CHAR IS WAITING 0630 STAT2 EQU CHAR ALREADY WAITING 0640 VI A 40H PASS BACK SOME NON ZERO CHAR 0650 RET F AND STATUS IS NOW COMPLETE 0660 MVLEN EQU S MVFM THIS IS THE LENGTH OF THE CODE TO M
53. Table NLST z suppress printed output of assembly listing This instruction sets a flag in the assembler which will suppress the printing listing from this line until that flag is reset by the LST instruction Neither NLST or LST may have a label field LST E begin assembly listing This reactivates the listing feature which will remain on until turned off by NLST If the listing feature is already active when this instruction is encountered it is simply ignored Neither NLST or LST affect memory position or contents in any way END marks the end of the program This instruction is a signal to the assembler that no more statements are to be assembled from the current device or file being assembled For programs being assembled from a file in memory this instruction is not necessary as th nd of fil mark performs the same function 61 SIMULATOR EXTENSION PACKAGE KKAXKKXKKKKKXKKKKKKKKKKKKKKKXKKXKKkkAR OPERATION MANUAL The SIM 1 Extension Package for the ALS 8 is a program designed to run the 8080 computer the run allowing direct view of the instruction as we 8080 machine language in the same manner as running the simulator program Because the Simulator is an operating program the user has full control of powerful program debugging as well as a computer s operation Since each 11 as its effects can be viewed on a single step basis
54. able the zero flag will be set When a character is available the zero flag will be reset and the character will be returned in the A register As an example the following code will wait for a character LOOP to be entered CALL SINP get status or the character JZ LOOP status says character not available yet character is in register A JUMP TABLE OUTPUT ENTRY POINTS SOUT address xx19 This entry point will set register A to the current system output pseudo port This must be an LDA instruction After loading register A this entry point proceeds by executing AOUT described below AOUT address xx IE This entry point is used to output the character in the B register to the pseudo port specified by the value in the A register On return the PSW and register A are undefined All other registers are as they were on entry A user written output routine AOUT surrogate may buffer or delay the output as required for the supported device 87 Appendix D cont The fourth aspect of the SOLOS CUTER interface is the format in which the data is recorded on tape When data is written to tape it is referred to logically as a file Each file has its own header which describes the file On cassette tape each header is followed by the file itself The file itself is written to tape in segments of 1 to 256 b
55. ay Clear the screen and set th d 76 sp sls APPENDIX A System Entry Points There are thr The first is used loaded later use the ALS 8 monitor STANDAR the system is first powered on D SYSTEM NOTES primary entry points into the ALS 8 system to perform system initialization such as when or when The second entry point is used the system while keeping some of the internal the ALS 8 is first to only partially reset tables intact for The third entry point is used to return control to The entry points are Use This is the entry point which will ize the ALS 8 system Address hex E024 completely initial The various tables system RAM area wil E000 standard area E060 This ent to the ALS 8 valid and data within the l be initialized pointer after use I O Standard System The ALS 8 makes driver When the ALS 8 Drivers is use of a SYSTEM driver pair known as This driver pair is composed of an In initialized SYSTO system RAM area The addresses of the SYS four locations location is TSYSTO driver pair and their addresses ar Current Input Driver DOCD SYSIO Input Driver D094 Current Output Driver DODO SYSIO Output Driver D096 The standard system Output 77 D
56. calls the subroutine at addr if the CARRY bit has been set to 1 CARRY is set to 1 when there is a carry from an addition a borrow from a subtraction or there is a bit 1 produced by one of the shift or Carry instructions label CNC addr call if no CARRY This instruction calls the subroutine at address addr if the CARRY bit is zero label CPE addr call if PARITY even This instruction calls addr if the PARITY bit was reset by the last PSW related operation Resetting PARITY is equivalent to making it a zero Even parity for a result indicates that it contained an even number of binary 1 s and O s label CPO addr call if PARITY 1 parity odd The subroutine call is made if the PARITY bit of the PSW is set to 1 indicating odd parity label RZ return if last result was zero A return from subroutine is made if the last result recorded in the PSW was a zero label RNZ return if last result was non zero 52 This instruction returns from the present subroutine if the last result was non zero label RP return if positive A return using the address pulled off the stack is made if the last result had a zero sign was positive label PM return if minus This returns from the routine if the last result was minus label RC return if CARRY 1 This instruction performs a subroutine if the PSW bit CARRY is set to 1 CARRY is set by th
57. can affect th ine parameters The ALS 8 allows the Assembly Symbol Table command defines this location from an argument which obeys the current MODE value the first assembly is made and it D700 hexadecimal system RAM area leaving over 1K for 2K for the assembly Symbol sufficient for all but the largest programs 00 is not full of The following might be used be placed at also leaves over naturally that th driver routines th conn the Er This user shou e origins dom of specifying where ld start in memory The STAB start location must be defined befor The resident r register names like define the SP and PSW ter them once in the in a program is Called the Assembly If ections for a number of programs is This sugges the Syst ted that puts it tem Symbol Tab this table well into the Table e which is area b see Chapter Js to start an assembly STAB D700 ASSM 1A0 tween D700 and EO 25 This assumes I O execu Table addre at th assem execu the n examp Table given This to th front EXAMI examp If a resta data erran The loaded output of the assembler the object code Can be ted without having to make an entry in the Custom Command The EXEC command generates a subroutine call to the ss specified by its argument When finished
58. ccumulator lie to the left label RLC rotate left through carry This is a circular left shift in which the carry bit receives the bit value shifted from the most significant bit of the accumulator This same value shifted into carry is also shifted into the least significant bit of A 01101110 becomes 11011100 after the shift and the Carry bit is left as 0 Another shift of this value gives 10111000 and a Carry value of label RRC rotate right through carry This shift significant bit is a right shift similar to RLC except the least is shifted to Carry and the MSB position Ta 46 label RAL 9 bit shift left This function shifts the accumulator one place left The most significant bit is shifted into Carry as in RLC but the old value of Carry is shifted into the low end of the reg A Shifting 01101110 with a value of 1 in Carry produces 11011101 and a Carry of 0 A second shift of this data produces 10111010 and a Carry of 1 label RAR 9 bit right shift The accumulator contents are shifted one place right with the least significant bit being sent to Carry and the old value of carry being shifted into the MSB of the accumulator label LDAX regbd load A from memory indexed The accumulator is loaded with the value from memory whose address is obtained from the register pairs B C or D E The operand regbd can then
59. cursor position HEX cover the correct usage later in the manual form a triangle on the input keyboard When pressed simultaneously with the CONTROL KEY they will move will tatemen triangle movement controls to allow also includes a HOME key which sets the cursor to position zero on line seven least seven lines on the screen SCREEN SCROLL COMMANDS KKEKKKKKKKKKKKKKKKKKKKKKKKKKK Do not use this control unless there are at Screen scroll commands are provided to allow the file to 71 least This the TXT 2 be rolled through t he screen area until the desired file line is reached Each command key corresponds to a position relative to the triangle previ ously described CONTROL E scroll up one line X scroll down one line R scroll up sixteen lines C scroll down sixteen lines DIRECT FILE POSIT ONING COMMANDS KKEKKKKKKKKKKKKKKKKKKK In addition to c contains code to rece file The editor FIN command is CONTROL CONTROL O ed Upon depressing and a colon promp is waiting for an inp operator This input Any occurrence of the of preceding or follo KKKKKKKKKKKKKKKKK ursor positioning controls the TXT 2 also ive and search for specific text within the D command different than the ALS 8 find O itor text search the search command the screen will blank
60. d in memory will be suffices to tents by is an e optional ments as ction The ALS values an and chosen In order in which will expect it ent 8 also h as th d one ASC e arguments are used if they are 8 executive argument as use the they appear to be the first usually a name in one of that ks ey might appear ent has been omitted The ucti it w ASSM th one or two arguments which begins by checking for a pair the first argument as the origin address for the program being assembled t specifies th machine instr the assembler will take the val ons The following example requirement with arguments of the ALS 8 functions contain logic to handle where an argum peculiar to will be applied ple above can be used wi and starts the assembler It interprets In such instances the command and argument in command shown in the The The second starting address for the assembler s If this second argument ue given in the first ill signal The assembler has no provision for an error 1f Default rules for all the ASSM 10 Again it is mentioned commands have full use routines the programmer Finally to be observed in ALS 8 executive needs to separate the arguments separate arguments from one another therefore put on command word and at least one blank between a
61. ddress This will enter the name cname into the Custom Command Table with its associated address value If this name already exists in the table it is merely given a new associated value The name may be four or five characters long but it is only unique to four Thus HEART is the same custom name as HEAR A maximum of twenty two such names is permitted each requiring eight bytes of table space The table must not go beyond D300 or interference with the System Symbol Table will result CUSTD cname This deletes the specified name from the Custom Command Table EXEC addr The EXEC command performs a subroutine call to the address specified by addr The argument being an address obeys the number convention set by MODE SYML This command lists the contents of the System Symbol Table The values listed in the name value pair are assumed to be addresses and as such will follow the current MODE for type The names can be one to five characters in length The end address of the table is printed following the list of names and values 32 SYMLE sname addr SYMLE is used to enter a name and its corresponding value into the System Symbol Table SYMLD sname delete the symbol This will Symbol Table I O DR one 10 driver driver pair becomes active IO This form of table with the tex Similarly rou address current SYS
62. duct which has been repaired by anyone other than Processor Technology Corporation or which may have been subject to altera tions misuse negligence or accident or any unit which may have had the name altered defaced or removed ALS 8 PROGRAM DEVELOPMENT SYSTEM OPERATOR S MANUAL TABLE OF CONTENTS CHAPTER I General DESCETPELON UA A A RS A A weet 1 CHAPTER Memory amp Program Structure of the ALS 8 4 CHAPTER Talking to he ALSS hide ass dise he ads adn e ass mias da 9 CHAPTER IV Memory Related Commands o oooooooooooo ooo 12 CHAPTER V Pikes and File Commands serra ac LS CHAPTER V Bi CLE Commands ep ae Sa ces teed cm a ee iaraa Water Dn ek ah Marlee deere et LS CHAPTER V FO Drivers and Commands essi sig ss Big wd Wis HE Soe 21 CHAPTER V System COMMAM OS sida ee bee Sieh os are he erie ai lero ai ele 23 CHAPTER TX Command SUMMARY prks EEEE EEE REEE a EE ee 27 CHAPTER X TH ALS C CASSeCMDI ER o com dare eee o AA Be A Ba es 35 Assembler Error Indications reri reres eee ee ees 37 Assembly Language Instructions 41 Uncondaitional Trans ier dl lso ds a a eke 48 condicional TFANSTErS deco ocho is dados ds dades Kae 48 Carry Bit INSECUEETONAS ess as is a 49 SUDFOUEINE Trastero e 50 Subrout ine Conditional Instructions Sl lO Bic ODE PAETONG
63. e conditionals meaning that the full operation is performed only if a condition is met The program status word PSW uses five of its eight bits to represent the testable conditions These bits are called Sign Zero Aux Parii ty and Carry and they reflect the state of the accumulator after certain instructions The more Significant bit of the accum ulator is copied to Sign by certain instructions Similarly certain instructions will set the Zero bit to 1 when the accumulat tor contains a zero value and it is reset to 0 when A is non zero Parity is set to 1 when A contains an odd number of binary 1 s and is reset when even The Carry bit s function is most easily described with the conceptual aid of a ninth bi t on the accumulator Some instructions will put the opposite 0 for 1 1 for 0 of the carry value into Carry others will copy carry into Carry The reader is again reminded tha t some instructions do not 40 affect the values in PSW regardless of the contents of A The actions taken by each instruction concerning the PSW condition bits will be given with the description of each instruction In the upcoming instruction summary two types of assembler instructions will be described executable instructions and pseudo ops The executable instructions are those assembly statements which must be converted into binary
64. e Carry instructions shifts additions with overflow or subtractions with borrows label RNC return if no CARRY 0 RNC returns if there was no CARRY generated from the last instruction See the above instruction label RPE return if PARITY even A return is executed if the value of the PARITY is O indicating even parity in the last operation label RPO return if PARITY odd Another instruction RST also performs transfers but it is rarely used as such It will be described later with the interrupt related instructions 53 16 BIT OPERATIONS A number of the 8080 functions can perform arithmetic operations on 16 bit values stored in register pairs The B and C registers form a pair as do D E and H L the Stack Pointer SP is used as a fourth possible operand for these instructions None of these instructions affect any of the condition bits label LHLD addr load H L with the values at addr This instruction moves two bytes from memory into the H L register pair The operand addr identifies the address of the byte to be transferred to the L register and the next memory address is used for H label SHLD addr store H L into memory at addr The contents of the L register are moved to the address specified by addr and the contents of the H register are moved to memory location addr 1 label LXI rp const s
65. e a length as well as a start location and the user must be careful that in adding text to a file he does not accidentally write file information over a program or another file The ALS 8 assumes that the user knows where file information and programs are located To help the user manage his files the ALS 8 provides thr file related commands FILES different from FILE FMOV and FCHK The FILES command produces a listing of the files in the File Name Table This listing includes the start and end addresses for the files so it is a simple matter for the user to spot and avoid memory conflicts Should a memory conflict threaten the current file can be moved to a different location in memory with the FMOV command FMOV requires only a single argument defining the destination address for the Current File This argument may not be zero but no other restrictions are placed on it 16 The last o verifies th f th related the file and address if necessary If is not properly formatted in memory the terminal Earlier it was mentioned that the contents of affected by removing Assuming that FILE ERR to restoring files a file were not list of defined files not altered th memory contents for FCHK can return it to an active This useful status commands is FCHK which internal structure of the Current File and updates for
66. e current value of CARRY If CARRY equaled 1 this instruction will change it to a 0 If CARRY was 0 CMC changes it to a 1 SUBROUTINE TRANSFERS A transfer to a subroutine is made with one of the CALL instructions described below When a CALL instruction is made two addresses becom operand field of th th and stored on the n transferred to this important The transfer address the address of the subroutine being called is contained in the e CALL instruction Program control will be address immediately following the call As e Call is being made however a return address is computed ext position of the stack When the subroutine is finished it can execute one of the RETURN instructions which the stack and a ju address represents following the call will fetch this address from the stack pop mp will be made to this address This return the location of the instruction immediately instruction which gave control to the subroutine Subrou return addresses at tine calls within subroutines store their successive stack locations so the corresponding return instructions can properly locate their return addresses As with the jump instructions both the CALL and RETURN operations are divi ded into unconditionals and conditionals with the same suffix convention as used with JUMPS label CALL addr call the
67. e number text or as assembly assembler ar th FORM and NFOR TERM width The ALS initially set to 80 the TERM command time with contains the only outpu FCHK The FORM t formatting 8 param The user can the terminal line but also input maximum value for TERM is size of The con langu composed Thes trols the maximu r representing terminal however The decimal line with this same number tents of an age source of distinct e fields ca atic format commands T m length of widt user should ng the line is an the new data y file can be Lines fields which n be ting feature he TERMINAL lines input h is reset argument This influ line length 119 this at any width ences not for files This command sets a parameter in the system RAM for the ALS 8 which specifies whether or not printed listin assembler source or files are to be formatted 29 gs of NFOR This The ALS 8 deactivates the formatting feature described above is initialized to the non formatted state LIST linel line2 This is used to print out contents of a fil between th specified single line line numbers When only one argument is used the identified by linel is printed Line numbers and prints the command wi line number arguments are always decimal numbers
68. e value given by the ttached argument to ENTR and the first input value is put in this location inputs are placed in successive locations The user has an opportunity at the start of each input line to redefine this current address If the first value is followed immediately by a colon it is treated as a new address rather than a memory value While this seems only a minor convenience it becomes the key to making the output of DUMP compatible with ENTR input The following shows the first example of this chapter rewritten using this feature MODE 8 ENTR 100 2 303 55 40 16 12 107 200 303 100 O 2001 101 200 3s 037 READY The DUMP command displays the contents of memory starting at the address specified in the first argument and continuing to the address specified by the second As with ENTR both the arguments and the output follow the base parameter set by MODE The DUMP command can also be used with just a single argument in this case it types out only the location specified in the first argument The lines output by the DUMP command each start with the current address followed by a colon The remainder of the line contains the hexadecimal or octal contents of the memory locations beginning with the printing address In either the octal or hexadecimal mode the DUMP command puts sixteen values on each lin Becaus this ou ENTR those users with a paper tpu directly on tape and reread it later with ENTR
69. embler on a line by line basis Since files are also line structured they become a natural storage area for program source The ASSI command series insures that ALS 8 files are not the only storage medium for programs Each line of the program must conform to certain rules in order to be assembled correctly An asterisk at the start of a line identifies the line as being a comment and its contents are not subject to the rules of the assembly language Lines without an asterisk are statements and these can be divided into as many as four separate parts called fields Each field has an entirely different function to the assembler The first the label field gives a symbolic name to that line which can be referenced by any statement in the program The label must start with an alphabetic character in column 1 of the line after any file line numbers It may be any number of continuous characters though the assembler will ignore all characters beyond the fifth This means that the label names bridge bridg and bridget will all represent the same label All fields are separated from one another by one or more blanks STATEMENTS may contain either symbolic 8080 machine instructions or pseudo ops The four fields of each statement NAME OPERATION OPERAND and COMMENT are scanned left to right by the assembler The assembler requires at least one blank
70. ent is represented by const 8 and const values supplied for const 8 must be 8 bits or less in magnitude The following three instructions provide the most direct means of transferring 8 bit data from register to register memory to register or register to memory There is no single instruction to transfer from one memory location directly to another label LDA addr LOAD Accumulator 41 This instruction fetches a byte from the memory location specified by addr This value is then stored in A PSW is not affected label MOV dreg sreg move register to register This instruction moves the contents of the source register sreg to the destination register dreg B C D E H L M and A 0 through 7 are legal values for sreg and dreg except that both may not specify memory M When either sreg or dreg specify memory the CPU uses the contents of the H L register pair as the address of the memory byte to fetch or store The contents of the source register are not affected PSW is also not affected by the instruction MOV M E move contents of E into memory location specified by H L MOVER MOV E B copy B into E MOV C M load C from memory label STA addr STORE accumulator STA transfers the contents of the accumulator to the memory location specified by addr PSW is unaffected Arithmetic logical and compa
71. ents and parame stored and only for describe conditions which may be of in Using the features which arise from th tailor the operating system The ALS 8 contains an assembler and management logically distinct seci editing combined in many programs The written from the be examined machine language A very important is the fact that functions and support ro the program is the computer is powered that half call th altered resident assembler can into the numeric machine language required by is then stored by the assemb designated memory location where it these files can be man ways text for a program terminal onto a to added any u up already xisting rout it rel The only appreciable differenc ters is that arguments are temporarily while parameters terest to many fun is principle the current command to his own functions tions of the operati to aid in the writin aged at one utines trieves it from a predetermined betw n ctions the user can personal file in text can be run writt tines has to be aware of the conveni with each this manual w111 the routines that it faster to learn these than time a particular func deal Calls tion is needed with this feature in detail n debugged 2 requirements file handl
72. ere may be quite a number to the system considered current at any ties are kept in this memory area ters will influence the flow of cont ructure 8 of one te like BAS tines or drivers the general blocks to minimize self contained E Or is many of the decisions made tines or drivers for a given tatus information kept in the system RAM area I O driver routines only one input driver and one output time and their Similarly trol through the certain CHAPTER TALKING TO THE ALS 8 The command set recognized by the ALS 8 can be naturally divided into fiv SYSTEM commands Usually drivers restoring programs to six files of 1 commands manipulate system commands incl manage up categori The memory commands are used to into memory or examine the cont these data transfers ar and printer of the terminal but The fil s MEMORY FILE EDIT NG 1 0 and betw enter data tents of a section of memory n memory and the keyboard with proper equipment and the memory commands become a means of saving and le commands verify nformation the contents ludes all and drivers TE the parameters symbols which execute the assembler designated location s with an asterisk are commands used on in memory command names in their respectiv the onal in me
73. es over half This memory The the software RAM resides t the ALS 8 ulrements to serve as files and data DOOO RAM DO 6 is suggested becaus 00 to DFFF devices bu terminal attached computer possible initialized TO wi A i which con any 80 th a nu codes for input i 80 based mber is assumed code 1 and mos the status is 0 its bi output and is 1 can be changed by the user since this conven software written for 8080 based compu however tha also assumed that retrieve status in significant bit device and the of keyboard the data is assu I O driver is in following system tion is ass th the comp forma il 000 This it be followed is very flexible wit t does make some initial stitute a hardwar computer identify device code and 256 for o the keyboard i Called a devices e print m tion n m th regard is very little free space around and it is also suggested tha the system RAM board to peripheral assumptions about the E that echanism is ter or the nt Devices themselves to the There are 256 tput devices INPUT DEVICE UT DEVICE 1 It 8 in this case quirem As S is can OUTP ALS about the 000 N U 4 represents ext lower bit The term
74. esponding operand will produce 0111 bits are set as dictated by label XRA is a XRA reg bit wise is al logical logical ways reset to zero the properties of the result O EXCLUSIVE OR r 43 exclusive OR func or Boolean Each bit of 0111 for a ther status eg and A tion for the OPERANDS A and reg Each bit of the result will be 1 if one and only one of the corresponding operand bits is 1 The operand values 00110011 and 01010101 produce an exclusive OR result in the accumulator of 01100110 PSW status bits are handled as in ANA ORA This function is often used to clear the accumulator and Carry with an XRA A label CMP reg Compare A to Reg This instruction performs an 8 bit unsigned compare of the values in A and Reg The following status results A lt Reg Carry is set zero is reset E ll Reg Carry is reset zero is set A gt Reg Carry is reset zero is reset A compare is actually done by internally subtracting Reg from A but storing the result There are eight instructions much like the register operations described above and they are called the Immediat Instructions They differ from register operations in that a register or memory value is not used as an operand Instead the operands are the accumulator as before and an eight bit value which is given in the operand field
75. file close xx0D RDBYT 3 Byte access read one byte xx10 WRBYT 3 Byte access write one byte xx13 RDBLK 3 Read an entire file into memory xx16 WRBLK 3 Write an entire file from memory XX19 SOUT 3 Standard character output routine This must be an LDA pointing to the byte containing the current system output pseudo port value xx1C ROUT 3 Character output to pseudo port specified in register A xx1F SINP 3 Standard character input routine This must be an LDA pointing to the byte containing the current system input pseudo port value xx22 AINP 3 Character input to pseudo port specified in register A The most often used routines are RETRN SOUT and SINP Other entry points may or may not be used 86 Appendix D cont JUMP TABLE INPUT ENTRY POINTS SINP address xx1F This entry point will set register A to the current system input pseudo port This must be an LDA instruction After loading register A this entry point proceeds by executing AINP described below AINP address xx22 This entry point is used to input one character or status information from any pseudo port On entry register A indicates the desired pseudo port Because this entry point is a combination status get character routine it is the user s responsibility to interpret return flags properly When a character is not avail
76. from A as well as the is actually done by adding the Carry bit before the subtraction is made the Carry borrow after the subtraction label This function performs a logical and on the contents of multiplication ANA reg e current conten additions usu ally adjacent m specified regi Accumulator Thi in whi t to zero Suc t less signifi ster and Carry ts of Carry s is used ch a number is emory cessive e numbers are cant Subtract with borrow from A The PSW of SUB value in to the va status bi logically AND reg and a Bo reg and the a It subtracts reg This lue in reg ts are updated A olean ccumulator Conceptually this operation is performed independently on each bit position of corresponding only if both 01010101 will the two operands A and reg T bit position in the result is set to of the leave always reset the result label This instruction performs a bit wise on the accumulator and the result is set to 1 if eit 00110011 OR 0101 The Carry bit add bits is result operand bits are the value 00010001 in A 001100 The A Se he Ie AB 11 and Carry bit is and other status bits are set or reset according to ORA reg logically OR reg and A th logical 0101 specified register ther of the corr
77. h a program can automatically skip the paper folds and a set of drivers could the TXT 2 the fact that any can if desired table fora addresses and begin the user must the parameter identifying the tines which search torage must tables also be The learned but the enormous flexibility compensates for the trouble 22 The commands des of functions ASSM program and load the CHAPTER V SYSTEM COMMANDS cribed J n this chapter cover a wide range ASSI and their derivatives assemble a resulta n designated section of memory the Custom Command Table stored in system and CUSTD manipulate RAM SYML SYMLE and SYML D are like the CUST set except that t machine instructions into a CUST and its derivatives CUSTE they manage the System Symbol Table in the system RAM Other commands in this group define parameters and execute ro addresses All of the commands rel accept one or two arguments I O drivers set system utines starting at user defined lated to the ALS 8 resident assembler The first argument defines th origin for the program while the second if given specifies the start address for the machine language output of the assembler If only one argument is given the assembler uses it for both the program origin and the start address for the binary form of the
78. he ALS 8 a minor matter The use of these commands will be described following the description and operating procedure of the E EDITOR KKKKKKKKKKKK D ITOR The TXT 2 converts the contents of the current ALS 8 file into a continuous display on the VDM screen Single letter control character commands allow cursor as well as direct file line movement on the screen Since all file operations are direct and the contents of the file are always displayed on the screen edit file line numbers ing becomes a simple matter either with or without Upon entry the EDITOR program takes control of the current ALS 8 File and displays the file contents or lack thereof on the screen sixteen lines at a time Command keys are provided to roll through the file or to position the cursor over any character within the file even in a position where none exists Also provided are controls to insert and delete characters or lines as required by the result desired As with all memory files a file beginning and end address exist The TXT 2 EDITOR also has one additional parameter a value indicating the end of assigned memory This parameter can be given any value and is used to prevent a file from growing beyond assigned bounds The EDITOR is entered by using the EDIT command of the ALS 8 The current file is displayed on the screen and
79. he symbol tabl immediately following the program source listin information between program that they occurred in listing depends on th the FORM switch g The Form e param S a e X option adds cross reference ymbol names and the line numbers tting of the assembler output ter defining the terminal width and 23 Custom Command Table characters and are considered When a custom name is given address is retrieved from The CUST command prints o The c to the ut the current ustom names must u wa exceeds The FOCAL and BASIC software packages address zero Either could be loaded though command Both software packages come with must be ENTR ed first this program loads tapes This loader is then started and th stored in memory the table s boundary Custom commands can be attached so they cannot be in and i MODE 16 ENTR 1800 type in hexadecimal for CUSTE LOAD 1800 LOAD to an both the machine at ts name entered as a custom that the twenty two custom name limit is their responsibility tch as the ALS 8 does not warn when contents in the be four or five nique to only four characters the ALS 8 as a command this table and the ALS 8 passes control to this address as a subroutine call Entries to this table are made with the CUSTE command w
80. hich requires an ASC argument to be used as the new name and an address to be called for the command The address argument follows the base set by the last MODE command CUSTD deletes custom names from the table It requires only the single name argument Users are cautioned to the number of entries y kind of program load starting at the same tim a short program which INTEL format paper e paper tape data is The following outlines such a sequence INTEL paper tape loader start paper tape when done reading restart ALS 8 at E060 READY CUSTE FOCAL 0 CUST LOAD 1800 FOCAL FOCAL 0 The System Symbol Table is managed wit and SYMLD commands contents of and like CUST d SYMLI SYML the table SYMLE an ted values from their associa only this is the ready asterisk from FOCAL th the SYML prints out D ent ter and dele the symbol table SYMLE the te names SYMLE requires a name argument of five letters or less and a numeric argument represen dele only the name arg Symbol Table is not restricted m ting the symbol s val tion of symbol names from th ument Unlike physical 24 ue e table and the custom table uch by a maximum length SYMLD handles the like CUST requires the System Its location allows i inconceivable tha ffectively set two Table SYMLE SP 6
81. his custom ks up the corresponding address and performs a subroutine jump call to that address This table ends at D2FF which leaves room for 22 custom names able follows the custom commands and ystem Symbol T the ALS 8 software begins This e the Custom Command Table contains names and corresponding sixteen bit numbers which are usually thought of This is used most often by the ALS 8 resident but it is open for use to any user routine which ccess it It allows user routines to be parameterized so that the routine can access information not available at the time it is written and assembl only times sixty usefulness It wa of memory congest system and connecting programs and subroutines written at much different Note that systems having only 1K board at D000 will be restricting this System Symbol ed This is especially useful for Table to the area D300 to D377 four bytes of memory This severely limits the of this featu s suggested ea re rlier space for the tion and the possible me user software special user written routines should be stored somewhe called 1 0 local ted in the RAM just program until they are p gives the System Symbol Table as much room as possible while maint taining the system user separation The d lagram on page user
82. if there are less than sixteen lines a number of fill characters As lines are added these fill characters disappear off the bottom of the screen Since a file must first exist the user must create or 70 select a file prior command is used for In the explanation each command on an actual file learning results thirty two lines Prior to using the editor parameter should be set to a known value to entering the EDI these operations that follows TOR The AL the user is urged No words can describe the visual effect each operation performs on the screen the file should have or be given s 8 FI LE to try For best a the end of assigned memory The parameter Can be set to a null value by giving the command EXEC FFF3 nullifies the proper operation of the parameter and a further explanation will CURSOR POSITIONING COMMANDS KKEKKKKKKKKKKK KK KKK KK KKKKKKKKKKKK The keys A S W Z the cursor as indicated below CONTROL W move move move move Nu D cursor up cursor left cursor right cursor down Any character input other normally replace the charac The normally for the character insert Lera CONTROL Q In addition to the condition is placed on this s mode to be described later CURSOR HOME COMMAND the current than control characters
83. ill ES rus system parameters find fil e information and driver can acce it and then ref pt data the programmer has an enormo The driver is a program capable of number of devices in a single call the terminal keyboard retrieve data from the cassette and ussion on drivers so far has covered only the basic Because the system only has to know where us amoun handlin t Of g any if desired It has access to in whatever form the device will tables so it can check status words or When used with functions ormat i so that the necessary address an are appended to the start of each line There is also n like ENTR the provide d colon O restriction that more than one driver can t be assigned to a single device One line printer driver might simply echo the data given to it on the page Another driver in the list might count lines so print headings exist for commu extension packa These capa user program ha ignore the it at page ge bilities are futher enhanced by S access retriev tops to the current driver pair specific name using those rou current driver tines th Similarly nication with the VDM as within corresponding To write s know the addresses of the table and the ALS 8 rou conventions for the routines and memory si It driver list search the uc
84. inal print ed available from the System umed by ters O the us of terminal from inpu the busy stat 01000000 has the b ter is busy when its bi the keyboard when RAM area and initialization a good deal of the t is suggested that sy it i The ALS 8 keeps a great deal of information in the system RAM area learn how on the system RAM area reserved for it is actually fil will become clear as Parameters definin and to use the ALS 8 to its fullest the reader should it wil this information is used In the following discussion be assumed that the 4K space led with memory The reasons the discussion progresses The first block of information in this area occupies addresses D000 to D25C and is called the System Global Area g or describing I O devices program status and other information are stored here Immediately following e Custom Command Table which contains a list of names this is th defined by detailed later Each entry in this table is paired with an address given when the command was defined When the user types in one of name from its own command set table pic continues out to DFFF wher The S table lik as addresses assembler cares toa these Custom names the user with the CUSTE command which will be the ALS 8 realizes that it isn t a It then searches t
85. ing routines The functions within ng system can g and debugging of and oftentimes data memory where it can or saved for later convert the program these be is The ALS 8 on such a file the CPU This ler at some user Up to six of time by the ALS 8 aspect of the ALS 8 in program development ser program has access to all the ALS 8 For many problems this means and ready as soon as All the user s program must do is Naturally the user program tions and assumptions associated but it is far simpler and much to write such routines from scratch Later sections of Another important design feature of the ALS 8 is its ability to maintain and effectively use a SYSTEM SYMBOL TABLE The user through the appropriate commands Can enter and delete names in this list or table These names carry only an associated number with them which is interpreted as the value of the label This table is accessible to the assembler and any other function user program which cares to reference it This Can be used quit ffectively to link together programs written at different times The address or value of a certain quantity does not have to be known at the time that a program is being assembled Instead that program can contain code which looks for this value in the symbol table 3 A structu the min principles beh taken of the feal define may be distrib and 1t constraints computer whi
86. instruction jumps if the CARRY bit has been set on the last operation For addition operations a jump is made if the sum of the two operands has exceeded the limit of 8 bit numbers The overflow bit is stored in the PSW bit CARRY Subtractions requiring a borrow will also set this CARRY label JNC addr Jump if no CARRY A jump to the address addr is made if the last operation did not produce a CARRY label JP addr Jump if PARITY even The PARITY bit of the PSW is even when the number of bits set to 1 in the result is even This instruction transfers to addr when this condition exists label JPO addr Jump if PARITY odd JPO transfers to the address addr when the PARITY bit in the PSW represents a result with odd parity Parity is generally used to verify data transmitted from an external device CARRY BIT INSTRUCTIONS There are two special instructions which manipulate only 49 the status of the CARRY bit in the PSW These will affect all CARRY related conditionals as well as the addition subtraction and shift instructi ons which use CARRY These two instructions are frequently used to return a simple status condition from a subroutine label STC set CARRY to 1 This instruction sets the value of CARRY to 1 No other condition bits are affected by this command label CMC complement CARRY CMC reverses complements th
87. ions separated by arithmetic operators The ALS 8 Assembler allows the use of four primary operators ADDITION SUBTRACTION MULTIPLICATION and DIVISION Expressions are scanned left to right with no precedence given to any operator Calculations are made using 16 bit arithmetic module 65536 and overflow of values is allowed Single byte values for immediate instructions as with MVI A must evaluate to a value between 256 to 255 or an assembler error will result MVI A 255D 10H LDA POTTS 256 OFSET LXI SP 30 2 STACK There are two other special operators which may be used to referenc ither the right gt or the left lt byte of a 16 bit value For example lt 1234H evaluates to 12H gt 1234H evaluates to 34H 36 ASSEMBLER ERROR INDICATIONS KKEKKKKKKKKKKKKKKEKKKKKKKKKKK The following error flags are outpu assembly O OPCODE ERROR L LABEL ERROR D DUPLICATE LABEL M MISSING LABEL V VALUE ERROR U UNDEFINED SYMBOL S SYNTAX ERROR R REGISTER ERROR A ARGUMENT ERROR Since the label field is a convention for identifying the second t by the assembler when the error occurs As determined by th the flags are output during pass one The symbo type of error some of to indicate an invalid 1 found in the opera
88. is example the preceding 256 bytes F File Segment Last This is the last segment of the file In this example this is 44 bytes Therefore the length of this file is 256 44 300 bytes G File Segment Last CRC This is the CRC character for the preceding segment in this example the preceding 44 bytes H Interfile GAP This is a gap between files and is typically a clear carrier for about five seconds CRC Computation The CRC character is computed for each segment or header The following code performs the CRC computation assuming Register A is the character just written to tape and Register C is the final CRC Register C should be set to zero prior to writing the first character of a segment After writing the last character of a segment and executing this code Register C is the CRC character for this segment An 8080 Subroutine to do CRC Computation DOCRC EQU A NEXT character and C CRC SUB C MOV C A XRA C CMA SUB MOV RET C A 89
89. l sign and val preceded by a space are A B C indicat regy value SET REG STE RR VALUE H HEX tiple assignments per each register name then EO Q OCTAL value DE or following D DECIMAL the selected ue The next respectively All commands can prompt break indicators running and return to While running switches as well as the SYSIO in Control D E H L with te the Stack Pointer and Flags register TST be used any time pu XM the comman The two high order sens mode of the simulator E por switches determin name must and F as it simu no breakpoint has been set follows SWITCHES KKKKKKKKKK 7 6 0 0 0 1 0 1 D the display lates the running program these switches ar interpreted as ISPLAY MODE where value line are allowed must be followed then be Valid register names used to PSW the Simulator has given a the program checks the front panel t for display and or causes the Simulator to stop d mode If kkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkk kxk kxxkxx xx k truction and display on SINGLE STEP MODE Execute one inst current output device the System input driver command mode received then execut instruction CONTINUOUS RUN With
90. make heavy 7 use of the overall pa divided in support routines on the n ckage much smaller These to two parts general supp I O drivers are support routines whi data to or from external devices T from the general support routines be handle 1 0 and because the ALS 8 all own routines as drivers thereby add system Each new driver added usual device Only drivers can be used chapter on I O drivers to control h readers cassette recorders or print also add t level In support their own programs m FOCAL and only a con It is by the ALS task depen Although t identified driver are identi parame program st I O drivers o the structure diagram bu addition they can make u or other funct size and complexity ay be considered cust this interaction wit venience tom fu not a requiremen x S ori ch hey are ca OWS ing and T level upport routines have been I O drivers handle the transfer of logically making the The distinct use on ly the drivers the user to define his to this part of the lly has charge of a single as will be described in the igh speed paper tape ers The custom commands t do so on the function se of al ion leve Other complet nections th support rou important to realize that 8 in choosing support rou d on st h
91. mory while of the files commands which define system also contains commands relocate and the edit The category of opti simulator The following Cat Editor or Simulator software packages MEMORY ENTR DUMP FILE ILE ILES EDIT gories ly by the optional VDM or any user table lists the The names marked SYSTEM IODR SWCH MODE ASST ASSM EXEC SIMU AUTO SYML SYMLE SYMLD STAB CUST TERM FORM NFOR lt The above list represents the default command set recognized by th functions inputs memory signifying ALS 8 executive from the This function must the end of input ALS 8 ex while operating The ENTR command terminal and expect ts to receiv cutive routine will recognize other for example Individual ALS 8 lines as takes control of the numeric input data to place in be given a special character before it will return control to the The ENTR function will not recognize entries 9 executive s command set terminal when an entry line is unrecognizable Other the comm to be lin than cust Files ar thorough assembler line numbers example of a TXT 2 extension A number of the exec modifiers for the associa allows a maximum of two n An error message is output to the wer Ve The text to
92. n Th of devices is on ates flag initi is im enabled of a sequenc mediately disabled to keep other devices from confusin ven th th interrupting hardware can be attached to ings while the first en required to Enable Flag a device can force an interrupt This is accompl also known as ts in the compute is being h take an inst device execut truction 8 bits it and then cont the computer wh CPU to Jump to any predetermined location in this special vector interrupt hardware has the 57 interrupt wh andled to be device 1 and its status vice 0 of A to device nt to the output default that an Can be checked al uable It can tantly the aid When this ich INTE is is inval S ished with INTE r The flag g is The CPU from the Special only inue ich will cause the memory Without the normal convention interruptin subroutine 10 2 0 vector capable instruction the program 0 30 40 50 60 70 of handling the hardware or the restart octal g device issue a Restart instruct like jump to one of eight possible memory locations specified by the a subroutine e restart At the location there should be interrupt condition RST pushes a return address onto the stack so which was operating can be properly
93. n FCHK on the file prior to returning to the ALS 8 executive For long files some delay may b xperienced about 1 2 second before receiving the READY message CONTROL Y repeat command The repeat command requires two keystrokes following the command The first represents the command or character to be repeated while the second is the number of repeat increments The repeat increment is offset by an ASC bias to allow the numbers 1 9 to represent their actual values All other characters have an equivalent value as determined by their ASC representation CONTROL Y gt gt COMMAND OR CHARACTER gt gt OF REPEATS OTHER FUNCTIONS PROVIDED BY THE EXTENSION PACKAGE FIND KKKKKKKKKKKKKKK As was mentioned the TXT 2 extension also contains code 74 for the ALS 8 FIND COMMAND This command gets an input string from the user and prints all occurrences of the string within the current file After receiving the FIND command followed by a carriage return a colon prompt will print on the current output device At this point the desired string is input once again followed by a carriage return Following this all occurrences of the string will print out on the current output driver ESET COMMAND KKEKKKKKKKKKKKKKKKKKK The VDM EDITOR uses a parameter to limit the maximum address the file may
94. ne portn UTP as UT PORT realtime port CLEAR ALL OUTP UT DEFINIT ONS The display mode of the Simulator is normally determined by or hexadecimal DECIMAL by the operator usually presents The Simulator has one additional which can be selected at any time during simulation This mode command followed by the value 10 the ALS 8 MODE on entry to simulation This being either octal M will select 20 68 the proper information required display mode Decimal output if it is if entry mode was octal OPTIONAL SIMULATOR ENTRY POINT KKEKKKKKKKKKKKKK KKK KKK KKK KKKKKKKKKKKK Often during simulator operation it is desirable to return to the ALS 8 In order to return to the simulator without clearing I O port definitions it is required that the command SIMU followed by any non blank character be used SIMUS is recommmended This allows the exact conditions on exit to be restored upon re entry OTHER SIM 1 EXTENSION FUNCTIONS KKEKKKKKKKKKKKKKKEKKKKKEKKKKKKKKKKKKKKKK AUTO COMMAND Every ALS 8 contains code to recognize commands other than the standard set AUTO is one such command whose actual operating code is contained in the SIM 1 Extension Package making it rather dangerous for those without it to use the AUTO c
95. nst8 compare immediate with A This performs a compare of Register A with the CONST8 See CMP There are several other commands which affect the contents of the 8 bit registers They have been separated since they behave differently with respect to the program status word PSW Note that these instructions affect some condition bits and not others label MVI reg const8 move value into register This instruction is similar in some ways to the immediat instructions though it does not affect the PSW The 8 bit value of const8 is moved into the specified register 45 label INR reg increment register The register specified by reg is incremented by one and all the PSW bits except CARRY are updated label DCR reg decrement register The register or memory location addressed by the H amp L registers is decremented by 1 As with INR all PSW bits except carry are affected label CMA complement the accumulator This instruction reverses each bit of the accumulator 1 s become 0 s and O s become 1 s The PSW is not affected There are four instructions used to shift the contents of accumulator Each of these instructions shifts the contents only one place left or right depending on the particular instruction None of the shifts affect any PSW bits except carry The direction right or left in these descriptions assumes that the more significant bits of the a
96. nues uni an error followed by of file mark FCHK becomes th or disc and recreated FMOV addr The Current File is moved by locations starting at associated with Current File file was inadvert file can be creat recovered using taddr The and til it finds an end of file mark An error is signaled with the message the address of the error nd address of the Current files may be input directly into memory from magnetic tape 01 he E The location The cop the FCHK command xadecimal or ILE ERR of the end File Using this function to memory start and end address values the file are also changed an FCHK is automatically performed tently moved to a location without memory ted at the old address and the contents y remains the If the a new While there is no restriction prohibiting a file from being moved to an address contained by the original only the copy will have a valid structure after such a note that move Tex number and contents for that line integer from If is in in tended for are separated by groups of blanks during printout by an autom repositioned controlled by the TERM WII to the file the file contains a entered in place of the old terpreted as DTH parameter also con O to 9999 and it normal the t can be input to a file by simply specifyi The ly is followed by one blank lin
97. object form for eventual execution by the CPU Pseudo ops or pseudo operations have the appearance of other program statements but do not produce object code for the CPU Instead they are used to pass information to the assembler program itself ORG for instance is used with its operand to define the current address counter for that position in the program being assembled END another pseudo op signals the end of the assembly language source code the assembler will not try to read or interpret lines beyond the line containing END ASSEMBLY LANGUAGE INSTRUCTIONS KKEKKKKKKKKKKKKKKKKKKKKKKKKKK This section describes the assembly language instructions and their function ordered by increasing complexity An alphabetically ordered summary will be given later with the object codes generated for each instruction In the following description optional fields will be enclosed in parentheses and operands for the instructions will be represented by a short lower case mnemonic The operand reg represents any constant symbol or expression wits a value from zero to seven This value is used to select one of the seven registers or memory B C D E H L M A Operand addr can be an expression constant or symbol which gives a value to be used as a 16 bit argument usually an address A numeric argum
98. of the instruction This operand value may be the result of an expression the value of a symbol of a constant as long as the magnitude of the value does not exceed eight bits As with register operations all PSW bits are affected by these instructions label ADI const8 add value of const8 to A The 8 bit value of const8 is added to the accumulator As in ADD its register operation counterpart all PSW bits are affected label SUI const8 subtract immediate from A The immediate value is subtracted from A PSW bits including Carry follow conventions of SUB label ACI const8 add value and Carry to A Const8 and the Carry bit are added to A PSW is affected 44 label SBI const8 subtract immediate with borrow This instruction subtracts Carry bit and immediate value label ANI const8 AND the immediate with A ANI performs a logical AND on the immediate value and the accumulator It is often used to isolate certain bits in A for testing The logical operation is described in ANA label ORI const8 immediate OR with A This function performs a logical OR on the immediate value and register A label XRI const8 immediate exclusive OR on A This produces an exclusive OR result from A and the value following See XRA label CPI co
99. ommand In use the AUTO command allows input to standard ALS 8 files with the AUTO code adding the line numbers COMMAND FORM AUTO n When used without the optional parameter n the AUTO command will start sequencing line numbers beginning at one and incrementing by one for each additional line If the optional parameter is included then line numbers will begin one beyond the last line in the current file The parameter n can be any value between 0 and 7 with no significance placed on what the value is Return from the driver to the standard ALS 8 is made by depressing the ESC key as the first character of a line Note If there are NO LINES IN A FILE do not use the optional parameter As a note of interest the code comprising the AUTO command represents a special 1 0 driver implemented to pre process input from the selected I O driver This is of course a driver on top of a driver but then the ALS 8 was designed for such nonsense 69 TXT 2 EXTENSION PACKAGE KKEKKKKKKKKKKK KK KK KKKKXKXKKkAR OPERATOR S MANUAL The TXT 2 an optional extension to the ALS 8 opens a new dimension to the powerful fi ALS 8 In addition to an ED le operation and management of the ITOR the TXT 2 also contains a VDM output driver and the FIND command Code for one additional function is also within the package though the name of the command is not known to t
100. only equal B or D label STAX regbd store A into memory indexed The contents of A are stored in memory at the address given by the B C or D E register pairs The pair is chosen by the operand regbd which may only be B or D The 8080 is also equipped with a full set of transfer instructions which have the ability to alter the flow of a program through execution There are thr categories of transfers jumps subroutine related instructions and interrupt transfers Of the ten jump instructions only two are unconditional transfers meaning that the execution sequence of the program is always altered by them The conditional transfers on the other hand examine the status word PSW to see if the proposed jump is to be made If the condition bits of the PSW do not meet the requirements of the instructions no transfer is made and the program will resume execution at the next instruction in memory 47 UNCOND H ONAL TRANSFERS label JMP addr This instruction always transfers control to the address in memory specified by the operand field addr The next instruction to be executed will be the one starting at this address label PCHL This performs the same function as the JMP instruction except the address for the transfer is taken from the H and L pair of registers and not the operand field
101. ppendix SOLOS CUTER D Interface Specifications The SOLOS CUTER interface is based on pseudo I O ports allowing software compatibility and providing an easy means of supporting 1 A predefined set of any 1 0 device 2 Ss 4 characters A system jump table of entry points A well defined set of register usage conventions A defined tape format including headers and CRC Both SOLOS and CUTER observe and support these specifications such that any program written using this interface will func tion control of either SOLOS except for specific devic under the or CUTER gate The first aspect of th Such a surrogate program written for SOLOS CUTER to funci dependencies A part of th specifications also allows a user written SOLOS C when properly written interfac UTER surro 111 allow a W interfac is that of The basic SOLOS CUTER interface allows tion with the support the surrogate the pseudo ports of four pseudo I O ports 0 3 These pseudo ports are logical ports providing a reference for the program only System input keyboard and output display are directed via these pseudo ports The STANDARD definition for pseudo ports is Pseudo Port Input Output Keyboard VDM Display Serial input Serial output 0 1 2 3 These pseudo ports allow devic dependent charact
102. produce or receive an 8 bit value This device numb Each device atta at the time it i er car ched to s wired in the I O comma respond Readin instruction will label The externa return an 8 bit value which is stored in IN nd must equal xist be any number between the computer has such to the machine and th an O and 377 octal umber assigned d that of the devic vic befor nt devic g a non put an octal 377 in the accu read devic ber dev 1 device with input device nu num mber number with the mulator dev the accumulator IN dev wil code given it will ll None of the PSW condition bits are affected The default input device for the ALS 8 is assumed busy or idle label Th device output also th numbered rough inp is accessible through input de OUT dev dev 7 INTERRU Th devices which can alter its program flow tain types of sporadic or slow devices work on a program without worrying con for h allow about of th an y e n PT RELATED dling cert the CPU to the status terrupt INSTRUCTI send contents dev e contents of the accumulator A are se The ALS 8 device 1 exists and that its condition ut device zero assumes by ONS e 8080 is prepared to accept signals from exter
103. program assembler is known as executable by the 808 The binary machine language output by the object code It is the only form O CPU The program text by contrast is not executable but much more readable for humans It is called source code The set of assembler related commands ASSM ASSME ASSMX ASSMS ASSI ASSIX and ASS S all produce assembled object code programs for the program source code Each has however its own option associated wii the fifth character character M or I th it The fourth and where applicable in these command names is used to select the options to be used on a particular assembly run The fourth divides the group into two sets of four commands These sets differ in the source they use for program text The M group uses the Current File as its source whereas the I group reads the source program through the CURRENT INPUT DRIVER The fifth character of the assembly command names control options for the assembler output listing If omitted as in ASSM or ASSI the listing is a one output line per source line printout identifying errors addresses and machin e langu a ge values produced from the program s instructions An E suffix suppresses all printout except for those lines containing errors S and X suffixes list the contents of t
104. re changes are expected to be made via the front panel The versatility of the ALS 8 makes this unnecessary but the instruction can still be used to generate zero bytes for variable storage As will be shown there are instructions from the pseudo op set which can allocate blocks of memory for variables much more easily than successive NOP s label NOP do nothing reserve this space This assembly language instruction corresponds to an operation code binary of zero which is ignored by the CPU when executed label DS amount reserve an amount of memory This pseudo op reserves a number of successive memory 59 locations starting at the current position in the operand amount number of memory locations is determined by which can be any 16 bit number or equivalent contents of these locations is not defined label DB n This instr defines for it a value value of the operand must not label DW n define word and contents the program The expression The define contents for single byte uction reserves a single memory location and as determined by the operand n exceed eight bits The 16 b The operand for this instruction is evaluated as a 16 bit quantity and stored in two memory locations The least significant byte of the quantity is stored at the current address and the most significant is stored below it
105. reach Code has been included within the TXT 2 to set this value but no corresponding command has been provided The standard ALS 8 CUST command can be used to insert this command if the following sequence is executed CUST ESET FFF3 After this the command ESET followed by an address will set the parameter to the value of the address given It should be noted that the file may reach but not exceed this value VDM DRIVER Also included in the TXT 2 package is a driver to allow the ALS 8 to use the VDM as an output device This driver is in PROM allowing access at all times The address for the driver is FE77 hex and the IODR command is used to enter the name in the DRIVER TABLE For use as a stand by driver the following sequence is recommended TODR VDM input address FE77 The driver may also be made the SYSTEM DRIVER by using the following sequence TODR SYSIO 0 FE77 75 ALS 8 driver right after system init The standard terminal output driver can then be assigned as a hard copy supplemental driver by using the following IO Th A DR PNTR 0 DOA9 e VDM driver is especially suited to commanding the and it is recommended keys are implemented in the driver on the VDM scr with a value between desired second while 9 pressing also be stopped any charac continue one charact CO Th
106. rison operations are handled by eight instructions Each of these operations is assumed to take place between the accumulator and a register or memory location specified in the operand field All except CMP produce an 8 bit result which is placed in the accumulator The program status word bits in PSW are all affected by any of these instructions label ADD reg ADD register to accumulator The value in register reg is added to the accumulator and PSW is updated PSW Carry is set to 1 if the arithmetic produces an overflow from the most significant bit MSB label SUB reg Subtract register from A This instruction subtracts the value specified by reg and places the result in A The PSW carry bit is set to 1 if a borrow was necessary during the subtraction the actual ninth bit carry discussed earlier would actually be zero in a borrow situation This is an example of carry being inverted for storage in Carry 42 label ADC reg Add th to the The specified register and th are added to A and the result is placed in A primarily in multiple precision actually contained in several Such an addition starts at the low order end of the locations two numbers with the Carry bit rese DC on more significant bytes in th additions with A corrected for overflow from the lasi addition label SBB reg This is the multiple precision form
107. s one command delay enab ess the ut driver t SYSIO is a tput he inted nd the iver river then used until an ALS 8 command returns les th 33 user to choose an ALS 8 function from his terminal before switching control to the new drivers SYSI O the terminal driver pair is automatically reactivated at the conclusion of the ALS 8 function or under error conditions aci SWCH When used after the above form of IODR the new drivers are tivated for use by the ALS 8 wi th these drivers before returning xecul tive not an ALS 8 function The executive then will read a command and any associated data 34 to SYSI O CHAPTER X THE ALS 8 ASSEMBLER The resident assembler is perhaps the strongest feature of the ALS 8 It is a program designed to convert the text for a program into the binary machine code form of a program The textual representation Called source code is very readable by humans but only binary form is executable by the computer hardware In typical use the source program is written onto a file and edited This is then assembled with one of the ASSM commands and the resultant binary or object code is stored in memory There it can be used as a driver a custom command or a program to be run by the EXEC command A source program written in assembly language is interpreted by the ass
108. sed to program code papers to be printed w specify line numbers for arguments in edit commands This allows letters notices or ithout line numbers Since the user must the TEXT command obeys the argument conventions used for LIST 18 The following shows the last example reprinted using TEXT TEXT WAIT E JMP WAIT 1 x THIS SETS INTERRUPT AND END The ALS 8 system RAM has two parame and TEXT Formatting results from the two is a word in a sys the for refe matt rs tem RAM not they should rearrange especial is con indicate Naturall not forn and nat ly suited Yr reset by The current has no influence on L ed the terminal width val When it is fewer than suppress it is mo Terminal width also as well The of lines from identifying the first and last O re as a file ted the parameter se the user terminal width contains an integer wh utput devic and ions the c no no con t by parameter ich represen asured in When than 8 the ac DELT command al the WAI TS ing flag and the terminal width param to the spacing or layout of the prin funct A for which tells L GO LIST eter d e ters pertaining te ting flag parameter T or TEXT whether or ma S ontents to assembly language
109. sfer from into a sumed by ves th as the electronics of an ALS 8 routine can ask for dat device in the same way or send data to any out must formul th calling routine of tions for many devices te conven request and simply choose handle th input outpu reques The ALS 8 has a table of driver ro area and a parame and output of a character proper driver pair of addresses for each entry tries to and deletions from en the curre Used wi numeric command used wi table can be imp with and w wi argument wi IO th the en nt th a name argu argumen 11 and the device When an ALS 8 func The table for these rou The IO this table ment of one r th lemen nam all IO are selected as pairs ithou The example shows DR TAPES t printout IO DFOO DF40 TAPES DFOO DF40 IO DR TVINWT DF80 DECO IVIWT IODR SYSIO TAPES TVIWT DF80 E200 DFOO DF80 DFC E240 DF40 DFCO 21 tine used or user ro basic dut some calling routine sequence of reads or wri utines in its sys ter identifying the current pair of drivers tion requires inp it uses this parameter to choose DE and addresses into the table DR prints the content to transfe tines ies are to
110. similar to LXI H 1 DAD SP MOV A M A constant minus one HL SP 1 now A our own high address Code such as this can be used to allow a routine to be made self relocating to a 256 byte boundary 3 Registers HL contain the address of the SOLOS CUTER jump table Because this Jump table may be located at any 256 byte boundary in memory register L will be zero Register H can then be used to alter the executing program accordingly As noted later the jump table also provides an indication whether the program is executing on a Sol or other computer The third aspect of the SOLOS CUTER interface is the Jump table By making all system requests via this jump table an executed program can be made compatible between SOLOS CUTER or other properly written surrogate The jump table is described on the following page A more complete description is contained in the SOLOS CUTER User s Manual 85 Appendix D cont SOLOS CUTER JUMP TABLE Address Label Length Brief Description xx00 START 1 This byte allows power on reset for SOLOS It is 00 hex on a Sol 7F hex on other than a Sol xx01 NIT This is a JMP to the power on reset xx04 RETRN 3 Enter at this point to return control from an executing program xx07 FOPEN 3 Byte access file open XXOA FCLOS 3 Byte access
111. subroutine at addr 50 This instruction performs an unconditional subroutine call to the address specified by the operand addr label RET return to address found on stack RET pops a value off the stack which it uses as a transfer address for a jump Since it always retrieves its operand from the stack it does not need anything in the operand field This return is unconditional SUBROUTINE CONDITIONAL INSTRUCTIONS The reader is reminded that only certain instructions influence the condition bits of the PSW program status word A full description is given at the beginning of this chapter label CZ addr S call if last result equaled 0 This instruction calls the routine located at address addr if the ZERO bit of the PSW is set to 1 representing a zero result in the last operation label CNZ addr call if last result was non zero A call is rade if the last PSW related operation produced a non zero result label CP addr call if result positive This instruction examines the status of the SIGN bit within the PSW and performs a subroutine call if this bit indicates a positive result from the last instruction label CM addr call if negative result minus 51 CM calls the routine at address if the SIGN bit is set representing a negative result from the last PSW related instruction label CC addr call if CARRY CC
112. table listing provided at the end is cross referenced to file line numbers value name The four remaining assembler commands ASSI E The summary for each symbol then contains its and a list of locations which used it ASSI ASSI S ASSIX are similar to the four commands just listed except for the source of the assembly lang I O driver selected by driver is required for special ASSI origin load ASSIE origin load ASSIS origin load ASSIX origin load IO to the ALS 8 Specification sheet this driver DR for address address address address 31 uage code t outlining th These four use the reading the program source this use and the user is referred A requirements of errors symbol table Cross assemble with full listing assemble list only assemble list with assemble list with reference table STAB address This command sets the starting location for the Assembler Symbol Table This address is not initialized to a usable value so this command must be called before any assemblies ar attempted CUST This will print out the contents of the Custom Command Table Each output line will contain name and address pairs The addresses are printed according to the base by MODE and the end address of the table is printed following the list of names CUSTE cname a
113. ter e ins in the assembly language manipulate seven t program counter cal stack pointer d the memory umber convention for numbers 0 and 7 or a tructions and ts they generat a inp t operands Struc the conte added to an ters 1 th nts o eight rough t always goes to register 7 is a number specifying which 8 bit value is to This operand appears in the operan uction as shown The operand UBLE THE ACCUMULATOR N REG STER 0 N REG assembler uses a pair of tables System Symbol h a symbol to the they repr le above Table me ave add STER 3 Label names from th bler Symbol Table along with the in the object code d th ar example could be rewri LABL XA A A D A A DUUU An replace zZ E w O umber of the 808 16 bit operands and for H with L with C D with E gt gt gt y ne names given of names ter numbe en DD O DD D DD UBLE THE ACCUMULATOR N REG STER B N REG STER E these operations IN VALUE FROM MEMORY for tion in the f register bit 5 Its this register be added to d fie IN VALVE FROM MEMORY the Assemb to find number values ld for the ler Symbol label field Assemb LABL ling the amd XAD in this
114. ter line after ling FCHK thereby renumbering ASSEMBLER COMMAN DS The ALS 8 resid options from the eigh nt assembler is activated with different commands summarized below Each requires 30 an origin which is used as the address from which the routine mus program is ASSM t eventually be r commands is the start A program un The second arg address for the st origin to be run rather the commands mainly origin than load address and temporaril affect torage of load point must Ly stored listing lengi The th and inp This form assembles from source contained on File ASSME If the P load address will load at the address give the assembly and errors is written to the current output load address origin argument is omitted n by origin ument to each of these the assembled agree if it the C the assembler A full listing of variations in ut source urrent driver This is the same as ASSM except that only lines containing errors are listed ASSMS This form produces a full assembler s symbol table to the usually addresses ASSMX This is a further expansion of ASSMS in that the symbol origin origin load address of the symbol load address end listing and adds a listing of the The current values ls are also given
115. the Simulator represents an ideal teaching machine for 8080 Micro Computer operation By using the Simulator commands the user can modify or display storage set simulated 8080 flags and registers perform or test input and output operations set and reset breakpoints and realtime run addresses as well as trace program flow The Simulator command On entry is entered from the ALS 8 by giving the SIMU the program does a carriage return linefeed on the last selected output device followed by an asterisk prompt The last used by the Simula After giving tor selected MODE also remains in effect and is the prompt the simulator is ready to receive a command indicating the operation desired Some commands such as run G for go start operation of the software computer Prior to running the program however certain commands allow the operator to se t the PROGRAM COUNTER or REGISTERS in order to set the proper conditions for the simulation prior to the simulated computer start up SET COMMANDS KKKKKKKKKKKKK P address H Q kK kK D SET PROGRAM COUNTER Set program counter to the value of address Conversion of the parameter is determined by the last selected MODE or by the following optional parameter 62 S regx value Set register x y given according to MO parameter Mul however by the equa
116. the end of an ASC name argument is the name from any following n the command arguments sufficient it from that the user funci tions attached to custom of the argument handling support the treatmen those The slash at to separate must be noted the use of command inputs with arg the characters belonging to the user t of default condit that of to place Numeric arguments may follow an ASC separating blanks as long as the ASC with a slash mark ar som m Similarly tions is naturally up to inor rules uments The it needs to requir pair o Responses from the ALS 8 in general depend upon chosen assured of a response command the ALS 8 For the standard ALS 8 command set ment at least one blank is after the f numeric umbers argument with no argument was terminated the command the user is always if a response is not a normal duty fora xecutive will send the word REA user s terminal after completing the command 1 DY to the The simplest commands in the ALS 8 reper memory related commands changing and examining memory locat t printing format of the input format requiremen these commands to be used torage device and returning i covered her terminal command ter time ter on ala chap The outpu been made compa
117. the program is location only has to generate a return with the 8080 RET bly instruction and control will return to the ALS 8 tive The argument to the EXEC command naturally follows umber type specified by the MODE parameter In an earlier le the name FOCAL was entered into the Custom Command with an associated address of zero When FOCAL was as a command the address 0 was given control by the ALS 8 could also have been done by giving the command EXEC 0 In the event that a program does not automatically return e ALS 8 it will be necessary to stop the machine from the panel set the address switches to E060 and hit the RESET NE RUN switches FOCAL BASIC and INTEL LOADER are les of programs which normally do not have an ALS 8 return user program goes awry the same procedures Can be used to rt the ALS 8 The user may want to check his files and to ascertain whether or not they have been damaged by the t program 26 CHAPTER IX COMMAND SUMMARY This chapter contains a summary of the ALS 8 commands in the order they were presented The reader is advised to consult earlier chapters for any details omitted here Following chapters will cover the ALS 8 assembly language instruction set The descriptions given here use the convention of enclosing an argument in parentheses when it is optional Arguments will be signified by lower case names suggestive of their use addrl
118. tible This permi programs on amass s CHAPTER MEMORY RELATE IV D COMMAN DS toire are th ENTR and with This f star the correspon user signifying th ENTR decimal The ENTR comm ding s selected in e end function is a and requires a single argument definin to be entered ENTR function which assum put device until receivin stream each bet ting address for the data of li in magnitu de they are to be placed in memory least one blank sequences using this command adjacent valu typical may use any n ENTR 20 303 Eo A2 107 200 READY ENTR 101 200 READY ENTR 0 7 READY The argument and input list can be in oc or in hexadecimal depending on the current mode parame the system class command MO e operation of other ALS 8 commands It takes a single decimal argument tem parameter defining the base for command input uts are received which are impossible to Ses with the the user s terminal tart time to 16 and above set by th th an cu Th e sys y inp rrent base e ALS 8 2001 es by at umber of 100 55 40 303 a th MODE 16 ENTR WHAT 156000 is value is changed only wi possible errors associated wi Oct WHAT ow S eature will b I O drivers the inpu st of val ues These values must be and each m 100 0 DUMP
119. tion field was not recognize instructi das a valid 8080 on or pseudo operation of the as The symbo sembler 1 found in the name field contains improper characters Two label s with the same nam within the assembly Instructi on requiring a label doesn t have symbol in name field Expressio n in operand field is outside range required Name give be found Syntax of statement does not n for operand cannot in symbol tables follow the requirements of the assembler False name given to register Argument optional operation field when the lab for operand improper the assembler must have type of field the l is missing The operation field must for this reason be preceded by at least two blanks when it starts a line The conten ts of this field will be a two three or four letter mnemonic chosen from the assembly language set This mnemonic defines the general instruction to be assembled and it uses where necessary operand to modify or complete the inst 37 the third field the truction An ADD in the operation field tel registers is The fourth possible field its name implies then which have comment with is required properly formatted listed as command as Ww disregards anything after the no operand field th Th
120. to sh shown it is a ls the assembler to be added to the 8080 accumulator is the comment field wh is reserved for comments Most of the examples in ough they were formatted and printed by th e example below shows how a sample program might actually be input and exist ow their significance in memory file line numbers are also that one of the 8080 ich as The assembler third field In statements good idea to precede the a period followed by two blanks the period has no affect Since n listing this chap o operand will be ter are e TEXT file Blanks are written and the 38 3 THIS SUBROUTINE SHIFTS H L CIRCULAR LEFT 5B LUP XRA A CLEAR THE CARRY 8 CMP B SEE 1F SHIFT COUNT DOWN 13 RZ RETURN TO CALLING ROUTINE 14 DCR B DECREMENT COUNT 16 MVI A 80H TEST MSB OF HL 22 ANA H COMMENTS OPTIONAL 24 DAD H SHIFT LEFT 26 JZ LUP F MSB WAS ZERO 29 INX H CIRCULAR BIT IN 35 JMP LUP 40 END The above illustrates the fact that column 1 of each program statement line must be separated from the file line by at least one blank When printed with the TEXT function the above becomes X THIS SUBROUTINE SHIFTS H L CIRCU
121. tore 16 bit constant in pair Ep The register pair rp is given a 16 bit value as determined by the second operand const Numerically the operand rp must equal 0 2 4 6 which are generally represented by the symbolic names B D H SP Either operand may be an expression acceptable to the assembler which will produce a register pair integer or a 16 bit value for those operand positons label INX rp increment register pair rp This instruction adds one to the register pair specified by the operand rp No condition bits are affected even if carries are produced internally for the operation label DCX rp decrement register pair rp 54 and the other 16 bit instructions PSW are affected label DAI D rp add rp to H L This performs a 16 bit add betw pair rp and H L pair The or SP label XC DCX subtracts one from the register pair rp As with INX none of the condition bits in the H L registers the res n the operand register operand Can be B C B D E HG exchange the con XCHG swaps the contents of the contents of the H L pair STACK OPERATI The stack through the 16 bit address hel ON S previously described it is used by instructions relatives subroutine inst identified by lower order byt to be ready for the next stack operation In called a push
122. ytes Each segment is immediately followed by a Cyclic Redundancy Check character the CRC The following is the general format of one file on cassette tape The File t 1 Where A Preamble Preceding every file header is a special preamble This is a series of at least ten nulls zeroes followed by a one 01 hex This special sequence and only this sequence indicates a probable file header follows B File Header This is the 16 byte file header The layout of a file header is NAME ASC ABCDE A 5 character file name DB 0 Should always be zero TYPE DB B 80H File type character If bit 7 1 this is a non executable data file SIZE DW LENGTH Number of bytes in file ADDR DW FROM Address file is to be read into or written from XEQ DW EXEC Execution beginning address DS 3 Space not currently used C File Header CRC This is the CRC character for the file header If when reading a file header the CRC character is not correct then the file header is to be ignored A search would then be made for a new preamble A above 88 Appendix D cont D File Segment First This is the first segment of the file itself A segment is from 1 to 256 bytes In this example this segment is 256 bytes E File Segment One CRC This is the CRC character for the preceding segment in th
Download Pdf Manuals
Related Search
Related Contents
User Manual / Installation Guide 15" Resistive Touch Monitor Schneider Kreuznach PC Tilt/Shift Lenses Autolet Impression Utilisation du Paint Crew de Wagner Bedienungsanleitung PMR 446 Funksprechgerät Tectalk Office service, repair, ITB/ITCB/HV, ICB/TWIN Service & Repair Manual MIDLAND BASE CAMP PMR446 Un transceptor PMR446 multi HUD 2010 with Good Faith Estimate User Manual Version 1.3.2 Copyright © All rights reserved.
Failed to retrieve file