Home

RIKKE-MATHILDA microassemblers and simulators on

image

Contents

1. RIKKE MATHILDA USER MANUAL Examples MANIFEST CONTEXTBLOCK 3 END LAB CONTEXTBLOCK After execution of the instruction labelled LAB the Working register A WA group indicator is set to 3 MANIFEST PTR 10 PRINTER 3 LOOKUP 5 END IBD PTR sets input port B device selector to 10 OBD PRINTER sets output port B device selector to 3 IBDA THEN R LOOKUP ELSE HERE The last instruction will loop in itself until data is available from IB The program then branches to HERE 5 HERE denotes as usual the location of the current microinstruction 2 2 BINARY or Format BINARY lt loc 1 gt lt loc 2 or BINARY lt 1 gt where lt loc 1 gt and lt 2 gt are unsigned integers or manifests If the program contains one or more up to 25 BINARY instructions the assembler will after listing the program and any diagnostics display a PSEUDO INSTRUCTIONS Section 2 Control Store image in binary format in the range from location lt loc 1 gt to location lt loc 2 gt or if the second format is used only location lt loc 1 gt BINARY may be placed anywhere in a program An example using the 2 3 ORIGIN or 0 Format lt constant gt where lt constant gt may be an unsigned integer or manifest This instruction sets the assembler s internal location counter to the value of lt constant gt The sequence of microinstruction
2. Two examples are given in the following The first example is the MATHILDA Deadstart Loader The assembler listing is followed by the simulation output which illustrates the display facilities of the assembler simulator system The second example is the RIKKE 1 Bootstrap Loader We have abstained from giving displays of a simulation of this program as these would be very extensive RIKKE MATHILDA USER MANUAL Example 1 MATHILDA Deadstart Loader The source resides on file bootno LUI The Assembler output file bootno LPT contains the following LOUISE VERSION 1 2 PDP 10 7 DECEMBER 1977 14 52 47 LINENO CS ADDRESS 0 amp Xkk tk amp ksamskkop bebe o ooo 2 3 BOOTSTRAPLOADER AND NORMALIZER FOR MATHILDA 43 AT EXIT WE HAVE 5 0 LACO 1 0 0 NCMASK 6 11 s 1 0 FULLMASK 7 MAP LAP PAP PBP 0 8 LRP 0 9s BSS PGS CM 10 RAP 0 11 AND WBP ARE UNCOUPLED 12 SCUALF IS SET TO A B 13 KC AND KD ARE CLEARED 14 IS ACTIVATED 153 OA IS CLEARED 16 IB IS ACTIVATED 17 s 18 AREER KEE EERE EERE EE REE ERE EERE E EERE REE REE EEE EEE EERE KER EEE OE GORGE OFF OF OF FF GIG EGG E E 19 20 T 1 21 MA 22 END 23 T 2 24 05 5 25 END 26 27 0z0 28 EzO 29 30 223133121332 SSSI SECC LCST SC ET TC SCS CLES E E EOE OE OOK OC OF OK OK ok O OE E OFF CSCS STS S d
3. connects a character file named lt gt to Input port device O It is the user s responsibility to create the file in the format described in section 3 2 2 output to device numbers on Output port B not simulated i e 1 15 is printed on the file named lt name gt OB If the option is omitted this kind of output is typed on the user s teletype trace output from the simulator is typed on the user s teletype By default the simulator prints trace output on a file called lt name gt TRC All Snooper facilities are activated in the simulator For a further dicussion of the operation of these facilities we refer to reference 9 38 _ USING THE SYSTEMS Section 4 4 3 Examples of command sequences This section gives a couple of examples of the control statements to the Operating System necessary to run an assembler simulator system Example 1 Assume that the micro program resides on a file named PRG LUI 2 it uses Input port B device 0 3 it is to be simulated Then the following control statements are required mad RUN LOUISE 117 117 PRG SC RUN MATHILDA 117 117 PRG IB Example 2 Assume that the micro program resides on a file named TEST MIA It is to run on the physical RIKKE 1 3 it is to be loaded by the Deadstart Loader Then the following control statements are necessary N RUN MARIA 114 114 TEST X D PUNCH TEST 4 4 Programming and simulation examples
4. constant lt source gt describes the input to a Main Data Path transport lt destination list gt where the result of the transport is to be stored and lt bus shift specification gt indicates how the data of the transport is to be handled by the Bus Shifter The lt mop amp data gt field is divided into subfields see the next subsection and format f occupies subfield F1 Format g similarly occupies subfield F3 Thus formats f and g require that the micro programmer does not use subfields F1 and F3 respectively of the lt mop amp data gt field for other purposes In format h lt constant gt is an integer or a manifest constant see section 2 1 Format h occupies subfields F2 F3 and S3 of the lt mop amp data gt field Additionally format h assumes that the Status Port Pointer SPP has been cleared previously The lt bus shift spec part can be written as follows X bus shift spec gt lt bus shift spec gt gt X bus shift spec lt constant X bus shift spec gt gt lt constant gt ud xad In formats 1 and 2 the direction of lt and gt is not significant The use of lt and gt merely indicate that the Bus Shifter is enabled Bus Shifter data in such cases is usually taken from sources other than the current instruction In formats and 4 the direction of and gt is significant data on the RIKKE MATHILDA USER MA
5. mop amp data field of the microinstruction being processed This data is called the B nput It is used when the sequencing mode of a microinstruction is a a branch to an absolute location b a branch to a relative location c areturn jump through a return jump stack Mode a is applied when the CUAL function selector CUALF is set to the B function This is done with the microoperation Set CUALF to B SCUALF B The absolute location is denoted by a constant or a label The constant can be an unsigned integer or a manifest constant see section 2 1 ASSEMBLY LANGUAGE Section 1 Examples of instructions assuming the CUAL is set to the B function WA WAGS WAG WBPC FETCH After execution of this instruction the microinstruction labelled FETCH will be processed IB SA SB IBDA THEN 497 ELSE HERE The instruction will loop in itself until data has been read from Input port B IB Then the program will branch to location 497 Mode b is enabled when the CUAL function selector is set to the function This is done with the microoperation Set CUALF to SCUALF All locations in Control Store may be addressed relatively There are two ways of doing it 1 When a constant integer or manifest see section 2 1 is preceded by R R the assemblers place the value of the constant in the appropriate data field as B input and signs it according to the sign following 2 When R or
6. IB is chosen as bus source in a micro instruction with IBD THE SIMULATORS Section 3 out of range the result is undefined 3 2 2 Input devices on the MATHILDA simulator Device 0 Is simulated as a character file The activate operation IBA causes the following 1 Sixteen hexadecimal digits are read from a character file formed into a 64 bit word digit 1 into bits 63 60 digit 2 into bits 59 56 etc and placed in the device buffer 2 One binary digit is read from the same file and placed in the mark bit associated with the device buffer All other characters that cannot be interpreted in this format are skipped The setting of IBD has no effect in the MATHILDA simulator i e regardless of which device is actually selected using IBD device 0 will always be referenced when an activation or testing takes place 3 2 3 Output devices on the RIKKE simulator Device Device 3 Is dedicated to the loading of Control Store from the Main Data Path An Output port B Activate OBA operation loads the Output port B port buffer into the device buffer which has been renamed to the Control Store Data Buffer The transfer will always take place as the device space available flag is set by force The line printer for RIKKE 1 is connected to the device and is simulated by a character file An OBA operation transmits the eight least significant bits of the port buffer to the character file Printable characters are
7. CORRECT RIKKE MATHILDA USER MANUAL tList of References 1 M Richards The BCPL Reference Manual Technical Memorandum 69 1 2 Computer Laboratory Corn Exchange Street Cambridge England 2 J Staunstrup A Description of the 1 System DAIMI 29 1974 3 E Kressel J Staunstrup The 1 Reference Manual DAIMI MD 7 April 1974 4 P Kornerup B Shriver A Description of the MATHILDA Processor DAIMI 52 September 1975 5 P Kornerup B Shriver An Overview of the MATHILDA System DAIMI 34 August 1974 6 B Stroustrup Bootstraploader DAIMI internal document January 1974 7 O Sorensen ROM Deadstart DAIMI internal document January 1974 8 P Kornerup The Wide Store on the RIKKE MATHILDA System DAIMI internal document January 1973 9 H Sorensen Description of the Snooper Facility for the extended RIKKE System DAIMI internal document June 1974 Micro S rensen Ib Holm Archives RIKKE MATHILDA microassemblers and simu 5 6 lators on the DECSystem 10 by Ib Holm S rensen and Eric Kressel Aarhus Den mark Datalogisk Afdeling Mathematisk In Stitut Aarhus Universitet 1977 DAIMI 28 l Joint auth OF 11
8. are used to initialise registers prior to execution of a micro program Output of this sort causes no trouble when it is for simulation whereas it adds some extra complexity when the micro program is to execute on the computer itself Initialisation is accomplished by preceding the actual micro code with small sub routines that handle the register setup before the code is loaded into Control Store RIKKE MATHILDA USER MANUAL 4 2 Summary of options In the parameter list passed to an assembler or a simulator certain options can be specified They are listed the following sub sections The filename of the source file without extension is always indicated by the metasymbol lt name gt 4 2 1 Options in the MARIA assembler SC OC LR MS lt loc gt object code is passed to the RIKKE simulator via the simulator interface file called name RIS object code is formatted on a file to suit RIKKE 1 s Bootstrap Loader and is named lt gt The file is ready to be punched without further processing MARIA operates with the OC option on by default object code is formatted on a file to suit RIKKE 1 s Deadstart Loader and is named lt gt The file can be punched immediately No VALUE statements are allowed in the micro program if the D option is applied on the micro program listing all Control Store addresses are printed in hexadecimal notation This is practical if the program execu
9. be preceded a semicolon if the lt mop amp data gt field is empty lt sequencing gt must be preceded by two semicolons Which microinstruction to be executed next can be dependent on some condition lt c gt If the condition is true the address specification given by lt addrt gt is followed otherwise the address specification lt addrf gt is valid The various formats apply some conventions which are given in the following 7 RIKKE MATHILDA USER MANUAL Format a lt addrt gt and lt addrf gt are both set to HERE 1 Format b If the address mode involves the Control Unit ALU CUAL or return jump stack RA or RB the selected condition field of the microinstruction is set to true and the address mode specification is entered in lt addrt gt Otherwise the selected condition field is left untouched and both lt addrt gt and lt addrf gt are set according to the specification Format c lt addrf gt is set automatically to HERE 1 Formats d g and h If the CUAL is used in lt addrt gt it may also be used in lt addrf gt provided that the B input data to the CUAL is the same and the use will not give rise to a carry in conflict See references 3 and in the sections on sequencing Formats e and f lt addrt gt is set automatically to HERE 1 HERE denotes the location of the current microinstruction 1 4 1 Using the various address modes The CUAL RA and RB take data from the
10. file connects the line printer to the simulator on to Output port B device 3 Any output from a micro program to this device is written on a file called lt name gt LP connects a character file named lt name gt IB to Input port device 1 It is the user s responsibility to create the file in the format described in section 3 2 1 output to device numbers on Output port B not simulated i e 1 2 5 11 is printed on the file named name OB If the option is omitted this kind of output is typed on the user s teletype attaches the simulated Wide Store 256 64 bit words to the simulator attaches the simulated Output port A of MATHILDA to the simulator which is a character file called lt name gt MOA in the format described in section 3 3 1 An activation of Output port C device 1 on the simulator causes a read from the file into the simulated Wide Store The user is responsible for creating the MOA file trace output from the simulator is typed on the user s teletype By default the simulator prints trace output on a file called lt gt RIKKE MATHILDA USER MANUAL 4 2 4 Options in the MATHILDA simulator KA KB OB TTY SNOOP simulates the external condition switch KA By default the condition is false Applying the option sets the KA condition true simulates the external condition switch KB By default the condition is false Applying the option sets the KB condition to true
11. hexadecimal digits are read from a character file formed into a 16 bit word digit 1 into bits 15 12 digit 2 into bits 11 8 etc and placed in the device buffer 2 One binary digit is read from the same file and placed in the mark bit associated with the buffer All other characters that cannot be interpreted in this format skipped The buffer of the device forms a picture of the space available situation for all Output port B devices Bit O is equivalent to the space available flag of device 0 OB etc The paper tape reader is connected to the device and it is simulated by an eight bit binary file An activation of the device reads one frame eight bits into the eight least significant bits of the device buffer If the reader is empty simulated by an end of file mark the mark bit of the device is set and the buffer contents are undefined Otherwise the mark bit is zero and the contents are valid Are used to read from with Wide Store By default Wide Store is not connected to the RIKKE simulator but may be so on request The interface between RIKKE 1 and Wide Store is simulated as described in 8 Reads from Wide Store to RIKKE 1 are controlled by operations on Output port C and are described in further detail in section 3 3 An Input port B Activate IBA operation with Input B Device selector IBD out of range i e 2 7 9 11 will force the simulation to terminate Similarly if the Input port B buffer
12. text lt name gt RIS interface file for RIKKE lt name gt MAS interface file for MATHILDA name LPT program listing name PTP object code file Similarly the simulators accept only files with the proper extension i e RIS and MAS respectively for simulation and create output files with appropriate extensions Details on this are given in section 4 2 3 The assemblers and simulators are initiated by a call in the format RUN program name gt lt parameter list where program name gt is USING THE SYSTEMS Section 4 MARIA 114 114 RIKKE 114 114 LOUISE 117 117 MATHILDA 117 117 lt parameter list must contain as first element the filename without extension of the file on which the program is to operate Following it the user may list the options he feels like activating in the assembler or the simulator Entries in the parameter list are separated by spaces The sections after this one list available options for the systems The assemblers can generate output either to the simulators or for the computers Output for simulation is an interface file that the simulator reads and uses for initialisation it contains storage and register images and control information for the display facilities Output for the computers is a file formatted to suit the various loaders available on the machines see references 6 and 7 The file may be punched without further processing onto paper tape VALUE statements
13. the physical machines Remember to write the terminating END The following four pseudo instructions are intended to format the source text listing 2 6 LIST or L Format LIST LIST starts the listing of the source text PSEUDO INSTRUCTIONS Section 2 2 7 NOLIST or Format NOLIST NOLIST suspends the listing of the source text 2 8 PAGE or P Format causes the line printer to eject page during listing of the source text 2 9 causes the line printer to print a full line of asterisks across the page during the source text listing This is useful for example for visually separating sections of microcode on the listing The following two pseudo instructions only apply to programs that prepared for simulation 2 10 TABLE or T Format TABLE lt no gt lt name list gt END name list gt is a list of display items separated by commas or new lines lt no gt defines the number by which the display table is identified and it must be in the range 0 7 The identification of tables is used by the DISPLAY pseudo instruction see Section 2 11 For each microinstruction executed by the simulator a display may be Ny Ag RIKKE MA THILDA USER MANUAL printed giving the values of some of the system registers at the current time of execution Those registers which are to be displayed are determined by a display table created using a TABLE instruction
14. those visible in the ASCII character set i e character value in the range 32 127 and the following control characters action bit pattern car return 10000000 car return 1 line feed 10000001 car return 2 line feeds 10000010 top of form 10001001 RIKKE MATHILDA USER MANUAL observe that the most significant of the eight bits is set in the control characters All other values transmitted to the simulated printer have no effect Device 12 Device 13 Device 14 Device 15 used to write into Wide Store By default Wide Store is not connected to the simulator but may be so on request see section 4 2 3 The interface between RIKKE 1 and Wide Store is simulated as described in 8 Writes to Wide Store are controlled by operations on Output port C and are described in further detail in section 3 3 All other OBA operations with Output port B Device selector OBD out of range i e 1 2 5 11 produce a line on the default EE file see section 4 2 3 in following format lt OBD value gt lt contents of OB port buffer mark bit gt Example OB 7 1011 1111 0101 0011 1 3 2 4 Output devices on the MATHILDA simulator All output devices on MATHILDA except one are simulated by printing on the default output file see section 4 2 4 the equivalent information to that printed on the RIKKE simulator Port name device number data value and mark bit OB lt OBD value gt lt contents of OB port buff
15. with the segment of microinstructions which follows it The indicated display table will be active until the next DISPLAY instruction Using Formats 2 or 3 associates the display table with an instruction in location Xloc 1 gt or instructions in the range lt loc 1 gt through loc 2 gt simulators will assume that the user has created a table with the number lt no gt using a TABLE instruction If this is not the case only a trace of the Control Store locations will be displayed for those microinstructions affected by the DISPLAY instruction If no DISPLAY instructions are given in a program a trace ofthe locations executed during the simulation will be given by default 2 12 ENTRY or E Format ENTRY lt constant gt where lt constant gt is an unsigned integer or a manifest 20 PSEUDO INSTRUCTIONS Section 2 defines the address in Control Store at which execution will begin ENTRY may be placed anywhere in the program ENTRY is written more than once the last issued instruction will be used A ENTRY instruction must always be given if the microprogram contains the entry point for the execution 2 13 VALUE or V Format VALUE lt list of value statements gt END Each value statement in the list has one of two formats 1 lt name gt lt loc 1 gt lt loc 2 gt lt value list gt 2 lt name gt lt loc 1 lt value gt VALUE allows the user t
16. 217 4213 gt 5 4 gt 3 215 514 25213 9215 214 515 21 4 TFET ESTE LT HHT ES TT TTT F FTTH HTT theme rettet tte EXECUTING INSTRUCTION AT ADDRESS 10 9 9 999 9 9 9 9 9 99 95 9 9 5 9 9 9 5 9 9 99 9 9989994 9 9 9 8 9 9 STATUS MATHILDA SIMULATOR 9737 65535 SA 33 BUS 00000000 00000000 00000000 00000000 00000000 00000000 00011010 00000000 EEEE EE EEESEE EE SEEEEEESESEE SESE SES EEE RA EXECUTING INSTRUCTION AT ADDRESS 11 tttttet EEE FETE EEE ES EF ESE ttt STATUS OF MATHILDA SIMULATOR 9737 65535 5 32 BUS 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00100000 4 F44 H 4 t ete ett EXECUTION STOPPED AT ADDRESS 32 42 Example 1 continued Input to bootno Note Input port IB takes its data from the file bootno IB which contains the following 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0009 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 USING THE SYSTEMS 0000 0000 0000 0020 0000 0000 0000 0000 FF00 1111 2222 0000 0000 0000 0020 Secti
17. 50 44 474 2 1 45 46 X ooo xGCICIC IC OG AGE GE 90 ESKER ERE 9 A Xx XxG X G X 9 x Xx Ge XO Xx EERE EERE KERR X GE Reoke AEE EEE EKER KE RARER RE REE REE ERE RES 41 USING THE SYSTEMS Section 4 Example 2 continued MARIA VERSION 4 3 PDP 10 7 DECEMBER 1977 14 55 13 LINENO CS ADDRESS 48 5355535393553 55555552553 4H 9553 533525X5335 355555325535553535 3233235 55525525923292525559355 3535 55 552555 159 49 50 475 MSLOAD RA 3R SUMREAD 51 476 DS MSA sSB nanny R SUMREAD 52 477 DS 5 MSA 1 R L1 53 478 L2 OA DS CAA 1 1 1 THEN R NXT ELSE 1 54 479 L1 3R SUMRE AD 55 480 1F OASA THEN R L2 ELSE HERE 56 57 X 3535555333953 533523 339 13323X525523535255235335523355 95353X3253X351523233535533525 35555352535523359 55535153333151 58 9 481 CSLOAD DS RAS 5 25 7R SUMREAD 60 482 05 25 CLC SA 1 ols 483 LL onan 3 SA 1 623 484 LLL RA I R SUMREAD 63 485 05 CSLOAD SA 64 486 CB 1 IF THEN HERE 1 ELSE R LLL 65 487 1 1 THEN HERE 1 ELSE R LL 663 67 488 3R NXT 68 5 3 59 X 5XX5553355235553325552XX5 3553555534333 SESSA TES ES ES FOE EES EE ESTEE SEER SEES EEEEEEEEEE EE EEE 70 71 489 WSLOAD OBDC ococ R SUMREA
18. 5222225202524242244222222252422022024222222524222225222222222222242 STATUS MATHILDA SIMULATOR 1 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BM 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 tt ttt ttt EXECUTING INSTRUCTION ADDRESS 4 STATUS MATHILDA SIMULATOR MAP 1 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 MBP 0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 tty Hehe tht ete EEE EE 4 4 4 T2212 77213 T9515 9514 213 T9515 7 514 T2213 T2515 gt 14 gt 13 5 gt 14 ord 9944 t ttt t ttt tt ttt EEE ttt ttt t toto EE EEE EEE ttt tot tbt toto tt tto t et EXECUTING INSTRUCTION AT ADDRESS 5 SHEEEEEEHE EEE EE ETE EES HEHE THEE FETE THES ETE EES HHT EH EH EHH tH THF tte HHS ee EHH tee eH et eter tette STATUS OF MATHILDA SIMULATOR 9737 CBs 0 5 32 BUS 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00100000 41 RIKKE MATHILDA USER MANUAL Ex
19. A 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 MBP 0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BM 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 ettet tho b t t6 RIREEEREHEO HOHER EG EO A A A FFF 44 4 AO GI 4 G Ht Sg EXECUTING INSTRUCTION AT ADDRESS 1 SEE ETH EEE ETE TEES TEE F44 F4 FF F4 FF 4 STATUS MATHILDA SIMULATOR MAP 0 MAS 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 PEOEEELEFOEEEEEEEEEEEEFEEE EE EEE B 6G EEE A ES Y M D BD B b Bb t EEE TERETE EEE EEE B G M DO B BG EEE EEE TEES EEE HEE EEE eet het FF EXECUTING INSTRUCTION AT ADDRESS 2 125555225555522555522222422252222255242442255424522222242222422 4422542444424222225222224 2242222222222222242424 STATUS MATHILDA SIMULATOR MAP 0 MAS 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 MBP 0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 T7777 EEEFEEEED EEE EET HERES 444 H 44 44 FF FFF 4 F4 4 4 4 4 4 EXECUTING INSTRUCTION AT ADDRESS 3 2222255552222 222222222252222522252252522244
20. A description of available display items is given below The items displayed are printed after the execution of relevant microinstruction and therefore it is the status after the microinstruction cycle However no 1 0 operations given in the microinstruction have been executed yet thereby enabling the user to check the status of the I O flags Display items are listed below with comments where necessary and the names given are those to be used in a TABLE instruction AL ALF 5 015 5 156 XASIV S BESG BM BUS BUSSHIFT CA CASP CB CBSP CRSG CUALF DS 0S DS 15 S 05 63 5 DS V S IA IB LAP LBP LRIP LROP MAP MBP CA CB OA OB OC OD PAP PBP PG RAP RBP SA SB SC VS 0S VS 15 S XVS 63S VSIVIS WAG WAP WAU WBG WBP WBU Register names marked with an asterisk are only available in the LOUISE assembler The register pointed at by the relevant pointer is displayed in the following cases CAS CBS LA LB MA MB PA PB RA RB WA WB For the following register groups the group pointer the element pointed at and the S1 and S2 pointers are given ALSG LABPSG BMSG MSASG BSSG PMPSG CSSG PGSG With the BSSG and PGSG the BSS and PGS respectively are also printed 18s PSEUDO INSTRUCTIONS Section 2 with MSASG also MSA The following two items represent the whole register group pointed at by WAG or WBG WAGROUP WBGROUP To obtain a dump of the different stores the display items are MS CS WS and to di
21. D 72 490 VS zDS R SUMREAD 73 491 05 3CA sSB LRP 1 5 sR W3 74 492 W2 05 1 LRP 1 QENNES 31F CB THEN HERE 1 ELSE R W3 75 493 VS 56 OC BUS OCSA THEN HERE 1 ELSE HERE 76 494 Wis VS sAL 3CCA OBDC 1 1 CA THEN ReNXT ELSE HERE 1 77 495 W3 LR sVS OBD 1 3 R SUMREAD 78 496 SETALF 1 1 OBSA THEN ReW2 ELSE HERE 79 80 121133325112 132121 52141227112232531223411152254112511132221153114522343 44 81 f 82 497 SUMREAD 3 AS 15 S 2 ASO LRPC ZIF IBDA THEN HERE 1 ELSE HERE 83 498 LR 231B 8 LRIP 1 SETALF B AS IBA 84 499 LR AL IF IBDA THEN HERE 1 ELSE HERE 85 500 ASs IB LRIP 1i SETALF IBA 86 501 DS AS AL 3 LRP i 87 502 AS zAL LRP 1 1 88 5 89 SEKKEKSEKATESESSSEEESE SE EKES ESSERE SESRES ESE RESS EERE EE TECESESESESES SESS SER SESSTESEKES SSE E TEE ES EEESEE SE 903 913 503 SUMCHECK 3 ALF 3 ALLOS LRPC 92 504 DS zAL 05 0 125 21 934 505 3 SETALF DS lt 94 506 LR sDS LRIP 1 95 507 1 LRIP 1 R SUMREAD 96 508 AS 2DS ALF 3s EQV LRP 1 97 509 3 ALF ALLOS LRP 1 nanan 3IF AL THEN ELSE R 2 98 510 AS AL sRA i 445 511 SIF KA THEN ReLOADER ELSE HERE 100 101 9 58599 5559 999 5 58 55 55555595 55 5 5555 5 555 5 55959 55 5 55555599 95 5 5555855 5555 PROGRAM
22. G RA RB WA WB WAPS WBPS Register groups marked with an asterisk are only available on the LOUISE assembler MS is an abbreviation of Main Store The current version of the simulators maximum of 256 words of Main Store which be initialised with a VALUE statement Example VALUE WA 4 4 10 63 50 27 49 0 50 63 50 2 10 0 65 WB 100 255 2 3 10 END 2 14 SNOOPER or S Format 1 SNOOPER lt Snooper instruction 2 SNOOPER lt loc gt lt Snooper instruction This instruction is only valid in the LOUISE assembler Format 1 associates the Snooper instruction with the microinstruction immediately following it No other pseudo instruction may be put between the SNOOPER instruction and its associated microinstruction Format 2 associates the Snooper instruction with the microinstruction placed in location lt loc gt of Control Store A detailed description of the operation of this pseudo instruction is given in reference 9 RIKKE MATHILDA USER MANUAL 3 THE SIMULATORS The RIKKE simulator functions in accordance with the description in 2 MATHILDA simulator functions as described in 4 and 5 It includes the extensions as compared to RIKKE such as snoopers status facilities and interrupts Only exceptions from the designed MATHILDA are the real time clock and the external register they are not simulated The physical configurati
23. NUAL Main Data Path is shifted in the direction indicated left or right respectively by the number of bit positions given by lt constant gt constant may be integer or a manifest constant see section 2 1 1 3 Microoperation and data field The lt amp data field is divided into subfields that are shared by microoperations and data from other fields of the instruction The micro programmer must be aware of this or various conflicts will arise For further details on these matters we refer our reader to references 3 and In a symbolic microinstruction the micro programmer need not specify which subfield he wants filled This is handled by the micro assemblers Items for the mop amp data field are as a list separated by commas Generally four types of items be placed in the mop amp data field a lt gt b lt gt lt source specification lt gt data lt shifter op lt PG data gt Type a will occupy 1 subfield Type d will occupy the shifter fields of the microinstruction The number of subfields occupied by other types vary Precise information on this is found in references 3 and 5 Examples 1 1 Type b WAG SG WAU SB Type c IBD 10 ALF A B 1 Type d AS lt VS gt DS lt Type e PG lt 12 Microoperations microoperation data and data belonging to bus shifting and address sequencing mu
24. R precedes a label the assemblers calculate the signed difference between the location labelled and the current location and places the result as B input Thus the use of or is insignificant LOUISE has the additional facility 3 When 8 or RB SA is written as an address specification LOUISE selects a special sequencing mode where the six least significant bits of the SA register are used as B input data is placed in the mop amp data field Some examples WA 0 THEN R LOOP ELSE R LOOP 1 Assume LOOP is a label Then if the condition 0 is true i e bit O of the current WA register in the previous instruction equalled 1 execution will branch to the location labelled by LOOP If the condition is false the microinstruction immediately succeeding the instruction labelled by LOOP is processed RIKKE MATHILDA USER MANUAL NOT BUS THEN R LAB Assume LAB is a manifest constant see section 2 1 with the associated value 15 Then if the condition BUS is false i e the contents of the Main Data Path in the previous instruction were not all zeroes execution continues at location HERE 15 If the condition is true the microprogram continues at location HERE 1 R 312 Assume that the location of the current microinstruction is 2 Then execution is resumed at location 314 In mode the input is added to the contents of the top element of a s
25. RIKKE MATHILDA microassemblers and simulators on the DECSystem 10 by Ib Holm S rensen and Eric Kressel DAIMI 28 December 1977 Matematisk Institut Aarhus Universitet DATALOGISK AFDELING Ny Munkegade 8000 Aarhus C Danmark Tif 06 1283 55 Seo List of Contents 0 Introduction 1 The 2 The 3 The Micro Assembly Language 1 1 Label field 1 2 Bus field 1 3 Microoperation and data field 1 4 Sequencing field 1 5 Comments Assembler Pseudo Instructions 2 1 Manifest or M 2 2 Binary or B 2 3 Origin or 2 4 Radix or 2 5 Xternal or X 2 6 List or L 2 7 Nolist 2 8 Page or P 2 10 Table or 2 11 Display or D 2 12 Entry or 2 13 Value or V 2 14 Snooper or 5 Simulators 3 1 Port A 3 2 Port B 3 3 Port C 4 Using the Systems List of 4 1 Conventions 4 2 Summary of Options 4 3 Examples of Command Sequences 4 4 Programming and Simulation Examples References gt Oooh 13 14 15 15 16 16 17 17 17 17 20 20 21 23 24 2b 25 29 32 32 34 39 39 46 INTRODUCTION Section 0 0 INTRODUCTION This document describes the use of the simulated RIKKE and MATHILDA systems which are implemented in the programming language BCPL 1 and are operating on the DECsystem 10 in the Department of Computer Science at Aarhus University Each system consists of a s
26. a period The assemblers ignore any characters between the period and the new line The user is cautioned to be careful in his use of periods in his program text Examples This is a comment line 1 dummy instruction RIKKE MATHILDA USER MANUAL 2 THE ASSEMBLER PSEUDO INSTRUCTIONS A number of pseudo instructions have been provided Their keywords must all start on a new line that is the pseudo instructions may not be intermixed with different parts of a microinstruction However they may be used within another pseudo instruction if its text spreads over more than one line for example a RADIX in a MANIFEST instruction The following is a short descriptive list of the pseudo instructions A more detailed treatment is then given for each Instructions concerning the assemblers 2 1 MANIFEST Associates identifiers with constants 2 2 BINARY Displays a binary Control Store image 2 3 ORIGIN Sets the assembler s internal location counter 2 4 RADIX Sets base for numerical data 2 5 XTERNAL Predefines a label 2 66 LIST Starts the listing of source text 2 7 NOLIST Suspends the listing of source text 2 8 PAGE Creates a page eject in source text listing 2 9 Writes line of asterisks across listing Instructions concerning the simulators 2 10 TABLE Creates display table for the simulator 2 11 DISPLAY Instructs the simulator to display Instructions con
27. ample 1 continued EEEEEEEEEEEEEEEEEEEEEEEEDEEEELEE EE EEE EFEEET FEET EEEEEFEDEEEE FEET EEE EEEEEFEEEEEEEEEEEE ITI gt 12 gt 13 gt 15 92514 929513 gt 15 gt 14 29513 gt 15 gt 14 2513 92515 514 HEH ete I HII STATUS MATHILDA SIMULATOR 9737 CBs 9 5 32 BUS 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 12555554244255550555555442454444444454444444255452454224444445444242444422422222222222424424424422225444422444 72512 72213 22515 4214 213 15 22514 22513 22515 92514 513 92515 57214220222 225 EXECUTING INSTRUCTION AT ADDRESS 7 STATUS MATHILDA SIMULATOR 9737 9 SA 32 EP BUS 11111111 00000000 10101010 10101010 00010001 00010001 00100010 00100010 HOHE EXECUTING INSTRUCTION AT ADDRESS 8 AM STATUS MATHILDA SIMULATOR 9737 CB 0 SA 32 BUS 00000000 00000000 00000000 00000000 00000000 00000000 00010000 00000000 PEEEEEEEEED EEL ED EEE EDEL EEEEE ELIS EFEEEEE DES EEEF FEES EES ESTEE EFEEE EEE ESEFEE EES EEEEE 222590222022 EXECUTING INSTRUCTION ADDRESS 9 HHHH STATUS MATHILDA SIMULATOR CA 9737 9 SA 32 BUS 00000000 00000000 00000000 00000000 00000000 00000000 10111000 00000000 4
28. ate of the register If MSAB is set Main Store is using MSA and the contents of the register must not be changed When Main Store is finished with the address this happens before the actual I O operation is completed Main Store clears the MSAB condition The Memory connected to MATHILDA is named Wide Store and the addressing of Memory in MATHILDA differs from the technique applied in RIKKE 1 This is described in detail in section 3 3 3 In the simulators the size of the simulated memory is 256 words 3 2 PORT B Input and Output ports B are the ports onto which all external devices are connected There is device selection on the ports and the selection is controlled by Input and Output Device selection IBD and OBD resp registers 3 2 1 Input devices on the RIKKE simulator Device 0 As described in 3 this device is special purpose The contents Device Device Device Device 8 12 13 14 15 RIKKE MATHILDA USER MANUAL of the input buffer always forms a picture of the total data available situation for all devices Bit 0 has the same value as the data available flag of device 0 bit 1 as the flag of device 1 etc The contents of the device buffer for device 0 can be transferred directly onto the Main Data Path Activation of this device is therefore meaningless Is simulated as a character file The activate operation IBA causes the following 1 Four
29. cating that data is no longer available an output activate operation resets the flag indicating that space is no longer available Finally each device buffer has an extra status bit called the mark bit The mark bit is designed to allow a device on output or the computer on input to interpret the contents of the buffer as status information if the mark bit is on As an example of its use see the paper tape reader connected to input device THE SIMULATORS Section 3 10 of port on RIKKE 1 section 3 2 1 In the following we will describe the ports that exist 1 and MATHILDA 3 1 PORT A Input and Output ports A are dedicated to Memory Input amp Output and have only one device buffer i e there is no device selection on ports A The Memory is viewed as a device and is treated so Thus an Input port A Activate IAA microoperation initiates a read of one data word from Memory and the Input port A Data Available IADA condition indicates when the operation is completed The Output port A Activate OAA microoperation starts a write into memory from the device buffer and the space available flag is set on completion On RIKKE 1 Memory is called Main Store The address of the location of interest for an input or output operation is stored in the Main Store Address register MSA This register is used by Main Store during the read or write operation and the Main Store Address Busy MSAB condition indicates the st
30. cerning the simulators and the physical machines 2 12 Sets entry point for program 2 13 VALUE dnitialises registers in simulator or machine The following instruction concerns only the MATHILDA simulator 2 14 SNOOPER Initialises Snooper instructions PSEUDO INSTRUCTIONS Section 2 2 1 MANIFEST or Format 5 lt definition list gt END where lt definition list gt is a list of items with the following format lt name gt lt value gt separated by semicolons or new lines lt name gt is a string of alphanumeric characters of which the first 15 are significant and the first character is a letter lt value gt is an integer or a manifest This instruction permits the user to associate names with certain constants i e a manifest may be used a microprogram to denote the constant associated with it There are some restrictions to be observed 1 A manifest may only be used in instructions following its definition 2 The terminating END must not be omitted Note that a label which has been defined prior to a given microinstruction may also be used as a manifest and will have the value of the Control Store location for which it is a label However the user must be aware of the difference between the use of a label and a manifest constant in relative addressing see Section 1 4 Keeping this restriction mind MANIFEST statement may be placed anywhere in a program
31. d according to the current base There are certain restrictions on the format of the field specifications a The upper bound must be greater than or equal to the lower bound and less than or equal to the width of the register group in question b The lower bound must be greater than or equal to 0 c If there is a sequence of field specifications they must be written in decreasing order and they must not overlap d The upper and lower bounds must be specified as decimal integers manifest constants or constants written in another base are disallowed 4 It is often practical when working with the working registers WA and WB to be able to indicate the group number and an index in that group instead of giving the absolute location register identification for WA and WB thus be followed by a square bracketed group number Note it must be added between the register name and the colon The group number may be a manifest constant 5 Do not forget the terminating END Caution Although the bus masks can be initialised through a VALUE statement this feature should be applied with great care as it may affect all following bus transports including initialisations The following list indicates which register group names replace lt name gt when using VALUE to initialise the simulators 99 PSEUDO INSTRUCTIONS Section 2 ALSG BESG BSSG CAS CBS CR CSSG LA LB LR MA MB MSASG PMPSG PA PB PGS
32. e Store Address Activate WSAA microoperation transfers the contents of WSA into the selected address buffer of Wide Store The Wide Store Space Available condition WSSA indicates whether the selected address buffer is ready for a new address Each port in Wide Store has one dedicated function and port 1 and 5 are used for MATHILDA Read and Write operations A Read operation for MATHILDA thus requires the setting of Memory address buffer 1 in addition to an Input Port A Activate operation RIKKE MATHILDA USER MANUAL 4 USING THE SYSTEMS The simulation systems described in this section are those available on the DECsystem 10 belonging to the Department of Computer Science at Aarhus University Thus the information included is machine dependent and does not generally apply to systems running on other computers 4 1 Conventions On the 10 a named file is identified by a filename and a file extension filename X extension Source programs are processed by compilers assemblers etc as implied by the extension if it is recognisable E g the extension ALG indicates that the file is an Algol source text This convention has been adopted for the simulation systems A source file for assembly must have the extension MIA for the MARIA assembler and LUI for LOUISE The assemblers generate files with the filename taken from the original source file and extensions that describe their purpose lt name gt MIA or LUI source
33. e Wide Store word addressed by the contents of the device buffer to be read into MATHILDA s Input port A device buffer O In the RIKKE simulator the contents of the Wide Store word are written onto the default output file see section 4 2 3 with an indication of its intention for MATHILDA Devices 2 3 and 6 7 although intended for Wide Store are not used and in the simulator operations on these devices have no definition Devices 8 15 are reserved for later purposes and have no interpretation in the simulator 3 3 2 Port C on the MATHILDA simulator Only device 0 of port C is defined on MATHILDA All other devices are not simulated Device Is dedicated to the loading of Control Store from the Main Data Path An OC BUS microoperation loads the port buffer from the Main Data Path The loading of Control Store from the OC port buffer is enabled using the CSLOAD microoperation The transfer from the buffer to a Control Store location can always take place as no communication flags are necessary to control the operation THE SIMULATORS Section 3 3 3 3 Wide Store Addressing in MATHILDA Wide Store is a sharable device and has eight Data Ports numbered 1 to 7 Each port has its own address buffer and all address buffers can be referenced by the connected processors MATHILDA has one Wide Store Address register WSA and a Wide Store Port selector WSP to indicate which address buffer is to receive the address A Wid
34. eady to be punched without further processing LOUISE operates with the OC option on by default object code is formatted on a file to suit MATHILDA s Deadstart Loader and is named lt name gt PTP The file can be punched immediately No VALUE statements are allowed in the micro program if the D option is applied on the micro program listing all Control Store addresses are printed in hexadecimal notation This is practical if the program execution is checked on the physical machine because it is equipped with hexadecimal displays of the current Control Store address all labels and manifest constants are listed together with their associated values the option indicates that source text input is to be taken from the user s teletype The micro program listing is suppressed and the simulator interface file or the punch file is given the filename TTY USING THE SYSTEMS Section 4 4 2 3 Options in the RIKKE simulator KA KB PTR LP OB WS MOA TTY simulates the external condition switch KA By default the condition is false Applying the option sets the KA condition true simulates the external condition switch KB By default the condition is false Applying the option sets the KB condition to true connects the paper tape reader to the simulator on Input port B device 10 The paper tape reader is simulated by a character file named lt name gt PTR It is the user s responsibility to create such a
35. er gt lt mark bit gt Device 4 is the exception and only functions differently when the Snooper facility see 9A is activated see section 4 2 4 Device 4 is used to load the Snooper facility from the Main Data Path If the Snooper facility is not activated device 4 behaves as the other devices THE SIMULATORS Section 3 3 3 PORT C Port C only exists as an output port The use of port C in RIKKE 1 differs considerably from that in MATHILDA as will be seen 3 3 1 Port C on the RIKKE simulator Devices 0 through 7 of Output port C on RIKKE 1 are reserved for control of Wide Store i e Output port C Device selector OCD is used to select a Memory Address Port in Wide Store The Store is not attached to the simulator by default but this can happen on request see section 4 2 3 The interconnection between RIKKE 1 and Wide Store is simulated as described 8 Device 0 The contents of the device buffer is used as the address of a word in Wide Store into which data is to be written The address is set up by an Output port C Activate OCA operation The data is taken from Output port B devices 12 15 and can be written in one of two ways 1 four device buffers are activated with the mark bits cleared Then an entire 64 bit word comprised of the contents of OB device buffers 12 15 is written into Wide Store 2 One OB device buffer in the range 12 15 is activated with the mark bit set Then the contents of tho
36. imulator that reflects the hardware of a physical machine either RIKKE 1 2 3 or MATHILDA 4 5 and a microassembler named MARIA and LOUISE respectively that is capable of either producing an interface file for simulation or object code paper tape for the physical machine The simulator of RIKKE 1 is a software copy of the physical machine Results obtained from the construction of RIKKE 1 caused some design extensions changes which have been implemented in MATHILDA Furthermore MATHILDA has facilities which are only in the design stage To provide a basis for experiments with these novelties the simulator of MATHILDA not only copies the present hardware but also the designed extensions References 2 and 4 are solid foundations of the systems and must be regarded as the tutorial description of the microassembly language and the machines that are simulated In the following we therefore presuppose a knowledge obtained from reading those references In section 1 we give a summary of the syntax and semantics of the microassembly language as it is described in 2 and 4 Section 2 contains a description of the pseudo instructions available in the microassemblers Some of them apply to the simulators which are the topic of section 3 Finally section 4 describes how to run the systems on the 10 RIKKE MATHILDA USER MANUAL 1 THE MICRO ASSEMBLY LANGUAGE _A program written in RIKKE MATHILDA micro assembly language c
37. o SCE LESTE CCS OSE SIC OFF ELST EXE EG E 31 32 D 1 33 0 ALF ALLOS PAPC LBPC 34 1 ALL1 S PA zBUS LAPC 35 2 MA sA ALL15 LB zSB SCUALF LA SB 36 3 AL MAP 1 PB sBUS PAP 1 37 4 MA zA L 1 RA PA zBUS wwe 3R READ 38 2 39 5 AL SA zSB RA PR READ 40 6 AL CB SB RA PGS CM ReREAD 41 7 AL RB OCs BUS KDC 42 8 CSLCAD 43 9 RAL OAR R READ 44 10 CB 1 KCC SA 1 SUNLESS THEN RB 45 11 1 SA3 SB OBA 5 46 0 TRACE 47 12 READ ALF ALLOS CA 29733 48 13 AS3 AL lt 163 PAPC MAPC 3R 2 49 14 LR 1B 58 1 IBA WBPUNCCUPLE IF CAC3 THEN RA 1 ELSE HERE 1 50 15 ALF LRPC WAPUNCOUPLE IRDA THEN HERE 1 ELSE 51 D STOP 16 21023 PROGRAM CORRECT USING THE SYSTEMS Section 4 Example 1 continued MATHILDA Deadstart Loader Simulation Output The simulation output resides on file bootno TRC Note In order to use input to the microprogram option IB has to be given to the MATHILDA simulator MATHILDA SIMULATOR 7 DECEMBER 1977 14 53 42 tat ESE EEE tt bh tette Het et tet 4 tee EXECUTING INSTRUCTION ADDRESS 0 9 ttt ttt te EE FEF ETE E ttt tto tte EEE EET EET ttt HEE EHH EHH ttt tette ttt t ee tte tee t tttttet ttt STATUS OF MATHILDA SIMULATOR MAP 0 M
38. o initialise register groups or storage locations prior to execution lt name gt is the name of the register group storage and the interval lt loc 1 gt loc 2 gt determines which elements of the group are given values The syntax for lt value list gt and lt value gt is given below Note the 4 and j brackets mean 0 or more occurrences of the bracketed expression ub and Ib mean upper bound and lower bound respectively lt value list gt value lt value gt lt value gt lt field descr number lt field descr lt field spec lt field spec lt field spec ub lb number lt number gt lt signed integer or manifest gt The lt field descr gt type of lt value gt element is used when the user wishes to initialise certain fields of a particular register or memory location The other type is used when only a right justified value is to be inserted into the RIKKE MA THILDA USER MANUAL register A few conventions should be observed 1 When lt value list contains fewer lt value gt elements than are needed to fill the number of registers indicated the last element of the list will be used repeatedly as many times as necessary 2 The indices lt loc 1 gt and Xloc 2 gt are always interpreted as unsigned decimal integers regardless of any RADIX instruction 3 The lt integer gt part of a value element is always rea
39. on 4 RIKKE MATHILDA USER MANUAL Example 2 RIKKE Bootstrap Loader MARIA VERSION 4 3 PDP 10 7 DECEMBER 1977 14 55 9 1 CS ADDRESS H RESERSESXSXESERSSTEASSERSEXESAAESESERSSESRORAOAERERARERAOEIEEREEERERERSREEEEESSESESSEEESSARERESSAESSARESEESE 2 RIKKE 1 BOUISTRAP LOADER VERSION 74 06 13 3 4 THE LOADER CAN READ BINAKY TAFES FROM 8 BIT PAPERTAPEREADER 5 INTO CUNTROLSTORE AND MAINSICFE AND WIDE STORE g XXX X 35 XxX454392353553553323555335239 3533 SE SEER EEE EERE ERSTE EES EE SESE EE ER EEE ERED E n 8 9 4 NONSENSE TO BE PUT INTO CELL 0 10 11 0 ALF z ALLOS 12 13 14 15 M 16 ASO 2 173 PTR 10 18 END 19 20 ENTRY 461 21 22 KEKKEKEEKE SHREK ESEE SHAE KEE KES SE KKK ERE KKK KAKAEKEKE SEEKS EE KSEE REE KEKE REKEE SHEE EE KEK ER EE EKEEEE SEES 23 24 URG 461 25 26 27 461 LOADER IBD z PTR LRP C 28 462 IF IBDA THEN HERE 1 ELSE HERE 29 463 IB ALF r ALLOS SCUALF 30 464 AS MA zAL OAR PA sBUS nnn IF BUS THEN R LOADER 31 32 465 LOOP OBDC nunun R SUMREAD 33 466 3 sIF DS 15 THEN R CSLCAD 34 467 SIF DS 14 THEN R MSLOAD 35 468 3 nunn 1F DS 12 THEN ReWSLOAD 363 469 IF DS 13 THEN 1 ELSE R LOOP 37 38 470 EXECUTE DS RAL SA SB 2 5 39 471 SA 40 472 R LOADER 1 41 42 43 473 NXT
40. ons are not simulated either The RIKKE simulator has some simulated devices whereas the MATHILDA simulator has none The simulated MATHILDA computer is in its stand alone version and the RIKKE and MATHILDA simulators are totally independent and cannot interact This section contains a summary of the I O connections RIKKE 1 and MATHILDA and how they are simulated RIKKE 1 and MATHILDA are equipped with ports through which data to and from external devices is transmitted Each port has a data buffer which is connected to the Main Data Path A port buffer is read or loaded depending on whether the port is for input or output using a bus transport operation Furthermore there is added a device selection mechanism which enables sixteen devices to share one port Each device has its own buffer and a device selection register controls which device is connected to the port A physical device is plugged into a device buffer Every device buffer has a flag bit which is testable as a condition and it informs on the status of the device buffer On input the flag is set if there is data available in the buffer and on output it is set if there is space available i e the device has consumed the contents of the device buffer The microoperations that control the transmission of data between the port buffer and a device buffer are called activate operations They affect the device buffer flags as follows An input activate operation resets the flag indi
41. onsists of a sequence of microinstructions and pseudoinstructions This section describes the format of a microinstruction and the next section discusses available pseudoinstructions A microinstruction can be divided into 4 fields lt label gt bus lt amp data lt sequencing gt where is an abbreviation of microoperation In the following when talking about an instruction we mean a microinstruction Each instruction must occupy exactly 1 line The instruction may be terminated by a period in which case all characters following the period on the rest of the line are interpreted as a comment and skipped by the micro assemblers 1 1 Label field The syntax of the label field is lt label gt identifier lt identifier gt is a string of alphanumeric characters of which the first 15 are significant and the first character must be a letter The lt label gt field may be left empty Further details on the use of labels are given in section 1 4 which discusses the sequencing field ASSEMBLY LANGUAGE Section 1 1 2 Bus field The syntax of the bus field is empty source source X bus shift spec X destination list gt source X destination list gt source bus shift spec uM Furthermore LOUISE accepts three additional formats f destination lis ALL 1S g lt destination list gt ALL 0 h lt destination lis
42. pecified Return Jump Stack to yield the effective address mode also pops the Return Jump Stack Examples 12 Execution continues at the address computed adding 12 to the contents of the top element of the RA stack 1 This example is important In this situation the assemblers force the data to zero and set the carry bit thus freeing data fields for other requirements The assemblers place the data in the data subfields as follows If the data is zero no data fields are occupied If the data is in the range 32 31 excluding zero only subfield F4 is occupied by B input data In all other cases both subfields F3 and F4 are occupied by the addressing data Notice that ASSEMBLY LANGUAGE Section 1 the notations HERE are equivalent and may be interchanged to suit the user the assemblers do not distinguish between forward referenced labels and backward referenced labels 1 4 2 Summary of addressing modes a Branch to a labelled location 1 With CUALF set to the B function e g LABEL 2 With CUALF set to function e g LABEL R LABEL b Branch to an absolute location 1 With CUALF set to the B function e g 1052 2 With CUALF set to the A B function e g R 7 1 5 Comments Each microinstruction may optionally contain a comment A comment is inserted in the microcode by preceding it with
43. s following an ORIGIN pseudo instruction will be assembled starting at the address given A ORIGIN instruction may be placed anywhere a program There is no check for overwriting previously assembled code The default starting value for the internal location counter is zero An example showing the use of the ORIGIN instruction is given in Section 4 4 2 4 RADIX or R Format RADIX lt base gt where lt base gt is one of the integers 2 4 8 10 or 16 RADIX defines the base in which all numerical data given in assembler statements is calculated This base is valid from the following instruction be it pseudo or micro until the next RADIX instruction Note however the difference in the VALUE statement Section 2 13 RIKKE MA THILDA USER MANUAL 2 5 XTERNAL or X Format XTERNAL definition list gt END where lt definition list is a list of items separated by semicolons or new lines with the following format lt name gt value lt name gt is a string of alphanumeric characters of which the first 15 are significant and the first character of which must be a letter value is unsigned integer or a manifest When assembling a single routine the user often wishes to refer to labels not within the specific routine By declaring these labels external and giving them a value using XTERNAL the assemblers can supply the undefined labels generate code and produce an object paper tape to use on
44. se device buffers which have been activated are written into Wide Store and the remaining 16 bit fields in the Wide Store word are left untouched Device 1 On the combined physical RIKKE MATHILDA system the device is used to control the output from MATHILDA to Wide Store An OCA operation on the device causes the contents of MATHILDA s Output port A device 0 buffer to be written into Wide Store The address in Wide Store is the contents of device 1 s buffer In the RIKKE simulator MATHILDA s port device 0 is simulated by a character file section 4 2 3 Thus an OCA reads 16 hexadecimal digits from the file forms 64 bit word digit 1 into bits 63 60 digit 2 into bits 59 56 etc and enters it into Wide Store at the address specified in the device buffer 4 Device 5 RIKKE MATHILDA USER MANUAL The contents of the device buffer are used to address a word in Wide Store from which data is to be read The address is set up by an OCA operation The read is initiated by issuing a single Input port Activate IBA operation with the device selector IBD set to a value in the range 12 15 The resulting 64 bit word is loaded simultaneously into the buffers of Input port B devices 12 15 On the combined physical RIKKE MATHILDA system the device is used to control the input to MATHILDA from Wide Store Similar to the write operation described under device 1 an OCA on the device causes the data in th
45. splay all four local registers LR The registers and other display items directly connected to the bus are displayed in binary These include _ AL AS BUS DS LA LB LR MA MB PA PB PG SB vs WA WB The Control Store dump is binary Wide Store and Main Store dumps are hexadecimal and all other display items are given in decimal except SC which is written as TRUE or FALSE In general more display items may be printed than requested in a TABLE pseudo instruction This is because display items have been arranged in indivisible groups and when one item in a group is displayed all the other items will be given also This subsection described how to build a display table but not how to associate a display table with a microinstruction in a program That is the topic of the next subsection RIKKE MATHILDA USER MANUAL 2 11 DISPLAY or D Format 1 lt gt 2 DISPLAY lt no gt lt 1 gt 3 DISPLAY lt no gt lt loc 1 gt lt 2 gt lt no gt may be either an integer in the range 0 7 or one of the following identifiers NONE Nothing will be displayed TRACE Trace of Control Store locations is given STOP Simulation is stopped The user should note the last item because the simulators only have this single STOP criterion other than time limits inflicted by the operating ers in the host computers Using Format 1 associates the display table numbered lt gt
46. st share the subfields of the lt mop amp data gt field Data not originating in microoperations such as bus shifting data or address constants are not explicitly written in the lt mop amp data gt field However to let 6 ASSEMBLY LANGUAGE Section 1 the programmer indicate that he actually has used a subfield for other things the assemblers accept the quote character as a blind character Thus the programmer can overwrite a used subfield with a block of quotes Examples WA ALL 1 S HS WAU 1 VS Z WA 22 gt 2 mimm 2 When the assembler is packing an instruction it tries to push everything in without causing any conflicts So sometimes the assemblers might re arrange the instruction as it was written symbolically If the assembler cannot resolve all problems it gives up and emits an appropriate error message 1 4 Sequencing field The address of the microinstruction to be executed next is specified in the lt sequencing gt field and can be written as follows lt gt b lt addrt gt C IF lt c gt THEN lt addrt gt d IF lt c gt THEN lt addrt gt ELSE lt addrf gt e IF NOT lt c gt THEN lt addrf gt f UNLESS lt c gt THEN lt addrf gt g IF NOT lt c gt THEN lt addrf gt ELSE lt addrt gt h UNLESS lt c gt THEN lt addrf gt ELSE lt addrt gt Formats e and g are equivalent to f and h respectively lt sequencing gt field must
47. tion is checked on the physical machine because it is equipped with hexadecimal displays of the current Control Store address all labels and manifest constants are listed together with their associated values The option permits micro program overlays to be loaded into Main Store by the Bootstrap Loader at program load time The micro program is loaded into Main Store as follows Let n denote the number of Control Store words comprising the micro program overlay Then the integer n 1 is entered into Main Store location lt loc gt Starting at location lt loc gt 1 the micro program image is entered with each Control Store word occupying 4 consecutive Main Store words Bits 15 0 in word 1 bits 31 16 in word 2 bits 47 32 in word 3 and bits 63 48 in word 4 Only one ORIGIN pseudo instruction is allowed in a micro program if the MS option is applied 24 USING THE SYSTEMS Section 4 the option indicates that source text input is to be taken from the user s teletype The micro program listing is suppressed and the simulator interface file or the punch file is given the filename TTY TTY RIKKE MATHILDA USER MANUAL 4 2 2 Options in the LOUISE assembler 5 LR TTY object code is passed to the MATHILDA simulator via the simulator interface file called lt name gt MAS object code is formatted on a file to suit MATHILDA s Bootstrap Loader and is named lt name gt PTP The file is r

Download Pdf Manuals

image

Related Search

Related Contents

Guida di HD MADI    添付文書    Model 12-1015 User Manual _Version 1308_  Pioneer SX-838 User's Manual  Detección de aperos de John Deere  Bose 18 Home Theater System User Manual  

Copyright © All rights reserved.
Failed to retrieve file