Nuclear Data BASC-12 General Assembler assembler Software Instruction Manual
Advertisement
Advertisement
NUCLEAR DATA, INC.
Post ()ffice Box 451
Palatine, Illinois
60067
January, 1971
1M41-0001
SOFlWARE INSTRUCTION MANUAL
BASC-12 GENERAL ASSEMBLER
Copyright 1971, by Nuclear Data, Inc.
Printed in U. S.A.
TABLE OF CONTENTS
Section Title
INTR()DUCTION. • •
•
•
•
• •
• •
.
. .
...
.
• •
Page
1-1
A. Program Summary
0 • • • • • • • • • • • • • • •
1- 1
B. Program Area • • • • • • • • • • • • • • • • • 1- 1
C. Starti ng Address. " • • • • • • • • • • • • • • • 1- 1
D. Equipment Confi guration. • • • • • • • • • • • • • 1- 1
E. Definitions • • • • • • • • • • • • • • • • • • 1-1
2 PROG,RAM DESCRIPTION
•
• •
•
•••
•
•
•
•
•
•
•
•
2-1
3
4
5
Appendices
OPERATOR OR USER CONTROt
• •
•
•
• •
•
• • •
•
•
3-1
OPERATIC)NAL PROCEDURE
• • • • •
• •
• •
• • •
•
4-1
ERROR DIAGNOSTICS. • •
• •
• •
•
• • •
•
• • •
•
5-1
A
B c
INSTRUCTIONS IN MN"EMONIC SEQUENCE • • • • • • • A-1
I NSTRUCTIONS IN OCTAL SEQUENCE • • • • • • • • • B-1
ASCII CHARACTER SET
• • • • • • • •
• •
• •
•
•
•
C-1 iii
1. INTRODUCTION
A. PROGRAM SUMMARY
BASC-12 is a 2-Pclss Assembler (optional 3rd pass) for the ND812 Central Processor.
BASC-12 translates symbolic mnemonics (source) into machine instructions (object), executable by the Central Processor hardware. The BASC-12 Language is structured to give the programmer compl ete control over the mach ine language instructions to be executed by the processor, while allowing easily remembered and understood symbols
(letters, numbers, and special characters) to specify the desired instructions. BASC-12 is designed to run in a 4K Processor equipped with paper tape and/or magnetic tape cassette peripheralls.
B. PROGRAM ABEA
0000
8 through 5303
8 with locations 3053
8 through 41768 used as the Input Buffer. c.
STARTING ADDRESS
020°8·
D. EQUIPMENT CONFIGURATION
Minimum requirements are a 4K ND812 Central Processor equippeOd with an ASR33 Teletype
(Io~ speed punch/reader). Optional peripherals include the high speed punch or reader and/or a Magnetic: Tape Cassette Unit.
E. DEFINITIONS
1. Source
The Symbolic Program irs written by the programmer in the symbols allowed in BASC-12 language. The program source (usually punched on tape) is the input to the .Assembler which then "assembles" or "translates" it into a machine language or "binary" version of
1-1
of the program. The Symbol ic Text Editor (ND41-0002) is usually employed to prepare a "Source" tape.
2. Binary
The output from an assembler is often referred to as the "Object Program". If the Object
Program is not produced in directly executclble form by the Assembler, it must either be assembled further, or else must be loaded and executed with a run-time monitor which interprets the object coding and performs the required operations. The output from the
BASC-12 Assembler mClY be loaded without modification as it is in absolute binary form, so that, once in core, it is executed directly by the processor without the need for a run-time monitor. To distinguish this type of object program, it will be referred to as the
Binary Output or simply "Binary". Therefore, a binary file is a one-to-one copy of core which may be loaded and executed directly.
3. Listing
This consists of a hard-copy symbolic listin!~ of the program with the octal equivalents of the assembled insf'ructions and their octal locations in memory. It represents the documentation of the program, including the actual instructions assembled, and their execution locations. The fCirmat used is:
2345 6740 SYMBOLIC LINE OF C()DING, where "2345" and "6740" are octa
I numbers representi ng a memory address and the contents of that address respectively. The balance of the line consists of a repetition of the Program
Source which was assembled to yield the m(lchine instruction "6740
11
•
4. Numbers
All absoluJe numbers eIre interpreted by the: BASC-12 Assembler as four-digit octal numbers. The hi~,h order digits of longer numbers will be ignored. The decimal digits
"8" and
"9" wi
II be interpreted as non-numeric ,characters.
5. Characters
A single letter, number, etc. When referred to paper tape, a character occupies one frame.
6. Symbols
A symbol consists of any collection of lette:rs, numbers, or other characters appearing anywhere on a
I ine, not in a comment, and followed by a term inator.
N()TE
Spaces ane terminators.
1-2
A legal symbol should be no more than 6 characters long and must begin with an alphabetic character. Longer symbols are allowed bU1' will be truncated to
6 characters with the excess being ignored. Thus, the symbol IISTARTS II , "STARTSAII, and "STARTSAB II will be interpreted as the same symbol by the Assembler, namely IISTARTII.
7.
Non-Printing Characters
The following symbols are used to represent non-printing symbols:
Horizontal Tab
Vertical Tabe
=
~
=
if
Carriage Return =
Line-Feed =
~
;>
These characters, although non-printing, may be typed by the user on the keyboard and may appear in a Program Source. They generally initiate some action in the printing device (such as a carriage return) or cause a special response from a program (such as a tab) •
A space is repres€!nted by the symbol II
A " even though it is a printing character in the sense that it causc~s the carriage to move one column to the right.
It is, however, often important to know how many spaces appear in a line of text, so that it is convenient to have a symbol to repr€!sent it in the documEmtation •. None of these special symbols are never printed, but are used whenever necessary to clarify the contents of a I ine of text in the examples and discussions which follows. -
8. User Entry
User entry is alwclYs underscored. All other characters are prin'ted by the program.
9. Ignored Charolcters
A character lIignored" by the BASC-12 Ass,embler is reproduced in the listing, but does not affect assembly of the program. Ignored characters will terminate a symbol, but otherwise initiate no special action. The "Space ll is an example of an ignored character. If spaces intervene between a symbol and another sp,ecial character, the assembler interprets the resulting coding os though the spaces were not present. Spaces between symbols serve only to separate the symbols.
10. Term i nators
•
The following charracters have special meaning to the Assembler and will also terminate a symbol: Comma (,), Slash
V),
Asterisk
(*),
Plus
(+),
Minus (-), Equal
(=), ,'-lumber (#),
Left Bracket ( [ ), At (@), Horizontal Tab
(~
), Vertical Tabe (
Arrow ( t ),
Carriageo-Return ( f),
Form-Feed, Up
.;», and Dollar
($).
B lank tape, rubouts, and line-feeds are not stored in the Assemb I er buffer. Twenty-four consecutive Rubouts are interpreted as an out-of-tape condi ti on •
1-3
Space ( a )
Comma (,)
Slash (/)
Asteri sk
(*)
Plus
(+)
Minus (-)
Equal
(=)
Selves only to terminate a symbol. Spaces are otherwi se ignored.
Indicates that the symbol preceding it (ignoring spoces) should be interpreted as a tag for that
I ocati on. The symbol is set equal to the Program
Location Counter (PLC).
A symbol may not be used as the tag for two different program locations.
Command mnemonics may not be used as tags.
The slash indicates the beginning of a comment.
All characters, including the terminators, following
""il1c; slash will be ignored by the assembler until the next carriage-return. The Number sign
(#) wi
II be flqgged as an illegal character. Comments, including the Slash, are ignored and are reproduced only in the Pass
3 Li sting.
The asterisk is an instruction to the assembler to reset the program location counter (PLC) to the vallue of the symbol (s) following the asterisk.
If the asterisk is followed by several symbols, they wiH be assembled according to the rules of assembly applying to a single location and the PLC will be set equal to the resul t. Numbers are, as usual, interpreted literally. Octal numbers larger than four digits are truncated from the high-order end.
If c::my one of the symbols appearing after the
"*" have not been previously defined, the expression will be ignored and the undefined origin (UO) dicJgnostic printed.
CClUses the symbol following the plus sign to be added to the symbol preceding the sign. An undefined symbol at the time of evaluation is ignored.
Couses the symbol following the minus sign to be sylbtracted from the symbol precedi ng the minus sign.
Co!uses the symbol preceding the sign to be set equal to the symbol or symbols following the sign.
If the symbol following the equal sign is undefined, the Assemb I er reacts di fferently dependi ng on the current pass number and the type and ki nd of symbols
1-4
Number
(#)
Left Brack ( [ )
At Symbol::
(@)
Horizontal Tab
(~)
Vertical Tab (
Form-Feed
Up Arrow ( t ) if ) involved. The treatment of statements containing an equal sign is discussed under "equivalence
Stntements" •
Denotes an illegal character. A character other thCln blanks, line-feeds, or rubouts, and with oc1'al code less than 0240 or greater than 0337 is stored in the inputbufferasa
11#".
When this character is encountered by the Assembler dud ng processi ng of i ts buffer, the message IIIC
AT XXXX" is generated where" XXXX" represents the current value of the PLC. If the character
"#11 appears in the user1s source, it will be interpre'ted as an illegal character during assembly.
Indicates that the symbol following the"
II is to be taken as an Assembl er Directive; that is, an instruction to the assembler to interrupt pro1cessing and perform some other task indirectly related or not related to processing the source program. The secti on on Assemb I er Directives describes the various directives included in the assembler and the procedure necessary to create user directives.
Indicates an indirect address for a memory reference instruction. The "@" symbol should appear immediately after the instruction mnemonic without separating spaces (i. e. "JMP@").
Equivalent to a space. When creating the Pass 3
Listing, the assembler will generate the proper number of spaces on the teletype or other output device. The output device need not have mechanical tabb i ng ab iii ty •
Terminates a line and advances the paper to the top of the next page.
Int,erpreted by the Assembler as a vertical tab.
Automatically generates a two word I/O where the symbol foil owi ng the up arrow is taken as the second word of the I/O. The octal code 0740 is cmtomatically generated in the first location of
1-5
Carri age Return
;>
Dollar
($)
Period or Dot (.) the! two word i nstructi on. Th i s symbol's acti on is an exception to the one location per line rule in t'hat it gen'erates two locations for one I ine of coding. It does not, however, restrict the prclgrammer's fl exib iI i ty of control over the finol binary program since use of ( ) is optional.
The! up arrow need appear only once on a line.
Succeeding up arrows on the same line are ignored.
Symbols precedi ng the up arrow on a line are ignored.
Carriage Return
(~) terminates a line of coding.
A location is not assigned to lines containing an
(=) or
(*) or b lank lines contai n i ng no codi ng or a comment only. Extra carriage-returns in the source, though they generate extra lines in the program listing, do not affect the length of the machine language program and may be used to format the listing for better legibility. It is recommended that b lank I ines be used to separate lo~~ical blocks of the Source and to separate the constants and variables from instructions.
The Dollar
($) indicates the end of the Source.
The dollar sign will initiate termination of the current pass and so should be the last symbol in a Program Source. If a dollar sign is not read by the! Assembler before it runs out of input tape, the assembler waits for teletype input to supply the
"$", indicating the end of the pass, or any other ch()racter indicating that the input device was reloaded and the assembly should continue with the additional source. The
"$" should not be used anywhere in the body of the source except as the last line.
Is equival ent to a symbol representing the current value of the Program Location Counter (PLC).
The period or dot does not serve as a terminator and must be used in all respects I ike any other symbol.
1-6
2. PROGRAM DESCRIPTION
When using the BASC-12 Assembler it is imperative that the user have a solid knowledge of the source language. (See Appendix A Clnd B for a bri ef Ii sti ng of these.) The source program consists of ASCII coded binary words that represent symbols, special characters and terminators written in a format acceptable by the BASC-12 Assembler. The following example illustrates the statement format which can be interpreted by the BASC-12 Assem.bler:
LABEL
READ,
()PERATION
JMP
ADDRESS
ENID
ICOMMENT
II
NPUT ONE CHARACTER
Fields of each instruction line are not rigidly defined. They are separated from one another by any of the terminators except the
+ and - characters. Plus
(+) and Minus
(-) are used to connect multiple symbols to form a single field. The
+ and - signs are evaluated from left to right before a field is connected with another. Parentheses are not perm i tted •
The commend field must begin with a slash (/). A comment may start anywhere on the line and o'lways continues to the end of the line. -
It is suggested, in the interest of neatness cmd legibility of final output, that the OPERATION field begin in the ninth column (first tab), that the ADDRESS begin in the fourteenth column (automatic provision for inserting an extra space after 3-letter instructions is made in the Editor), and the comment begin in the 25th column (4th tab position; one tab after most instruclrions). On lines which contain no instructions or definitions, the comment may start anywhere on the line and is generally left-justified. A line containing a comment only is left-justified in Pass 3 output of the Assembler.
A. LABEL FIELD
The label field ll1(lY consist of one symbol followed by a comma. Plus
(+) and Minus (-) signs are not permitted in the Label Field. The symbol may not have been previously defined by appeadngin an equivalence s'tcltement or by having been used as a tag. There
2-1
may be more than one tag on a line, but eClch may consist of only one symbol and each must be followed by a comma. All tags on the same line will reference the same location in the assembled program.
An attempt to use a symbol as a tag which has already appeared in an equivalence statement, or was used as
Oi tag, will result in the duplicate tag error diagnostic IIDT AAAAAA
AT XXXX" where the location counter at the time the error was detected.
The label field does not affect the contents of the current location.
B. OPERATION AND ADDRESS FIELDS
If, after assembling an element other than () label element, the result is between
2400a
- 7737a, the next· field will be treated as the address field of a Single-Word Memory
Reference Instrucf'ion. In this case, no field, except a comment, may follow on the same line. Each symbQiI beyond the Address field of a Single-Word Memory Reference Instruction will generate the Double Address Diagnostic ,IIDT AAAAAA AT XXXX
II
, where "AAAAAAIJ is the symbol and IIXXXX" is the value of the location counter at the line where the double address was detected.
Since Single-Word Memory Reference Instructions are recognized by their octal coding, it is possible for the user to devise his own mnemonics for special applications. In addition, the assembler will always recogniize error conditions involving Single-Word
Memory Reference Ins1Tuctions no matter how the octal code is 'created. This parallels the fact that the processor also recognizes
~nstructions by their octal codes and errors made in the Sourc:e wi
\I be carried through to run-time.
It should be noted that the Assembler does not check for the absence of the Address field.
If a Single-Word Memory Reference is assembled into a location and no address field is provided, reference to location
OOOOa will be assembled by default.
In any case, proper assembly of a Single-Vlord Memory Reference Instruction demands that it appear in i"he first non-label field on the line. Although not essential for proper assembly, the same rule should be applied to all instructions to minimize the possibility of error and to mClke the Source
Li sti ng easi est to read.
Fields evaluated to a number less than
2400a or greater than
7377 a are combined with an inclusive logical 1I0RIt. This allows micro-programming of the Operate and I/O instructions.
C. EQUIVALENCE STATEMENT
An Equivalence Statement consists of an 1I()bject Symbol II followed by an equal sign followed by an e>~pression consisting of symbols, plus signs
(+),
(=) minus signs (-), and spaces
(to separate symbols in the absence of a plus or minus sign). The expression is assembled according to the ctlgorithm for the assembly of an instruction and the symbol appearing to the I,eft of the equal sign is set equal to the result.
2-2
D. DEFINITION STATEMENT
A Definition Statement is the special case of an Equivalence Statement in which all of the symbols appeclring to the right of the equal sign are defined when the statement is encountered. Ultimately, it is the purpose of all Equivalence Statements to assign an octal value to the object symbol or to set the object symbol equal to another symbol which has been assigned an octal value. In other words, it is the purpose of the Assembly to change all Equivcdence Statements into Definition Statements. "RD XXXXXX AT NNNN" indicates an attempt to assign a second value to the same symbol. The error diagnostic
"DT XXXXXX AT NNNNII is generated if a symbol appearing as the object of an Equivalence Statement also appears as a Progralll Tag (Where
II
XXXXXX" is the symbol and
"NNNN" is the current value of the Locaf'ion Counter).
Equivalence Statements are closely related to the use of symbols as Program Tags. Use of a symbol as a Program Tag sets it equal f'o the Memory Address assigned to the instruction or constant it tags. Since a symbol may have only one octal value, any attempt to also use the symbol as the object of an Equivalence Statement will generate the error diagnostic
"RD XXXXXX AT NNNN" and the prior vCllue of the symbol will not be affected.
Similarly, any atl:empt to use a symbol two or more times as the object of an Equivalence
Statement will generate the same error message: "RD XXXXXX AT NNNN" where "XXXXXX" is the symbol andIlNl'~NN" is the current value of the .Location Counters.
The Assembly of
CI
Definition Statement is straight-forward if all of the symbols on the right-hand side of the equ~1 sign are defined. The Assembler will assemble the righthand symbols according to the algorithm used for instruction locations and set the lefthand symbol equal to the resul t. For exampl e, the statements:
DBSKIP
==
JMP .+3
CSLCT == 7466 would cause "DBSKIP" to be set equal to 6003 and "CSLCT" to be set equal to 7466 in the Pass
1 symbol table. Thereafter, the octal number 6003 would be substituted for
"DBSKlp lI whenever the symbol occurred.
A statement of thc~ form:
READ
==
JPS INPUT is a definition (and is handled as described above) only if both "JPS
IJ and "INPUT
II were defined or used as a tClg prior to the appearance of the above statement. If "I NPUT
II is used as a tag or appears in an equival ence statement after the above statement, then assembly of the above statement must be deJerred to a later pass at which time "I NPUT" will be presumably defined. In this case, "READII will not appear in the Pass
1
Symbol
Table. On the second or subsequent passes, "READ" will be properly defined and listed normally in the PC)SS 3 Symbol Table. The user should be aware, however, that IIREADII
2-3
remains undefined until it is encountered during processing of Pass 2 or 3 and will generate an Undefined Symbol error diagnostic during Pass 2 or 3 if used prior to the appearance of the statement which defines "INPUT".
If "INPUT" is not defined anywhere in the program, the error diagnostic "UE XXXXXX
YYYYYY
AT NNNN'I (Undefined Equivalence) will be generated during Pass 2 and 3 where II XXXXXX" is the I eft-hand symbol (lnd
"yyyyyY" is the undefi ned ri ght-hand symbol. The diaSlnosti'c wi II be generated os many times as an undefined right-hand symbol appears. In any case, "READ" will remain undefined and will appear in the
Pass 3 Symbol Tab I e as
READ
==
**
One special circumstance arises if a symbol appears in both a Pass 1 Redefinition or
Duplicate Tag error and a Pass 2 or 3 Undefined Equivalence error. For example suppose the following coding were assembl ed:
READ
=
JPS RD
*0200
READ, 0
$
Note that "RDII is never defined and that "READ IJ equival ence statement and as a program ta~J. appears as the left-hand portion of an
During Pass 1, th.e error diagnosti c:
DT READ AT 0200 would be generated and "READ" would not be listed in the Pass 1 Symbol Table.
During Pass 2 or
~~, the error di agnosti c:
U E REA D R D AT 01 00 would be generated but "READ" would remain undefined only until the "READ, 0" statement was encountered. Inasmuch as "READ" is still undefined, the assembler will define it as a tag (giving it the value "0200") and it would appear in the Pass 3 Symbol
Table as
READ
==
0200
2-4
A statement of the form:
READ
=
INPUT
=
'GT
=
JPS RD will cause the foillowing entries in the Pass 1 Symbol Table (assuming "RD" is undefined when the above statement appears):
GET =
**
INPUT =GET
READ
=
INPUT
During Pass 2 or 3, "GET" will be defined, and be listed i-n the Symbol Table with the appropriate octal number to replace the double asterisk. In any case, "READ" and "INPUT" will be treated by the assembler exactly as though the symbol "GET" were being used.
If "G ET" is never defi ned, "READ" and "I NPUT" will also remain undefined.
Finally, there may be only one complex expression or previously defined symbol on a line and it must be terminated with a carriage-return. Thus, the following statement is illegal:
READ
=
JPS RD
=
JPS INPUT
No error diagnostic will be immediately produced, but "RD" will be listed in the Pass 1
Symbol Table as HRD" will be listed in the Pass 1 Symbol Table as "RD
=
**" and any subsequent attempts to define it or use it as, a tag will generate the Redefinition or Duplicate
Tag error messages.
During Pass 2 or
3:, the Undefined Equivalence message will be produced and then "RD" will be defined with a somewhat arbitrary value. Additional error diagnostics may be produced depending on the current value of the Location Counter and the current definition status of the rest of thc~ symbols on the line.
Coding of the foillowing forms:
READ, 0
INPUT
=
READ
=
GET
=
FIND are also illegal and will generate the Redefinition error message.
2-5
3. OPERATOR OR USER CONTROL
The BASC-12 General Assembler is a 2 Pass Assembler that examines the source program and creates a table of symbol address on Pass
1, outputs the assembled binary translation of the source program on Pass 2. An optional third pass is possible during which a symbolic listing (in ASCII Code) is created. Passes
2 and
3 are combined on BASC-12 for DISC systems. Switch Register settings specify which pass the assembler is to undertake and what input and output devices are to be utilized., The following is a detailed description of the Switch Reg i st€~r bit assi gnments:
Bits
0 and 1 indicbte which Pass the assembler is to undertake. Pass
0 is illegal
Pass 1
Pass 2
Pass 3
Bit 0 o
1
1
Bit
1
1 o
1
Bit 2 is unassigned.
Bit 3 set to
Ill"
CCluses the assemb I er to generate the symbol tab I e at the end of Pass 1.
Bit 4 is unassigned.
Bit 5 set to "1" suppresses page formatting.
Bits 6 and 7 select the input device.
Low Speed ReOider (TTy)
High Speed Reader
None
Cassette
Bit 6 o o
1
1
Bit 7 o
1 o
1
3-1
Bits 8 and 9 select the output device for PCISS 1 and 3. When the non-existent output device is selected, the symbolic listing is destroyed but the error messages are printed.
This is of value to a user assembling a rough program and anticipating many errors.
Low Speed Punch (TTy)
High Speed Punch
Non-existent Device
Non-exi stent Devi ce
Bit 8 o o
1
1
Bit o
9
1 o
1
Bits 10 and 11 select the output device for Pass 2. When the non-existent output device is selected, the binary is destroyed but the error messages are printed.
Low Speed Punch (TTY)
High Speed Punch
Non-exi si'ent Devi ce
Bit 10 o o
1
Bit 11 o
1 o
An important "control" the user must not overlook, is the understanding of Instruction Codes, formatting acceptable to the assembler, terminators, directives and special characters.
This knowledge ccm be attained by reading the REFERENCE MANUAL, the DEFINITIONS and PROGRAM DESCRIPTION Sections of this manual.
3-2
4. OPERATIONAL PROCEDURE
1) Load the BASC-12 General Assembler program tape with the
Binary Loader (Refer to the Binary Loader ND41-003 for a detai led description) •
2) Set the Switch Register to 02008 and depress LOAD AR.
3)
Turn on all input and output devices that are intended for use during this assembly.
4) Place i-he paper tape or the cassette storing a source program in the appropriate input device.
5)
Set the pass number (Bits 0 and
11), input device (Bits
6 and
7), pass 2 output device (Bits 10 and 11), and pass 1 and 3 output device (Bits 8 and 9) into the Switch Register. Refer to the
OPERATOR or USER CONTROL Section for a detailed description of this operation.
6)
Depress START.
7)
The source program will now be read and the assembled binary or symbolic translation written Cln the specified device.
NC>TE
The storage buffer of BASC-12 General Assembler is 1024 characters long, exclluding line feeds, blank tape and rub-outs. If a source program i
So contained on paper tape and exceeds the
I im its of the
. storage buffer, it wi
II be necessary to rei oad the sou rce program for each pass of the assemb
I er (return to Step 4 and
5 above and depress
CONTINUE in place of START in Step
6).
4-1
The Magnetic Tape Cassette Unit incorporates circuitry which automatically rewinds the cassette at the end of tape, allowing the assembler to reload the source program via software control.
4-2
5. ERROR DIAGNOSTICS
The error messages generated by the BASC-12 Assembler refer to syntactic errors appearing in the source. A syntactic error will cause a zero to be assembled for the statement in which the error occurs. (This is equivalent to a STOP instruction and will cause the processor to STOP on encountering the incorrectly written instruction when the object program is execut,ed). Numbers in parentheses indicate the pass during which the error diagnostic may occur.
A. IC AT NNNN (ILLEGAL CHARACTER) (1,2,3)
An illegal character was detected during input. The character will appear in the Pass 3
Symbolic Text as
"#".
The illegal character (or
11#") is counted as a blank during assembly.
Illegal character messages'are not counted among the syntactical errors which follow.
B. RD XXXXXX AT NNNN (REDEFINITION) (1)
The symbol" XXXXXX" was encountered as the left-hand portion of an Equivalence
Statement for the second time or was previously used as a program tag. The Equivalence is ignored.
C. DT XXXXXX AT (\INNN (DUPLICATE TAG) (1)
A symbol IIXXXXXX" followed by a comma was encountered and had already been used as a program tag or as the left-hand portion of an equivalence statement. The symbol and comma are ignored.
D. UO XXXXXX AT NNNN (UNDEFINED ORIGIN) (1,2,3)
The symbol" XXXXXX
II was used in a statement preceeded by a
"*" without having been previously defined. An origin specification may consists of any complex expression, but all of the symbols used in the expression must be defined in order for the assembler to reset its Program Location Counter (PLC) to the proper value. It is not possibl e to defer the definition of c:m origin since it is required for Pass 1 as well 'as 2 and 3.
5-1
E. US XXXXXX AT NNNN (UNDEFINED SYMBOL) (2,3)
The symbol
II
XXXXXX Il was used in the program without ever having appeared in a legal
Equivalence statement or having been used as a program tag. The symbol will also appear in the Pass 3 Symbol Table followed by the double asterisk
(**)0
The symbol is ignored.
F. IR MMMM XXXXXX AT NNNN (ILLEGAL REFERENCE) (2,3)
The Symbol IIXXXXXX Il (with a definition of IIMMMMII) was used as the address of a
Single-Word Memory Reference Instruction and the difference between the Program
Location Counter (PLC) and IIMMMMIl is greater than 6310(778) placing IIXXXXXX Il out of range of the Single-Word MRI. This diagnostic is also produced if the address of an
IJANDF
II instructk)n is less than the PLC (Reverse Reference), if the absolute octal portion of a literal instruction is greater than 778, negative or zero or if any Single-Word instruction attempts to reference itself (MMMM=NNNN=(LC)).
G. DA XXXXXX AT NNNN (DOUBLE ADDRESS) (2,3)
The address of a Single-Word Instruction may consist of only one symbol not connected by plus or minus sign:5. For example, the statE~ment:
JPS A+B is legal; JPS A B is not and wi
II generate the error message II DA B AT NNNN II. The second and succeeding symbols are ignored.
H. UE YYYYYY XXXXXX AT NNNN (UNDEFINED
EQUIVALE~CE)
(2,3)
The symbol II XXXXXX Il appears in the right-hand portion of an Equivalence Statement attempti ng to defi ne YYYYYY and XXXXXX is undefined. lIyyyyyylI wi
II not be defi ned, regardless of the_status of other symbols in the right-hand portion of the Equivalence
Statement. The diagnostic is generated for every undefi ned symbol whi ch appears in the right-hand portion of the statement.
I. UN XXXXXX AT NNNN (UNDEFINED DIRECTIVE) (1,2,3)
An Assembler Directive was encountered which is not defined at all, or is a user defined directive which appears in the program before the appearance of the IIENABLEII Directive.
It is ignored.
J. ST OV XXXXXX AT NNNN (SYMBOL TABLE OVER-FLOW) (1,2,3)
No room could be found in the Symbol Table for the symbol IIXXXXXXII. The current pass is automaticodly terminated. The Symbol Table may be extended by
128 symbols with use of the II EXT EN D II di rective. Th i
S,r however, ri sks destructi on of the Binary
Loader. If the IIEXTENDII directive has altready been used in the source, it will be necessary to alter the program to use fewer symbols.
5-2
K. SYMBOL TABLE DIAGNOSTICS·
Except for the double asterisk, no diagnostics are produced in either symbol table. The double asterisk is used to flag "Undefined Symbols", which, after pass 3, consists of all those symbols for which no definition could be assembled. The message liSE MMMM" which appears on the first line of the Symbol Table (Pass
1 or 3) indicates the first Memory
Address not used for Symbol Table storage. Programs previously loaded into memory which use no locations less than MMMM are ther€~fore not impaired in any way. The number also allows the user to determine how much room is left for additional symbols. (Each symbol requires 4 memory locations for storoge). Maximum Capacity of the symbol table is as follows:
Normal Length (Endi ng at
67768)
=
355 10
Extended Length (Endi ng at
77768) ::: 48310
These include the Permanent Symbol Table, which contains
8910 symbols. The message itER XXXX" is generated as the last line of the Symbol Table where "XXXX
II is the octal number of syntactical errors occurring in the program during the current Pass. This message appears only ot the end of Pass
1 or Pass 3. Illegal characters do not affect this count.
Finally, it should be noted that the Assembl er does not check for the absence of the
Address element. If a Single-Word Memory Reference is assembled into a location and no address element is provided, reference to location
00008 will be assembled by default.
In any case, propierassembly of a Single-Word Memory Reference Instruction demands that the instruction appears in the first non,-Iabel element on the line. Although not essential for proper assembly, the same rulE~ should be applied to all instructions to minimize the possibility of error and to make the Source Listing easiest to read.
Elements evaluated to a number less than
24008 or greater than
73778 are combined with an inclusive 10gic.aIIOR". This allows micro-programming of the Operate and I/O
Instructions.
5-3
APPENDIX A
INSTRUCTION MNEMONICS IN
ALPHABETICAL ORDER
OP
OCTAl
CHSR
CLR
CLR J
CLR K
CLR JK
CLR 0
CMP
CMPJ
CMPK
CMP JK
CMPO
CRDT
CSBT
CSET
CSFM
ADDL
ADJ
ADR J
ADR K
ADSJ
ADS K
AJK J
AJK K
AJK JK
ANDF
ANDJ
AND K
ANDJK
ANDL
CCLF
CHSF
1200
1300
21XX
0141
0101
0121
1410
1510
1610
1710
1450
1420
1520
1620
1720
1460
0144
0130
0110
0104
22XX
4400
1122
1222
1124
1224
1120
1220
1320
20XX
1100
DESCRIPTION
Add Literal to J
Add to J
R
+
J ·to J
R
+
K to K
S
+
J to J
S
+
K to K
J
+
K to J
J
+
K to K
J
7"
K to J, K
AND wi th J, ForwGrd
AND J, K into J
AND J, K into K
AND K, J into K, J
AN D Uteral with J
C I ear all Cassette FI ags (TWIO)
High Speed Forward to EOT (TWIO)
High Speed Reverse to BOT (TWIO)
Clear Flag Register
Clear J
Clear K
Clear J, K
Clear Overflow Register
Compl ement Flag Regi ster
Complement J
Complement K
Complement J, K
Complement Overflow Register
Read Cassette Tape to J (TWIO)
Skip if Cassette at BOT (TWIO)
Skip if Cassette at EOT (TWIO)
Skip if Cassette Read Fi I e Mark (TWIO)
A-l
TIMING
1 cy
2 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
2 cy
1 cy
1 cy
1 cy
1 cy
5
J.1S
5
J.1S
5
J.1S
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
5
J.1S
5
J.1S
5
J.1S
5
J.1S
OP OCT .AIL
- - -
CSLCT 1
7601
CSLCT2
7602
CSLCT3 7604
CSNE
0122
CSPF
0102
CSRR
CSTR
0142
0124
0152
CSWR
CWFM
CWRT
DIV
0151
0154
1001
DSZ
3000
EXJR
1103
EXJKRS
1303
EXKS
HIF
HIR
HIS
HLP
HRF
HOP
1203
7421
7422
7424
7433
7423
7431
HOS
INC
J
INC K
7434
1504
1604
·INC JK
1704
IOFF
1003
IONA
1005
IONB
IONH
1006
1004
IONL
ISZ
JMP
JPS
LDJ
1007
3400
6000
6400
5000
7721
LDJK
LDREG
LJIPB
LJ KFRS
LJST
LJSW
LKFJ
LJFR
LKFS
LRFJ
7720
7722
1302
1011
1010
1204
1102
1202
1101
DESCRIPTION
Place Cassette 1 On-Li ne
Place Cassette 2 On-Line
Place Cassette 3 O'n-Line
Skip if No- Error Cassette (TWIO)
Space Cassette Forward to Fi I e Mark (TWIO)
Skip if Cassette Read Ready (TWIO)
Skip if On-Line Cossette Ready (TWIO)
Skip if Cassette Write Ready (TWIO)
Cassette Write File Mark (TWIO)
Cassette Write Transfer (TWIO)
Divide J and K by R
Decrement Memory and Skip
Exchange J and R
Exchange J
I
K with
R,
S
Exchange K and S
H S Reader Fetch
CLR Flag; Read HS Buffer
Skip if H S Reader Reader
H S Punch Load and Punch
H S Reader Read-Fetch
HS Punch On
Skip if HS Punch Ready
Increment
J
Increment K
Increment
J,
K
Disable all Interrupt Levels
Enab I e Interrupt L1evel s H
& A
Enable Interrupt Levels H & B
Enable Interrupt Level H Only·
Enable All Interrupt Levels
Increment Memory and Skip
Unconditional Jump
Jump Subroutine
Load J
Load JPS Reg to J/INT reg to
K
Load JPS Reg From
J,
INT reg to K
Set JPS and INT Status Bits
Load J
I
K from R/' S
Load J from Status Regi ster
Load J from Switches
Load K from J
Load J from R
Load K from S
Load R from J
·A-2
TIMING
1 cy
1 cy
1 cy
5 JJs
5 JJs
5 JJs
5 JJs
5 JJs
5 JJs
5 JJs
11 JJs
2 cy
1 cy
1 cy
1 cy
2 cy
2 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
2 cy
1 cy
3 JJs
3 JJs
3 JJs
3 JJS
3 JJS
3 JJS
3 JJs
1 cy
1 cy
1 cy
OP OCT ,L~L
- - -
LRSFJK
LSFK·
1301
1201
MPY
1000
NADR J
1132
NADR K 1232
NADSJ
1134
NADS K
1234
NAJK J 1130
NAJK K 1230
NAJK JK
1330
NEG J
1524
NEG K
1624
NEG JK
1724
NSBR J 1133
NSBR K
1233
NSBS J
1135
NSBS K 1235
NSJK J
1131
NSJK K 1231
PIOF
1600
PION
RFOV
1500
1002
ROTC> J
1160
ROTD K
1260 .
ROTD JK 1360
SBJ
SBR J
4000
1123
SBR K
SBS J
SBS K
SET
SET J
SET K
SET JK
SET 0
SFTZ J
1223
1125
1225
1430
1530
1630
1730
1470
1140
SFTZ K 1240
SFTZ JK 1340
SIN J
1506
SIN K'
SIN JK
SIP J
1606
1706
1502
SIP K
SIP JK
1602
1702
DESCRIPTION
Load R, S from J, K
Load S from K
Multiply J by K
-(R + J)' to J
-(R + K) to K
-(S + J) to J
-(S+ K) to K
-(J + K ) to J
-(J + K) to K
-(J + K) to J, K
Negate J
Negate K
Negate J, K
J-R to J
K-R to K
J-S to J
K-S to K
K-J to J
K-J to K
Powerfai I system off
Powerfai I system on
Read Flag and Overflow Bits from J
Rotate J Left N
Rotate K Left N
Rotate J, K Left N
Subtract J
R-J to J
R-K to K
S-J to J
S-K to K
Set Flag Register
Set J to -1
Set K to -1
Set J, K to -1
Set Overflow Register
Shift J Left N
Shift K Left N
Shift J, K Left N
Skip if J Negative
Skip if K
NegativE~
Skip if J, K Negative
Skip if J Positive
Skip if K Positive
Skip if J, K Positive
A-3
TIMING
1 cy
1 cy
10. 75
'1 cy
1 cy
1 cy +
1 cy
+
1 cy
+
2 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy +
1 cy +
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy lcy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy l-'s
OP DESCRIPTION
SIZ
SIZ J
1405
1505
SIZ K
SIZ JK
SIZ
0
SJK J
1605
1705
1445
1121
SJK K
SKIP
SKPL
TWSMK
TWSTJ
1221
6002
1440
SMJ
SNZ
SNZ J
SNZ K
SIZ'JK
2400
1401
1501
1601
1701
1441
SNZ
0
STJ
STOP
SUBL
TCP
5400
OOXX
23XX
7413
7401
TIF
TIR
TIS
7402
7404
7411
TOC
TOP
'TOS
TWADJ
7412
7414
0400
TWADK 0450
TWDSZ
0300
TWISZ
TWJMP
TWJPS
0340
0600
0640
TWLDJ
TWLDK
TWSBJ
TWSBK
TWSMJ
0500
0510
0400
0410
0240
0250
TWSTK
XCT
0540
0550
7000
Skip if Flag Zero
Skip if J
=
0
Skip if K
=
0
Skip if J, K
=
0
Skip if Overflow Register
=
0
J-K to J
J-K to K
Unconditional Skip (Jump)
Skip if Power Low
Skip if Memory Not Equal J
Skip if Flag One
Skip if J Not Equcd Zero
Skip if KNot EquClI Zero
Skip if
J, K Not Equal Zero
Skip if Overflow Register
=
One
Store J
Stop Execution
Subtract
Li tera I from J
Clear TTY Flag, Print-Punch
TTY Keyboard-ReCider Fetch
TTY Load Keyboard into J
Skip if TTY Keyboard Ready
TTY Clear Flag
TTY Clear flag; Print-Punch
TTY Skip if Printer-Punch Ready
Two Word Add J
Two Word Add K
Two Word Decrement Memory and Skip
Two Word Increment Memory and Skip
Two Word Uncondi'tional Jump
Two Word Jump Subroutine
Two Word Load J
Two Word Load K
Two Word Subtraci" J
Two Word Subtraci" K
Two Work Skip if J\t\emory Not Equal J
Two Work Skip if ,J\t\emory Not Equal K
Two VYord Store J
Two Word Store K
Execute Displaced Instruction
II@II t::ldds one cycle to any memory reference instruction.
TIMING
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
2 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
3 cy
3 cy
2 cy
3 cy
3 cy
3 cy
3 cy
3 cy
3 J.lS
3 J.ls
3 J.lS
3 J.ls
3 J.lS
3 J.lS
3 J.ls
3 cy
3 cy
3 cy
3 cy
3 cy
3 cy
3 cy
APPENDIX B
INSTRUCTIONS IN OCTAL
SEQUENCE
OCTAL
OOXX
0101
0102
0104
0110
0121
0122
0124
0130
0141
0142
0144
0151
0152 .
0154
0240
0250
0300
0340
0400
0410
0440
0450
0500
0510
0540
0550
0600
0640
1000
CSWR
CWRT
TWSMJ
TWSfv\K
TWDSZ
TWISZ
TWSBJ
TWSBK
TWADJ
TWADK
TWLDJ
TWLDK
TWSTJ
TWSTK
TWJ!v1P
TWJPS
MPY
STOP
CHSF
CSPF
CSFM
CSET
CHSR
CSNE
CSTR
CSBT
CCLF
CSRR
CRDT
CWFN\
SYMB,OL
DESCRIPTION
Stop Execution
Cassette High-Speed Forward EOT (TWIO)
Cassette Space Forward to File Mark (TWIO)
Cassette Skip on File Mark (TWIO)
Cassette Skip if EC)T (TWIO)
Cassette High-Speed Reverse BOT (TWIO)
Cassette Skip No-Error (TWI 0).
Cassette Skip if On-Line Tape Ready (TWIO)
Cassette Skip if BC)T (TWIO)
Cassette Clear All Flags (TWIO)
Cassette Skip if Read Ready (TWIO)
Cass ette Read to J (TWIO)
Cassette Write File Mark (TWIO)
Cassette Skip if Write Ready (TWIO)
Cassette Write Transfer (TWIO)
Two Word Skip if i\~emory
Not Equal J
Two Word Skip if i\~emory
Not Equal K
Two Word Decrement and Skip
Two Word Increment and Skip
Two Word Subtract J
Two Word Subtract K
Two Word Add J
Two Word Add K
Two Word Load J
Two Word Load K
Two Word Store J
Two Word Store K
Two Word Unconditional Jump
Two Word Jump Subroutine
Multiply J by K
1~-1
TIMING
1 cy
5
~s
5
~s
5
~s
5
~s
5
~s
5
~s
5
~s
5
~s
5
~s
5
~s
5
~s
5
~s
5
~s
5
~s
3 cy
3 cy
3 cy
3 cy
3 cy
3 cy
3 cy
3 cy
3 cy
3 cy
3 cy
3 cy
2 cy
2 cy
10.75~s
OCTAL
1202
1203
1204
1220
1221
1222
1223
1224
1225
1230
1231
1232
1233
1234
1235
1130
1131
1132
1133
1134
1135
1140
1160
1200
1201
1001
1002
1003
1004
1005
1006
1007
1010
1011
1100
1101
1102
1103
1120
1121
1122
1123
1124
1125
SYMB<)L
DESCRIPTION
DIV
RFOV
IOFF
IONH
IONA,
IONB
IONL
LJSW
LJST
ANDJ
LRFJ
LJFR
Divide J and K by R
Read Flag, Overflow from J
Disable All Interrupt Levels
Enable Level H On Iy
Enable Interrupt Levels H
&
A
Enable Interrupt Levels H & B
Enable All Interrup'r Levels
Load J from Swi tches
Load J from Status Register
And J, K into J
Load R from J
Load J from R
EXJR
AJK J
SJK J
ADR
JI
Exchange J and R
J
+
K to J
J - K to J
R
+
J to J
SBR J
ADSJ
ROTD J
R ... J to J
S
+
J to J
SBS J
S - J to J
NAJKJ -(J
+
K) to
J
NSJK J
NADR J
NSBR J
NADSJ
NSBS J
SFTZ
.J
K - J to J
-(R
+
J) to J
J - R to J
-(5
+
J) to J
J - S to J
Shift J Left N
Rotate J Left N
AND K
LSFK
LKFS
EXKS
LKFJ
AJK K
SJK K
ADR K
SBR K
ADS K
SBS K
NAJK K
AND J, K into K
Load S from K
Load K from S
Exchange K and S
Load K from J
J
+
K to K
J - K to K
R
+
K to K
R - K to K
S
+
K to K
S - K to K
-(J
+
K) to K
NSJK K K - J to K
MADR L -(R
+
K) to K
NSBR K K - R to K
NADSK -(S
+
K) to K
NSBS K K - S to K
1~-2
TIMING
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
11 tJs
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
,1 cy
1 cy
1 cy
1 cy
OCTAL
1401
1405
1410
1420
1430
1440
1441
1445
1450
1460
1470
1500
1501 .
1240
1260
1300
1301
1302
1303
1320
1330
1340
1360
1502
.1504
1505
1506
1510
1520
1610
1620
1624
1630
1701
1702
1704
1524
1530
1600
1601
1602
1604
1605
1606
DESCRIPTION
SFTZ K
Shift K Left N
ROTD K Rotate K Left N
ANDJI<
AND J, K into K,-'
LRSFJK Load R, S from J, K
LJ KFRS Load J, K from R, S
EXJKRS Exchange J, K wi th R, S
AJ K .J K
J
+
K to J, K
NAJK JK -(J
+
K) to J, K
SFTZ JK Shift J, K Left N
ROTC> JK Rotate J, K Left N
SNZ Skip if Flag Register One
SIZ
CLR
CMP
SET
SKPL
Skip if Flag Register Zero
Clear Flag Register
Compl ement Flag Regi ster
Set Flag Register to One
Skip on Power Low
SNZ 0
SIZ c)
CLR ()
Skip if Overflow Register One
Skip if Overflow Register Zero
Clear Overflow Register
CMPO Complement Overflow Register
SET C)
Set Overflow Register to One
PION Powerfai I System
()n
SNZ
.J
SIP J
INC
SIZ J
.J
SIN JI
Skip if J Not Equal Zero
Skip if J Positive
Increment J
Skip if J
=
0
Skip if J Negative
CLR .J
CMPJ
NEG J
SET J
PIOF
SNZ K
SIP K
INC K
SIZ K
SIN K
CLR K
Clear J
Complement J
Negate J
Set J to
-1
Powerfai I System
()ff
Skip if KNot Equo:1 Zero
Skip if K Positive
Increment K
Skip if K
=
0
Skip if K
Negativ~
Clear K
CMPK
NEG K
SET I<
Complement K
Negate K
Set K to
-1
SNZ JK Skip if J, K Not Equal Zero
SIP JK
Skip if J, K Positive
INC .JK Increment
J,
K
B-3
TIMING
1 cy
1 cy
1 cy
1 cy
1 cy
.1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
OCTAL
7422
7431
7432
7433
7434
·7601
7602
7604
7720
7721
7722
6400
7000
7401
7402
7404
7411
7412
7413
7414
7421
1705
1706
1710
1720
1724
1730
20XX
21XX
22XX
23XX
2400
3000
3400
4000
4400
5000
5400
6000
6002
SYMBOL
- - -
DESCRIPTION
SIZ JK
SIN JK
Skip if J, K
=
0
Skip if J, K Negative
CLR .JK
Clear J, K
CMP JK
Complement J, K
NEG JK Negate J, K
Set J, K to -1
SET JIK
ANDF
ANDL.
AD.DL.
SUBL
SMJ
DSZ
AND with J, Forword
AND J Literal
ADD J Literal
SUB TRACT J Li tera
I
Skip if J not Equal Memory
Decrement Memory and Skip
Increment Memory and Skip
ISZ
SBJ
ADJ
Subtract from J
Add to J
TOC
TOP
TCP
TOS
HIF
HIR
HOP
HOL
HLP
LDJ
STJ
JMP
SKIP
JPS
XCT
TIF
TIR
TIS
Load J
Store J
Unconditional Jump
Unconditional Skip
Jump Subroutine
Execute
Di splaced Instruction
TTY Keyboard-Reader Fetch r(Y Keyboard Into J
TTY Skip if KeyboClrd Ready
TTY Clear Flag
TTY Clear Flag, Print-Punch
TTY C lear Flag, Print-Punch
TTY Skip if Printer-Punch Reader
H S Reader - Fetch
H S Reader - CLR Flag, Read Buffer
H S Punch - Punch On
:HS Punch - CLR Flag, Load Buffer
H S Punch - Load and Punch
HOS
CSLClrl
H S Punch - Skip if punch ready
Cassette - Unit 1 C)n-Line
CSLCT2
Cassette - Unit 2 C)n-Line
CSLCT3
Cassette - Unit 3 ()n-Line
LDREC;
LDJK
Load JPS Reg from J, INT Reg from K
Load JPS Reg to J, INT Reg to K
LJIPB Set JP S and I NT Sl'atus Bits
"@" odds one cycle to any memory reference instruction.
TIMING
1 cy
1 cy
2 cy
2 cy
2 cy
2 cy
2 cy
2 cy
1 cy
1 cy
1 +n
3
~s
3
~s
3
~s
3
~s
3
~s
3
~s
3
~s
3
~s
3
~s
3
~s
3
~s
3
~s
3
~s
'
3
~s
3
~s
3
~s
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
1 cy
2 cy
1 cy
1 cy
B-4
APPENDIX C
ASCII CHARACTER SET
CHARACTER
R
S
T
U
V
W
X y
I
J
K
L
M
N
0
P
Q
A
B
C
D
E
F
G
H
Z
ASCII CODE
301
302
~303
304
305
306
307
310
311
312 '
322
323
324
325
326
327
330
331
332
313
314
315
316
317
320
321
CHARACTER
*
+
!
4
5
6
7
0
1
2
3
8
9
$
/
.
=
Space
Tab
Line Feed
Form Feed
Carriage Return
Rubout
!C-l
ASCII CODE
270
271
244
252
253
254
255
256
257
273
260
261
262
263
264
265
266
267
275
240
211
212
214
215
377
Download
Advertisement