|
HW I have used (at least a little)
|
DEC PDP 1, 8, 10, 11, Vax
11/780; IBM 1620, 7094, 360, 370, 5100; Prime; Lisp Machine;
Motorola 6811, 68000, 68010, 68020; Sequent Balance; CM-2; Intel
8051, 8086, Pentium, Xeon; Sun Sparc; AMD Opteron.
Wordlengths: 8, 12, 16, 32, 36 (containing 5 7-bit chars plus 1
spare bit)
|
How to program a low-level machine
- Toggle in a bootstrap loader on the front panel.
- Read in a paper tape with a text editor.
- Read in a paper tape with your program, written in assembly.
- Use
TECO
to edit your program on the teletypewriter.
- Punch out a paper tape with the new version of your program.
- Read in a paper tape with the assembler.
- Read in the paper tape with your program.
- Punch out your assembled program.
- Read in your assembled program.
- Run it.
- Correct small errors by toggling on the front panel new values
for certain words in core.
- For big errors, go back to step 2.
|
|
How to program a slightly higher level machine
- Write out your program on paper.
- Punch your program onto cards, one card per line, using a
machine called a
keypunch, the
size of a desk.
- Correct any typos by inserting a card into a read slot in
the keypunch, duplicating it onto a new card up to the
typo, typing the correct char, and then duplicating the
rest of the line.
- If a card is damaged it may jam in the keypunch. Use a
card saw (like a hacksaw blade) to pry it out in pieces.
- Add job control cards before and after your program to
tell the computer how to compile and run it and what files
it will read and write. When creating a new file, specify
a few parameters:
- name
- volume it will go in (like a partition)
- whether to catalog it (so future users don't need to
know the partition)
- is the file new or existing?
- disposition when the job finishes, e.g., keep or delete
- disposition if the job ends abnormally
- type of units of storage to allocate, e.g., cylinder or
track
- number of those units
- number more to allocate whenever more space is needed
- whether to keep or release any extra storage at the end
- format of records in the file, e.g., fixed or variable length
- if fixed, the record length
- how the records are grouped into blocks
Most of the above are required and do not have useful
defaults. Example:
//SYSUT2 DD DSN=MYFILE,DISP=(NEW,KEEP,DELETE), // SPACE=(CYL,(5,1),RLSE),RECFM=(FB,80,3200)
- Use a magic marker to draw a diagonal line across the top
edge of the card desk to aid in sorting the cards if you
drop them.
- Read the card deck into the computer.
- Wait for it to print out the result on 15" wide fanfold
paper.
- Examine the output. Add lines to your program by punching
new cards and inserting them into the deck.
- Repeat.
|
|