+ All Categories
Home > Documents > PDP-B...The starting address of ODT is the address of the symbol START. For standard library...

PDP-B...The starting address of ODT is the address of the symbol START. For standard library...

Date post: 23-Sep-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
34
DEC-08-COCO-D IDENTIFICATION Product Code: DEC-08-COCO-D Product Name: ODT-8 Date Created: December 30, 1967 Maintainer: Software Service Group PDP-B LIBRARY
Transcript
Page 1: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

DEC-08-COCO-D

IDENTIFICATION

Product Code: DEC-08-COCO-D

Product Name: ODT-8

Date Created: December 30, 1967

Maintainer: Software Service Group

PDP-B LIBRARY

Page 2: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address
Page 3: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

DEC-OB-COCO-D

ABSTRACT

ODT (Octal Debugging Technique) is a debugging aid for the PDP-8, which facil itates

communication with, and alteration of, the program being run. Communication between operator and

program occurs via the Teletype, using defined commands and octal numbers. This version of ODT has

been complete Iy rev ised and replaces both versions of the former ODT - II program.

2 PRELIMINARY REQUIREMENTS

2.1 Equ ipment

Standard PDP-8 or PDP-5 with basic 4k memory and Teletype.

2.2 Storage

ODT requires 600 (octal) consecutive core locations and one location on page 0 which will

be used as an intercom reg ister. It is page re locatable.

3 LOADING OR CALLING PROCEDURE

NOTE: ODT cannot be called as a subroutine.

a. ODT is normally distributed in binary with the source available on request and is

loaded with the Binary Loader.

1. Place the ODT tape in the reader.

2. Set 7777 in the SWITCH REGISTER and press LOAD ADDRESS. (If using the

high-speed photoelectric reader, put switch 0 down).

3. Press START.

b. Load the binary tape of the program to be debugged in the same manner as ODT was

loaded. Be sure that the two do not overlap.

4 USING THE PROGRAM OR ROUTINE

4.1 Starting Procedure

a. The starting address of ODT is the address of the symbol START. For standard library

versions the high version starts at 7000 and the low at 1000.

b. Set the starting address in the SWITCH REGISTER. Press LOAD ADDRESS, and

START on the console. ODT will issue a carriage return and line feed to indicate that

it is now running and awaiting commands from the keyboard.

c. To restart ODT wihout clearing the checksum, set the address of START + 1 (usually

7001 high version, or 1001 low version) into the SWITCH REGISTER and press LOAD

ADDRESS and START on the console.

Page 4: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

D EC-08-COC O-D

4.2 Control Characters

a. Slash (/) - Open register preceding/

The register examination character / causes the register addressed by the octal number

preceding the slash to be opened and its contents typed out in octal. The open register

can then be modified by typing the desired octal number and closing the register. Any

octal number from 1 to 4 digits in length is a legal input. Typing a fifth digit is an

error and will cause the entire modification to be ignored and a question mark to be typed

back by ODT. Typing (/) with no preceding argument causes the latest named register

to be opened (again). Typing 0/ is interpreted as / with no argument.

Example: 400/6046 400j6U46 2468? 400/ 6046 1 2345? /60~ -

b. Carriage Return (~ ) - Close register

If the user has typed a valid octal number, after the content of a register was printed by

ODT, typing ~ causes the binary value of that number to replace the original contents

of the opened register and the register to be closed. If nothing has been typed by the

user, the register is closed but the content of the register is not changed.

Example: 400/6046~ 400/6046 2345 ~ /23456046 )

Register 400 is unchanged. Register 400 is changed to contain 2345. Replace 6046 in reg ister 400.

Typing another command will also close an opened register.

Example: 400/6046 401/6031 2346 J 400/6046 401 /2346 ~

Reg i ster 400 is closed and unchanged and 401 is opened and changed to 2346.

c. Line Feed (~) - Close register, open next sequential register

The I ine feed has the same effect as the carriage return, but, in addition, the next

sequential register is opened and its contents typed.

Example: 400/6046~ 0401~1 1234~ 0402/5201~

Register 400 is closed unchanged and 401 is opened. User types change, 401 is closed containing 1234 and 402 is opened.

d. Up arrow (t) - C lose reg i ster, take contents as memory reference and open s~me

Up arrow will close an open register just as will carriage return. Further, it will inter­

pret the contents of the register as a memory reference instruction, open the register

referenced and type its contents.

2

Page 5: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

DEC-08-COCO-D

Example: 404/3270t 0470752T2 0000 ~ 404/3270t 0470;0000

3270 symbolically is "DCA, this page, relative location 70, " so ODT opens reg ister 470.

e. Back Arrow (+--) - Close register, open indirectly.

Back arrow will also close the currently open register and then interrupt its contents as

the address of the register whose contents it is to type and open for modification.

Example: 365/5760t 0360/0426 +-0426/5201

f. Any Illegal Character

Any character that is neither a valid control character nor an octal digit, or is the fifth

octal digit in a series, causes the current line to be ignored and a question mark typed.

Example: 4:?_i } 4LT?) 40674671 67K? ~ / 467iT -

ODT opens no reg i ster •

ODT ignores modification and closes register 406.

g. xxxxG - Transfer control to user at location xxx x •

Clear the AC then go to the location specified before the G. All indicators and regis­

ters will be initialized and the break-trap, if any, will be inserted. Typing G alone is

an error but will nevertheless cause a jump to location O.

h. xxxxB - Set breakpoint at user location xxxx.

Conditions ODT to establish a breakpoint at the location specified before the B. If

B is typed alone, ODT removes any previously establ ished breakpoint and restores the

original contents of the break location. A breakpoint may be changed to another loca­

tion, whenever ODT is in control, by simply typing xxxxB where xxxx is the new

location. Only one breakpoint may be in effect at one time; therefore, requesting a new

breakpoint removes any previously existing one. The previous restriction on placing a

breakpoint on a JMS followed by arguments has been removed as of the June 1967 revision.

This means ODT can now be more effectively used, especially in debugging programs

which utilize floating point. The only restriction in this regard is that a breakpoint may

not be set on any of the floating point instructions which appear as arguments of a JMS.

3

Page 6: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

DEC-OB-COCO-D

Example: ~~~ } JMS FADD

Breakpoint legal here.

Breakpoint illegal here.

The breakpoint (B) command does not make the actual exchange of ODT instruction for

user instruction, it only sets up the mechanism for doing so. The actual exchange does

not occur until a "go to" or a "proceed from breakpoint" command is executed.

When, during execution, the user's program encounters the location containing the

breakpoint, control passes immediately to ODT (via location 0004). The C(AC) and

C(L) at the point of interruption are saved in spec ial reg isters accessible to ODT. The

user instruction that the breakpoint was replacing is restored, before the address of the

trap and the content of the AC are typed. The restored instruction has not been executed

at this time. It will not be executed until the "proceed from breakpoint" command is

given. Any user register, including those containing the stored AC and Link, can now

be modified in the usual manner. The breakpoint can also be moved or removed at this

time.

i. A - Open register containing AC.

When the breakpoint is encountered the C(AC) and C(L) are saved for later restoration.

Typing A after having encountered a breakpoint, opens for modification the register in

which the AC was saved and types its contents. This register may now be modified in the

normal manner (see SLASH) and the modification will be restored to the AC when the

"proceed from breakpoint" is given.

~ after A - Open register containing Link

After opening the AC storage register, typing linefeed p) closes the AC storage register,

then opens the Link storage register for modification and types its contents. The Link

register may now be modified as usual (see SLASH) and that modification will be restored

to the Link when the "proceed from breakpoint" is given.

i. C - Proceed (continue) from a breakpoint.

Typing C, after having encountered a breakpoint, causes ODT to insert the latest

specified breakpoint (if any), restore the contents of the AC and Link, execute the

instruction trapped by the previous breakpoint, and transfer control back to the user pro­

gram at the appropriate location. The user program then runs until the breakpoint is again

encountered.

4

Page 7: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

DEC-08-COCO-D

NOTE: If a trap set by ODT is not encountered while ODT is running the object (user's) program, the instruction which causes the break to occur will not be removed from the user's program.

xxxC - Continue and iterate loop xxx times before break.

The programmer may wish to establ ish the breakpoint at some location with in a loop of

his program. Since loops often run to many iterations, some means must be available to

prevent a break from occuring each time the break location is encountered. This is the

function of xxxC (where xxx is an octal number). After having encountered the break­

point for the first time, the user spec ifies, with th is command, how many times the loop

is to be iterated before another break is to occur. The break operations have been

described previously is section h.

k. M - Open search mask.

Typing M causes ODT to open for modification the register containing the current value

of the search mask and type its contents. Initially the mask is set to 7777. It may be

changed by opening the mask register and typing the desired value after the value typed

by ODT, then closing the register.

-I - Open lower search I im it

The register immediately following the mask storage register contains the location at

which the search is to begin. Typing line feed (-I) to close the mask register causes this,

the lower search I imit register to be opened for modification and its contents typed.

Initially the lower search I imit is set to 0001. It may be changed by typing the desired

lower limit after that typed by ODT, then closing the register.

-I - Open upper search I im it

The next sequential register contains the location with which the search is to terminate.

Typing line feed (-I) to close the lower searchlimit register causes this; the upper search

limit register to be opened for modification and its contents typed. Initially, the upper

search limit is the beginning of ODT itself, 7000 (1000 for low version). It may also be

changed by typing the desired upper search I imit after the one typed by ODT, then

closing the register with a carriage return.

1. xxxxW - Word search.

The command xxxxW (where xxxx is an octal number) will cause ODT to conduct a search

of a defined section of core, using the mask and the lower and upper limits which the user

has specified, as indicated in section k. Word searching using ODT is similar to word

5

Page 8: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

D EC-08-COC O-D

searching using DDT. The searching operations are used to determine if a given quantity

is present in any of the registers of a particular section of memory.

The search is conducted as follows: ODT masks the expression xxxx wh ich the user types

preceding the Wand saves the result as the quantity for which it is searching. (All

masking is done by performing a Boolean AND between the contents of the mask register,

C(M), and the register containing the thing to be masked.) ODT then masks each

register within the user's specified limits and compares the result to the quantity for which

it is searching. If the two quantities are identical, the address and the actual unmasked

contents of the matching register are typed and the search continues until the upper limit

is reached.

A search never alters the contents of any registers.

Example: Search locations 3000 to 4000 for all ISZ instructions, regardless of

what register they refer to (i.e. search for all registers beginning with

an octal 2).

W777 7453/0001 7454/7000

2000W

2000/2467 3057/2501 3124/2032 4000/2152

7000~

3000~

4000~

Change the mask to 7000" open lower search I im it Change the lower I imit to 3000, open upper limit Change the upper limit to 4000, close register In itiate the search for ISZ instructions

These are 4 ISZ instructions in this section of core.

m '. T - Punch leader

ODT is capable of producing leader (code 200) on-line. This is done by typing T and

then turning ON the punch. When enough leader has been punched, turn off the punch

and h it STOP on the console. It is imperative that the punch be turned OFF before typing

again on the keyboard, since anything typed will be punched also, if the punch is left

on. To issue any further commands, reload the starting address and press START on the

console.

n. xxxx; yyyyP - Punch binary

To punch a binary core image of a particular section of core, the above command is used

where xxxx is the initial (octal) address and yyyy is the final (octal) address of the section

of core to be punched. The computer will halt (with 7402 displayed) to allow the user to

turn ON the punch. Pressing CONTINUE on the console initiates the actual punching of

6

Page 9: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

DEC-08-COCO-D

the block. The punching terminates without having punched a checksum, to allow sub­

sequent blocks to be punched and to allow an all inclusive checksum to be punched at

the end by a separate command. This procedure is optional, however, and the user may

punch ind iv idually checksummed blocks.

It is imperative that the punch be turned OFF before typing another command, since the

keyboard and punch are I inked.

o. E - Punch checksum and trailer

Given the command E, ODT will halt to allow the punch to be turned on. Pressing

CONTINUE on the console will cause it to punch the accumulated checksum for the

preceding block(s) of binary output followed by trailer (code 200). When a sufficient

length of trailer has been output, turn OFF the punch and press STOP on the console. To

continue with ODT reload the starting address and press START on the console.

The binary tape produced in this manner by ODT can now be loaded into core and run.

However, the changes should be made to the symbolic source tapes as soon as possible.

4.3 Additional Techniques

a. TTY I/O-Flag

Sometimes the program being debugged may require that the TTY flag be up before it can

continue output, i.e., the program output routine will be coded as follows:

TSF JMP .-1 TLS

Since ODT normally leaves the TTY flag in an off (lowered) state, the above coding will

cause the program to loop at the JMP.-1. To avoid this, ODT may be modified to leave

the TTY flag in the raised (on) state when transferring control through either a "go to" or

a "continue" command. This modification is accomplished by changing location XCONT-3

(normally at 7341) to a NOP (7000). To make the actual change, load ODT as usual.

Open reg ister XCONT -3 and modify it as follows:

7341/6042 7000 ) (1341/6042 7000 ) for low version)

b. Current Location

The address of the current register or last register examined is remembered by ODT and

remains the same, even after the commands G, C, B, T, E, and P. This location may be

opened for inspection merely by typing /.

7

Page 10: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

DEC-08-COCO-D

c. Programs Written in ODT Commands

ODT will also correctly read tapes prepared off-line (e.g., a tape punched with

1021/1157t 7775 will cause location 1021 to be opened and changed to 1157; then the

memory reference address 157 will be opened and changed to 7775 (-3). This procedure

will work with breakpoints, continues, punch commands, etc. Thus, debugging programs

may be read into ODT to execute the program, list registers of interest, modify locations,

etc.

d. Binary Tape from High Speed Punch

It is possible to obtain a binary tape from the high speed punch, instead of the Teletype,

however, this requires switch manipulation. Proceed as follows:

1. Type the punch command XXXXi yyyyP as explained in section 4.2 (n). The

computer will halt.

2. Set 7231 (1231 for low version) in the SWITCH REGISTER (SR) and press LOAD

ADDRESS.

3. Set 6026 in the SR and press DEPOSIT.

4. Set 6021 in the SR and press DEPOSIT.

5. Set 7225 (1225 for low version) in the SR and press LOAD ADDRESS and START

on the console, and leader (code 200) will be output.

6. When a sufficient length of leader has been produced, press STOP on the console.

7. Set 7203 (1203 for low version) in the SR and press LOAD ADDRESS and START

on the console, and the section of core specified in the punch command will be

output.

8. If another block of data is desired on the same tape, the original contents of the

locations changed in steps 3, 4 and 5 must be replaced. (See step 11.) Steps 1, 2,

3, 4, and 8 must then be repeated to output the data block via the high speed punch.

9. Set 7222 (1222 for low version) in the SR and press LOAD ADDRESS and START

on the console, and the accumulated checksum will be punched followed by trailer

(code 200).

10. When a sufficient amount of trailer has been produced, press STOP on the console

and press the TAPE FEED button, then remove the tape from the punch.

8

Page 11: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

DEC-08-COCO-D

11. To continue using ODT, the locations changed in steps 3 and 4 must be

restored as follows:

Set 7231 (1231 for low version) in the SR and press LOAD ADDRESS.

Set 6046 in the SR and press DEPOSIT.

Set 6041 in the SR and press DEPOSIT .

12. Set the starting address (7000 or 1000) in the SR and press LOAD ADDRESS and

START on the console, and ODT is ready to go again.

e. Interrupt Program Debugging

ODT executes an IOF when a breakpoint is encountered. (It does not do this when more

iterations remain in an x-continue command.) This is done so that an interrupt will not

occur when ODT types out the breakpoint information. It thus protects itself against

spurious interrupts and may be used safely in debugging programs that turn on the interrupt

mode.

However, the user must remember that there is no way in which ODT could know whether

the interrupt was on when the breakpoint was encountered, and hence it does not turn on

the interrupt when transferring control back to the program after receiving a "go" or a

"continue" command.

f. Octal Dump

By setting the search mask to zero and typing W, all locations between the search I im its

will be printed on the Teletype.

g. Indirect References

When an indirect memory reference instruction is encountered, the actual address may be

opened by typing t and 4-- •

4.4 Errors

The only legal inputs are control characters and octal digits. Any other character will cause

the character or line to be ignored and a question mark to be typed out by ODT. Typing G alone is an

error. It must be preceded by an address to which control will be transferred. This will elicit no question

mark also if not preceded by an address, but will cause control be transferred to location O.

Typing any punch command with the punch ON is an error and will cause ASCII characters

to be punched on the binary tape. This means the tape cannot be loaded and run properly.

9

Page 12: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

DEC-08-COCO-D

4.5 Miscellaneous

If a trap set by ODT is not encountered by the user's program, the breaktrap instruction wi II

not be removed. ODT can now be used to debug programs using floating point, since the intercom

register is now register 0004, and since breaktraps may now be set on a JMS with arguments following.

This version of ODT will operate on a Teletype with an ALT mode key or an ESCAPE key. To restart

ODTwithoutclearing the checksum, set the SWITCH REGISTER to the value of start + 1 (7001 or 1001

in I ibrary versions) and press LOAD ADDRESS and START on the console. The high speed punch may be

used by patching three locations after typing the punch command. (See section 4.3 d.)

5 DETAILS OF OPERATION AND STORAGE

5.1 Features

ODT features include register examination and modification; binary punchouts (to the Teletype

or high speed punch) of user designated blocks of memory; octal core dumps to the Teletype using the

word search mechanism, as in DDT; and instruction breakpoints to return control to ODT (breakpoints).

ODT makes no use of the program interrupt facility and will not operate outside of the core memory

bank in which it is residing.

The breakpoint is one of ODT's most useful features. When debugging a program, it is often

desirable to allow the program to run normally up to a predetermined point, at which the programmer may

examine and possibly modify the contents of the accumulator (AC), the Link (L), or various instruction

or storage registers within his program, depending on the results he finds. To accomplish this, ODT

acts as a monitor to the user program. The user decides how far he wishes the program to run and ODT

inserts an instruction in the user's program which, when encountered, causes control to transfer back to

ODT. ODT immediately preserves in designated storage registers, the contents of the AC and L at the

break. It then prints out the location at which the break occurred, as well as the contents of the AC at

that point. ODT will then allow examination and modification of any register of the user's program (or

those registers storing the AC and L). The user may also move the breakpoint, and request that ODT

continue running his program. This will cause ODT to restore the AC and L, execute the trapped in­

struction and continue in the user's program until the breakpoint is again encountered or the program

terminated normally.

5.2 Storage

ODT requires 600 (octal) locations and, as distributed by the Program Library, resides in

memory between 7000 and 7577 (or 1000 and 1577 for the low version). It is, however, page re locatable.

10

Page 13: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

DEC-08-COCO-D

The source tape can be re-origined to the start of any memory page except page 0 and assembled to

reside in the three pages following that location, assuming they are all in the same memory bank. ODT

also uses location 4 on page 0 as an intercom register between itself and the user's program when executing

a breaktrap. If the user wishes to change the location of the intercom register, he may do so by changing

the value of Z PAT in the source and reassembl ing. The intercom reg i ster must rema in on page O.

6

7

8

nnnn/

/

RE STRICTION S

a. ODT wi II not operate outside of the memory bank in wh ich it is located.

b. It must beg in at the start of a memory page (other than page 0) and must be com­

pletely contained in one memory bank.

c. It will not turn on the program interrupt, since it has no way of knowing if the user's

program is using the interrupt. It does, however, turn off the interrupt when a break­

point is encountered, to prevent spurious interrupts. (See 4.3 (e).)

d. The user's program must not use or reference any core locations occupied or used by

ODT, and v ice versa.

e. Register ZPAT is used as an intercom register by ODT when executing a breakpoint.

In library distributed versions ZPAT = 0004. This register must be left free by the user

since it is filled with an address within ODT which is used to transfer control between

user program and ODT.

f. Breakpoints are fully invisible to "open register" commands; however, breakpoints may

not be placed in locations which the user program will modify in the course of execution

or the breakpoint will be destroyed.

REFERENCES

a. See DDT Programming Manual (Digital-8-4-S) for a full explanation of the use of

debugging programs.

b. Binary Loader (Dig ital-8-2-U).

COMMAND SUMMARY

Open register designated by the octal number nnnn. Reopen latest

opened reg i ster •

Reopen latest opened reg ister.

Carriage Return () ) Close previously opened register.

11

Page 14: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

Line Feed P)

Up Arrow (I)

Back Arrow (4-)

Illegal character

nnnnG

nnnnB

B

A

C

nnnnC

M

(line feed)

(line feed)

nnnnW

T

nnnn;mmmmP

E

DEC-08-COCO-D

Close register and open the next sequential one for modification.

Close register, take contents of that register as a memory reference

and open it.

Close register open indirectly.

Current I ine typed by user is ignored, ODT types"? CR LF".

Transfer program control to location nnnn.

Establ ish a breakpoint at location nnnn.

Remove the breakpoint.

Open for modification the register in which the contents of AC were

stored when the breakpoint was encountered.

Proceed from a breakpoint.

Continue from a breakpoint and iterate past the breakpoint nnnn times

before interrupting the user's program at the breakpoint location.

Open the search mask.

Open lower search I im it.

Open upper search I im it.

Search the portion of core as defined by the upper and lower I im its

for the octal value nnnn.

Punch leader.

Punch a binary core image defined by the I im its nnnn and mmmm.

Punch checksum and trailer.

9 EXAMPLES AND/OR APPLICATIONS

(CR)

(LF)

(H)

(Cont)

(PON)

Symbols for representing "invisible" Teletype actions:

==

==

Carriage Return

Line Feed

Computer Halts

Key Continue on Console

Punch On

12

Page 15: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

(POF)

(LEAD)

(BIN)

(CKSMT)

D EC-OB-C OC O-D

Punch Off

Production of Leader

Punching of Binary Text

Punching of Checksum and Trailer

The following examples are the actual result of using ODT to run the program I isted after the

examples. Brackets enclose comments local to the description. Underl inings designate that produced

by ODT.

043 7 0444 845'01 J455 ;>455

(LF)

i'i7ry;;) 7777 (LF)(CR) 7~/J43,>' 3S,0\U)(CR) 7474 /C5.~;1(CR)(LF) 72:;; J v.; (C R)(LF) 3364 172.j2(CR)(LF) (LF)

[mask modifiedl [ lower search limit modified1 I upper search limit modified1 [quantity for which to search specified and

search begun]

[search completed]

[change mask J [change lower I im it] [upper limit is all right] [search for all CLA instructions] [there is on Iy one. It is at location 364] [search is finished]

13

[set mask for indirect and page bits] [using previous limits search for all references

to page zero wh ich occu~

[there are none, however, these microinstructions look like indirect references to page zero since they have a 1 in bit 3 and a % in bit 4J

[search completedJ

Page 16: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

M060't'J 2) (LF)(CR) 7473 n360 4;:n(LF)(CR) 7474 105021 427 (CR)(LF) W (CR)(LF) C'1407 1127~CR)(LF) 04Ii1/1272(CR)(LF) 0411 17 450(CR)(LF) 0412 15253 (CR)(LF) 0413/1273(CR)(LF) 041417450(CR)(LF)

~~: ~ ~~~~~~~~~~t~~ 0417 17450kR)~LF) (3420/5227(CR)(LF) :142 I I7Z01 (CR)(Lr) 7;422 1765~~(CR)(LF) 2423 15242(CR)(LFt 7424 1127 4(CR)(LF) .7425 1457I tCR)lLF) (? 42 6 1523" R){ F) Cj427 1127S(CR)(LF) (LF)

DEC-OB-COCO-D

[set mask to zero so that everything will match]

[set search I im its to encompass dump area]

[since W is typed alone, the word searched for, is ~L The result after masking each register with % is, of course, % so all comparisons appear to the program equal and hence all unmasked contents are typed, constituting a dump]

Examples of Register Examination 8, Modification

400/6046 (CR)(LF) 400/~ 2463? (CR)(LF) 400/6046 12345?(CR)(LF) 16214~45 (CR)(LFr­IZ34) 6046 (CR)(tF) ~ 401/60312346 (CR)(LF) 4~Ql46 40T72346 (CR)(LF, 12346 6213 dCR)(LF) -16031 -

4J0/6046 (LF)(CR) 0401 7""6031 1234 (LF)(CR) 0402 15201 (CR)(LFL -4011123 Zj 6031 (tFJtCR) 0402----"752 0 I (CR)( LF)-(LF)(CR) -04 2lS-1 603 5 (CR)(LF) (LF}(CR) -040413270 (CR)(LF)

14

[E xamine Only] [Non-octal number typed, modification ignored J [More than 4 digits typed, modification ignored] [Register 400 modified to 23451 [Modified again] [Register closed by typing another command J

[close and examine next J [modify 401, examine 4021 [close 402]

Page 17: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

DEC-08-caCO-D

Examples of Register Examination & Modification (continued)

404/3270 t(CR)(LF) 047070212 0000 (CR)(LF) 40473270 t (CR)(LF) -0470~0 (CR)(tf) /0000 (CR)(LF) 404/3270 3271t (CR)(LF) 04 71103""60(C R)(l:F) 404/3271 32701'\CR)(LF) 0470 /0000 (CR)(LF)

365/5760 l' (CR)(LF) 036070426 ;:::(CR)(LF) 0426 /5201 (CR)(LF)

4: ?(CR)(LF) 4U?(CR)(LF) 6Q ?(CR)(LF) 421674671 Y? (CR)~LF~ 40 S/""2i1)"T1 S 7K? ( R) LF) 406/4671 67322? (CR)(LF) /4671--

[contents of 404 refers to "this page, loc. 70"j [aDT opens 470. User modifies 470J

[contents of 404 mod ified to refer to "th is page [ODT opens 471] loc. 71"J

[contents of 365 refers to "th is page, loc. 160"] [aDT opens 360. Contents of 360 become [aDT opens 426J address1

} ;lle9al chacocte<. ODT open, no .e9;,te,

] illegal character. ODT ignores modification fifth digit in series. ODT ignores modification register 406 still contains original value of 4671

Examples of setting Breakpoints and Executing User's Program

475/0000 1 (LF)(CR) 047670000 2 (ITnCR) 21477 /0000 (CR)(LFj 4328 (CR)(LF) 400G (CR)(LF) +0432 (C0JJ (CR)(LF) 477 /0003

Registers can be changed and the same breakpoint remains in effect.

475/0001 3 (LF)(CR) 04 76i"1TIJ02 (CR)(L~ 4:30G (CR)(LF) *0432 <0000 (CR)(LF) 477/02(16 (CR)(LF)

15

[user's program expects to find the numbers it is to use in 475 and 476 (see listing) answer wi II be stored in 477

(Breakpoint is set at location 432) [user's program begins at 400, go there] [user's program accpts input of "+". Breakpoint [477 contains sum of 475 8 476] encountered

UDT types break address 8- C(AC)1

Page 18: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

DEC-08-COCO-D

Examples of examining and modifying AC and L after encountering a breakpoint

A000el 1 (CR)(LF) A2mrr{CR}(LF)-

(EF1f2R){CR)(IF)

7356 10001 10 (CR)(LF) 10000 (CR){LF)

4468 (CR){LF) 400G (CR)(LF) *0446 <6004(CR)(LF) c (CR)(LF 0446 (0010 (CR)(LF) Cel (CR)(LF) 0446 (0014 (CR)(LF)

476/0003 7 10007 4468 400G *0445 (00214 2C 0446 (0020 C 0446 (0024

LAC which contained % when breakpoint was encountered is modified]

[Link which contained 1 at break is modified to %)

16

[Destroys old breakpoint & sets one at 446]

(Breakpoint encountered) [continue until ••• ] [Breakpoint again encountered]

[Breakpoint encountered) (Continue as before but pass Breakpoint twice

before stopping again]

Page 19: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

10. LISTING DEC-OB-COCO-D j.1Alit. 1

Il(IiQitJ :'1 1oIr(1=/1(I1l1r:1 o.JiGJl(J<; tl'"/oII='+

lIr1i~ ~ ~ A ")-I'"AI.>t.., '+PI.,

1I'"/oI~t..Wl~~;Ht.LU~ATA~~t..,

IJI,,!AL.. U~I:lU~l>~Nl> ~Y:;'It.IYI \,;AL~t..U

1***UUI""ts***

II(JIO~ *:;,IAHI

IUil:/1O ")0/' Ul,.A ! (;":'A~ /1"L.t.AH THt. l;Ht.~K~UM! /rJic'J1 v.J1(J11O I'"l~, 110 /AHP1THAt'<Y ~UI\i:'TANT

1 '.:.Jut:. ",.,);;1 Ht./oIL,), JI"I~ r.;KL~ /t.Nu '-lNt..; ~t.T :sHUT TV "'1 l!Viiij :..0/.5 TAU ! I i\i X IIH~U lo:]liJ4 .,).,)01 UI.,iA WUHU II.>t..T 1 HI;,. THAI" AUUH[~::i~ IlOiO? lO/" TAU 1 11'l1O /r\t..t.~

IIWIoQO ")/01 UI"A 1 WUKU /Kt..:;,TUHt. \,;UNTt.NT, 1'o.J'iJ1 ")\)01 I'<t.AU;;, UIJA wUH\J /l"l.t.AH THt, ",""'UT, !ITH 1 N~! • 11tJ11£) l~o.,) T/oIU ~M' I'" 11tJ.l.1 \).,)/4 UI".A TUn 1~t.T THI;. Lot. TH.H t;UUI'IIT , IliJl~ 010")1 Ht.A, K~~

/101") '~1t:. JMI-' ,"'1 /wA,T ~Ul'( l.iUMMANU. /1O..i. 4 °10 .,) 0 KKt-l IU.I.? ")")')1 UI.,iA ~IJHAH

/"'10 1.,),1 TAU ~\"iHAK !~U TH't. fHt, IJHAIo(ACTt.K. 1'iI.l.7 "lit:. JM::i 1 11'l'1 11IJ.::;1t' 1.,) f.j TAU H t. Hoi nN4TA Al..ltt. THt.. filA'fI,;H IIcJC::l .,)lOiGJ4I !JL..A tl"AT /t.Vt,.to<Y T1Mt., 1'1)"'2- ;J.t:.41j TAU t-ll..l::iT Il<UMI"UH. AUUt'<t.::iS UF l,;UMMANO, /'IJ.::;j .,).,)"'.,) U\.A ::iI"'NTI'( II{J "''' :"Ii . .,) TAU I ~I"I\i I K /:;,t..AHI,;H " UI'( l"t. '-' AI. (;HAHAI,;Tt,H, IVJC::' C::.5C:.,) l~t ~I"NTH ll'Jd) 1'110 ~M~/IO, ~"'A 11t.~T ~UI'( t..1'li,.J U~ ,-'::iTi M'I'lU~ ~ 1 '{)~ 1 ")~ 1/ 1,11,.1 t.:;, 1 I JI'1P ~t.X II\jUT :>AT!!>~ ,t.u. /10.,)1£) IloQ'Il (';~A !\'-UMI"AHt. THt. (;HAHACTt.H, /10")1 l.,)?1 T~U ~I..HAH 1'C\)e. 10<;10 ~'''~'+101 StA r.;~A I~UI"INU 11tJ.,).!:J ')~"''1 JM~ ." , II\IU, \,iONl,NUt:. 110.,)'1 .I.~e:.,) TI'IU ~"'NTto< 110'" .i.~'1t:. T~U L.fAtll,. I~.,)O "~i:::.5 UI.iA ~"'NTH 1'/),,)/ l/",") T~U , ~PN1H l\..uuK UtJ TMI;. AUU~t.S;), IIc.J'IIQ ")"t:.") UI.iA ::il"'NTH n:l<;l ')/i:::.,) JMI"l 1 ::iI"'NfK II.>U I"HU\,;t,:'::i,

110<;" r.i' 1 'I l.11oIt;~, TAtjL.e.~TAtjl..J.-:).

1~'1..5 110'14 tj~ PT I TAtjL.l

IU.;r-o wlL.L A~~U L..UKt'<t.I,.TL,Y Kt:.AU !)YM~Ul.l\,; IjAI"t..;) I"'Ht.tJAHI;.U ~ UK ~ , ; t:., '-'. lll1C:1/l1'1'l7/1j

Page 20: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

J.lt!./OO lOIJO,J,1O PAlil;, t:.

I \" \J M M I' 1'1 U 1...1~T

110'+'1 I II tH.l.;o • 1,;;'1'1 ",.)'::10 Jt!.10 It"'UI'II,iH Ik!'" \(j.)IiJ' JIQ, It.NU 1I:J"b 1J~t::4 Jt!.4 II~All..t:.~ 11;)'11 ,,-,t!.l(: I.. ~ , t:J.t!. /Ur't.N NI:..q I k/ :;1 kJ ,,-,t!.l' l-t'(, t!.J.' 1""1..1,1::'1:. TM p) UNI:. 110:;11 .,iC.,1 ~L.A, "t!.:;11 IUr't.N TH1~ UN I;. I 'iF;) t: ~.,)l;)iC JiO"t!. 1 t:lHt, A 1'\ 1'tJ';),j ju.)i(J1 JIOI II.>U 110'4 KJt:.I,j c./J II 1k:J" 10.,) 10 j JIUJ l"UNT~NVt. I V)' b 't.i~t!.1 JI./ /wUI'<U St,AHI,.Ii IItJ'7 1;).).,)0 jJo /uP"'i\Hio<UW UtJl:.l~!) IN(J~~I:.\''T(~,I:., MI:.M H t:.~ ~ 11001J ~.,)l.' ,,1' IMA~I'\·U~r't.~·~U~I;.H· IklOl 1O,jlOl "n IAl,,"'L.4N"-I lOOt!. 10.,).,)1 j,,1 1 t:lA 1.,0 1'\ AHI'<UW :: UP!:;N ~NUPo(£"'TL.Y

I rAt:lI..t, MU::>T t:.1~U W AT M A I'H.I.> IIJUMtH.I'< 1100") 1 I/j ~ 1'1' f ., 11004 l")ol t.l'\ilM, TAU WUHU II...UAU AUUHI:.!:i::> 1100' 1'+'110 StA n~ tl:.io<U, U::>I:. L.AST 11/)00 .:),jllO UI,;A (;ilU 1'1.)0/ :"1I'tJ 1:.)(,,:;, TAU 1 I,; AU I,;)I'C 411l JMS I 11''40 O'NUM I toI~q NT I,;UI'HI:.NT~) 110/1 .,).,)/' UI.iA SHUT l~luNA\..~ UI"t.N ~t:.t. IkJ/t!. ':;/(;10 I JMP HI:.AU'

1'l.J/j 1.,):;11 1 III X, THAI,) IILJ/I.j /.,)010 11'110 , 1<.1:.1:.1-' IIO;') /,jOj \.d,\:;,A, I (;i'\SA ;",/0 /,jo"t!. , I'll , ~'I"(Uu

1i"'''<UI.it.~::> Ut,;TAL, \,Jl\.dT~1

IlOll 1t!.'I.!1O ~t.X, t;I"A 1 lit) 10 :.\..,),1 TAU SI.iHAt< Ili/Jl It!.t:.O TAU ~Mc./1c!I I ~ .. 0 J 11iJc. l'ltJlO l,;1"\'HJM, SMA IllOj ').,)J,I JMI-' NU I~LI.,I:."'A~ i,;HAH Il104 It!. 10 1 TAU PlIO Ilia 11;.;;, 1':.\.'tJ SI"A 111<10 ,,j11 J 1'1 I-' NU I!LL.t.~AI.. ~HA~

1111;11 ~,jt!.j UI,;A SAU Ill~ 1,,)01 TAU W\,IHU /A~::>t:.Mtil..t AN AUI,JHI:.S::' 11.1.l I HI'! HAL (;I,.\.. Ill;:: IIO'/)O HrL, Il.U l~t:.j TAU SAU Ill.'! ,j,jol UI..A WUt<U Ill' t.")/4 pt TUTI:. 1110 ')t!.ll:: JMP H~A

Page 21: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

J.1t:./OO J,OL:JO.ll I-'A('t, .)

I I H't. t.t"(HUI-< IIW!l,.Alut"( If)

Ill7 1t.'iJ1£) i'H) , C\..A Ilt.io:? 11.,1 T~U lJ UI:.. ~ 'I I t.1I 11':;1 '11/t. J f1!:) I IN~ IIYI"'N 11.::t. ::>.:: k:I (; JMI-' I-<t.AU

Ilu V""I:.I~ l"Ul,.AIIVN tt,HUI IJ"'I:.N III/ ANU 'I Y I"' t. L. ! I~ U t. t. 1.1 ,

lint. ioIUUI-<t.S:; U~ THt. !..ioI;)T 1"<t.I.>~Slt:..r(

It:..XAM~Nt.U k t. M A II~ ~ 1Ht. ;)AMt, ANU MAY I::H .. Uf./I:..NI:.\J tlY "I"

Ilt.j ~,.. '\I r 1-<;; ,

Ilt:.j SAU=,

It"(UUl~I\lt:. TU HANUL.t. 1'<1:.1.>, MUUP~(;AqUN ANU ~NI,..Ht:.MI:.N!AL. t:.XAM~NI:. Il,j IIJI{.II{.II£) 1,.;1'(\ .. , 10 IJ. t." 1~/4 TAU lUTt:. 11.::, 11041 c.;.A IliO l.::oj TAU " 11' I'"" 11 t.I 10,1£) SI\IA (;l.A Il~k? 'It.j JMP 1 (,;1-<1. II-'U MUU, ~ Nir U IIVA1LAt;1.1:. 11~1 l~ol TAU WUI-<U 1;1, j" t,j/' l~t SHUT III:.::>T H)H UIo't:.i\1 ANLJ 1 H t. I'll (;l.USI:.. 1 T • Iljj jill£) UI.,.A 1 CAl,) II"1UU~~Y 1"(r,,\,>4SHH n.j4 'I,j Jr-lP 1 C rH.

lJ,j, '1jt.j 1,.;1"<1.1, JMS r,;I1L.. I\,.AKlq A\,> I:. I"<t:.T UI"<I\I 1 () l,;1.. US I:: 11jb 4j,1 JMS (; I'< L. .. 11j7 ';)t:.'iJ1 JMf-' Ht.AU'

1J,41() It.,10 1,.;1'(\..", TAU (,;H /Sjl'lll>L.1:.. ~t,l:..U·(,;1"(

Il41 '1/1t. JMS 1 1 I" '1 11'+" 't,)t.j JMS (;Kl,. 114j '+11'1. J fl:S 1 I''II~ I I I Mt.. ~UH I.,. At-< TU HI:. 1 • 11'1'1 t:.~/1O 1St (;AU I L. II'll t:. ~t:.t:.u '" t:.XAM~N~ I\Il:..XT 11'+' l')/lO U,..AHj, lllU (;AU 11'+0 41/1 Jr'IS 1 11\1 l:! II"NI,IM 11'+7 It.'l TItU SI.A 11'1£) '+1It. J~lS I li\l'1 /IYI"'N 11 ':>l 't.ol JMI-' I:.At.

11'<= 4jt.j u"" 11\1 , JM:S (;I"<\,.. /1.,.l,..I,JSt, " 111 S T Il,j ll/ 10 TAU I (;AU 11'4 j~/1O UliA (;IOU 11" .. ~,I Ui"IIHt:I JMS (,;HV 11'b ',)4' JI'lP Ur'At~~

Page 22: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

'J.I(./OO J,I:QJb I 4' PA()I:, ~

/1";)1 ~I,iH~~;;1

IIYi"'t A (.;~HI I'<I:..TI AI'lL! I..!Nt. ~tl;.U IJ.";)/ IQIO~IQ \., ~ I.. ~ , 10 (1°10 :1",10 TAU CK 1 '::1";) /1 °1 '+ /I (. Jr1~ 1 11'1'" 11YIo'N Ilo~ j.(.,+1 TAU 1.." 1'1' /10.5 '+/I't. JM~ ! , I~ )I IIYt"N It04 110'+10 (.;r1A IM11~U:;' U 1\Jt,. Ilo~ ,j,j(~ Ul,;A SHUT I~ 1 ~1\Jlo\l.:' \"I..U~t:,u Io<t..GlSrt..H 1100 ,1,1 J 1'\ fJ 1 l,;HI..~

11'" A ~ t. UNt.. fJAHAMt.l t.I'(~, /101 1LilOIO\O WUI'<U, 10 1111Q o:,~k:i1O I,,;AiJ, 10 II,.Ui<to(t..NT AUUIo<t:,::,S 11/1 1"'+0 1 !~ 0, ~I~UM

/1 U. I('JIO 1 i\j'l , T Y r' r~ Il/j I('''J to< t. 1 1'1 I I:jIJHioJ 11/4 iOlOiOlO 11.111:.., 10 Il/~ 1711 ~HUT, 7/11

(1/0 l,jQI "'UN"" TAU WUHu /11/ ,jo/O Ul,;A 1 1 N I

Page 23: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

1t.'t.J'i. 101Glt. It.l(ij l~ot.

1t.1(i4 "I I o!:) lc.iO~ IiJl.:J\c)

/(.'1)0 lloe. /t.'iJ/ 'I/O!:) 1t.J.1O 1"11 It.l'i. 1t.1J 1;::14 1t.J.!:) 1t.10 It.ll 1'dt.1O

I;::t.l It.t:.'i. 1c.t.J 1;::t.4

10101010 l~o'i.

(10'11

llo'l 10!:)10 ')/01 ,,",oe. :>t.lOb :>(01

1010" l~o,j

'1/0~

lOliJliJlI'J

It!.t:.!:) ;i.t. 11 Ii!.t.o '!t.~10

I t.t:. I !:)"t.!:)

("~IO kJ'IJ'I)'I)

Ie.Jl 0'1)'10

Ie.J't. 01iJ"+1 1e.~J !:)t.Jt. (e.J4 10'1)10 It.J:> ,OJIO

~~lll' 111 JMP II\jl~

1 !" U I ... l,; n U A T A I

~U"J., t;L,A HLT TAU r HUv .m~ 1 11'UJ.

~ IJ .\j t. , lkJlO TAU JM~

10

HWlI

1 N lJ.

TOIU rHUlI ClA T Io\U 1 ll'U ~ ~I~A t;I..A JMP I Iln~

l~t FHUv J 11 P P IJ N t. ..IMP 1 1 Nl.)

I P IJ I'H'; n t. N U • r'U\j~, CLA H~T

TAU (;"~A

"H1 S 1 1 I ... II 10

I ~ U I'" ~ n ~ l:. ;.\U t. ri , PUN'l, TAU ~~'t.iOlO

JMS T H'N JM!-' ... 't.

o P'(~T ~I\j THl::' pAlIl:. IHt:.AI,);:>

I~UNN (PUN~H ~UNT~NI~)

/1'(t:.AU::>

I I V U;)l:. THl:. H ~ l:oH :'Pt.t.u "'UI~L:ti I

IIY!"!:. ""X;YYP" THt,I\j TUl>v!,.t. 4N I I tit. ~A1CHt:.;) INU1~AIt:.U ~t:.~UW,

11~t.N ~UAU AUUHt:.S~ ANU ~TAH1:

IPUN'! - ~UH Lt.AUt:.H-1HA~~t:.H,

IPUN1~1 ~ rUM I,)Io\TA IPIJNJ~l ; rUM CHt:.L:"~UM ANu ~l:.AUt:.HI

IHt.~Tul'(t. r'ATc.;Hl:.::' ~t.~UHt. Ht:.~TAHT'NlIl IHt.~T~HT AT STAHl Tu ~~t.AH ~Ht.C"UM,

IHt.~rAI'(T AT SlAHT+A TU Hl:.IAIN LHt:.~"SUMI

IIYI"I:. A CHAHAL:Tt:.H T Y .... I'" I VJ

TL,~ 1\010,,0) - ruH H,::', T~r I\O~~~) - ;UH H!~!

Ji4P /-1 ~P/OlOiO, 70VJIO I~L~-vHUUr'"

JI1P 1 T H'N

Page 24: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

I~.)b j"lb't 1"-:;7 1"::>10 1('110 j",')Ob

/<::'+1 .:;,';::>1 U'it! ::>,')~IO

I~"S ,'),';:>::> 1~'+4 1101O't 1~'1' .:;,';::>0

I~"O :1,,';010 I~'+I ':;/::>1

1<::::>10 11101 I~:>l J,,';::>I Ic::>t! ,'),';01

N.::>S J,,')01O 1~::>4 ',i,,')/C:

I"-::>~ '1)(/1 I~:>O 100'1) 1 C)/ ::>~o,

1(010 'I,')c:<:: I~ol 10,kJ I~OC: ,c:ol IC:OS :1,,';010 I~o't ::>,')100

I~o' .,'):>1 I~O/:) 1O~,')'t

1"-0, ,'),';0<::

1"/10 .l.,';OkJ

/C./l IO~IOIO

1 C,I ~ 1,')0<:: /<::/S ,'),';b(

1<::/4 1,")010 It''') 10,')1,')

Ic:/b 10,10

I" 17 ',")i(l(

1,)1010 l/b( 1.)"'1 ,"),")o(

1~~HrUM~S AUU~UI jNI~MU~T TyHNtU U~F U~UN HITTING ~HtAK~UINTI CAN U~t

IHI S~~~U PUN~H. ~Ht~~~UINT ~~N ~t ~UT UN A JMS fULLO~tu ~y AH~UMtNTS. IU~I·O IS HtLU~'TA~~tl I~ ~HtAKPUINT ~UT UN IN5TR RtFtHtN~IN~ AUTU~IN6tX II~uIHt~T~Y, IT ~IL~ ~L INLHtMtN1tu UN CONTINU~' ~INK 6 A~ tXAMINt UN I~UMM~NUI I U~tNS ~~I~~T UPtNtU Ht~ISTt~1 C~AH'TYI AU1U LtAUtH/THAI~tHI IU"'t.N Mt.M., Ht~,\'J, ~1~Li U,...tN INUIHtl,;T '.~A\.iK AHHUWII A~SU XXX~,

ISLr H ~Ht.,AI'I

1 H ~~, TIIU SI~A

TAU Ul,iA Ji1P

IIHt. IM~P ! ~

tlUi'(~, U("A HAl. Ul.iA

TAU Ul.iA

IA~

TAU Ul,iA

TAU TAU AI~U

StA Jf1P JMS SNA .,IMP TAU .,IMP

l,.UMr'AI>, TIIU AI~U

U("A

TIIU ANU TAU Ul.iA

TAU ANU SIOA .,IMP TIIU U~A

~UPH,

I INlk:!

II~ 1" THALl Sf"U\ I T

;;'PMUI~\,J

S~C

LI N'"

Kt.t~

I TH~U

(,;\.1. THAU (;~Mt.

Ktt~

Sr'''-I(J 10 10 Si""-I(JIO SI~1. "LA CUHf"A\,J T;;,TJM;;, C\'A C;UH""A~"" Kt.t:."" LIP't

TMAU S"'/OIOI(J ~HUl>

Kt.t:."" S""ll1 ~HO\,J

H<Ul>

Kt.t.~

S ""''111) 10 l.a.A I.IP I ~HU\,J

~ HU\,J

I \;H~~ If HAP St.1 IHtAL OH UUMMY' I\,JU Tu St~UNU ""A(;t. tXIT,

I;;'AVt:. (';UNrl~UATION AUUM~S;;, 1~~tAK AUU~+~)

I~I~'" UP T~AP~tu IN~THU~TION

IUVt~~Luw TU ~I~K I~ JUT UH O~t~AI~ IN~TH, IA(;=IO II- r'A~t I(J t-/t.ft.HtN~t

IWA;;' T~Ar'~tU AN~TH AN IUT,OP~H,""A\,Jt:. ~ H~ft.HtN~~1 II~U

IYt~, St.t H 11 ~AS A JM::i

IYt~, T~t.AT AS P NUN"PA(;t.-ttHU Ht.~lfo(I;.N(;1i:

INU, ~UT A(;TUAL INST~ IN PTHi P ~UH tXt(;UTjUN

1\,Jt:.T HtLATIVt. AUU~ ~t~t:.NiNCt.U ~Y lHAi"P~U IN~TN,

/AUU UN Tul-' O~ PAul:. I;;'AVI:. A~~U~UIt. AUUR!:.S;;' Uf MtMUHY Ht~I:.HtNCt

liS IT AN INUIHi;.CT Ht:.~I:.MENCt.i

IIW IYt;;" (;t.1 A~TUA\. NI:.~t.Ht:.NCt

Page 25: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

I~"~ l~iO~ l.jiOil l.j~!:)

l.jiOb 1.j1;J7 I~l~

I~l~

1.)13 l.jl'l

I~l" I~lo

13J./

.. ~"e:: 1",10 "/11 l~1I

.,)~'l ,,/0" '~'I'I

l~" '1/110 l"/O '1('~1O

l.~"" '11110

'1/00 "01

I~(.~ ~lOiOlO

l.j(.~ 1~01O

1~(''1 10.)/'1 I~(." J,3/"

13(.0 :;l/ ""

13d l/04 13,)10 ~301

1~.)1 l~,e::

133e:: ~,)'1

1333 33'" 13.)4 1~3!:)

1330 1337 13'1iO

134" 13'1" I~"o I~"/ 1,),iO

I~'l 13'<:: 13,.j 1.j''1

'''110 lIb" /10 .. 10 .,)/0"

"/00

13/0 31" J,3,0 Ill" l3" 1 'HI e:: :>/01 0::301

",)""

1.,1"'1,

JI~~ T~T,JM::'

~NA

JM~ 1 I N.el. TAU p ~UI"

U\iA THt:. I::,t I INJ..i. JMiJ X\iUNl

TAU JM!:i TI<U JM!:i TAU JM~

TKAu I lln'l LI'AK TYiJN !:iAl; I INl't

::'i"t.IIII' JM~ JMf'

I::' I ,JM::I, 10 TAU Kt.t:. ... ANU Sl'/iOiO>IJ TAU !:i ... 41OIOiO

JMiJ I T~T.JM~

'::'IAKI AT A LUl;AljUN JUMr', TAU I 11'0110

UI.;A (;AMt. TAU JI'II>AM UI,;A THt:. Ul,;A ~At,;

~KiJ

IYt.::', IT l~ A .JMS (JM~tr<1

INU IJM~ , ~RUbl ,JM~ AUU!:i ~At,;K .101010 I::'TU~t:. fUr< tXt\iUTIUN Ilt~T Ne\iUNTINUt:. 'jl"NUKt lHI~ ~"t:.AK

'I'NUM I~K'NT T~AP AUUKt:.::'SI /~t:.~T iJAKtN I~ ~IT!:i=~'IO=A~l,;11 Lf r iJARt:.NI

II'NUM

II.KI.~

IMtAU.,

lI>tl T~AI''''tU INSTM, n~UI.Al't:. UiJ l;UUt IUVt.~~LU~ lU LINK WITH Ae=1O l~ .JM~ ,'1101010)

I\~UMU'

/\JMiJ I I>AMtl

~U~rIN, TAU 11'0110 /\WU~U'

eMA U\iA IN1J. 1\"'UNNl~t.MiJ \iUUNT~RI Jf1S I N1(. / I t,;MI.~ )

Ii"Ar\in THt. Nt:.IIT LU~ATIUN ~jTH NUi"\/lOlOlOl Il~ Tnt. f'MUI>HAM ~t.INI> ut.~UI"I>t.U t.X"'tt,;T~

IIHt. I If ~LA(; TU ~t. U"" T\iF /~I.t.AK THt. ~I.AI> TAU I THAu I~AVt. THA", t,;UNltNTS. U"A Kt.t. ...

X";UI~T I TAU ~AII

U\iA I THAU TI<U I.'NK HAK t,;I.L TI<U !:iAt,;

I Ht., HI. T .JI"II>AI~, JMf' 1 liAMt.

l::It I"AMt. JMf' ,""

IKt~TUKt. 1..11'0" /ANU \itA'" IUUT t.Xt.\iUTIUN U~ THA ...... ~U INST. A~Tt.H PRO\it:.t.U

Page 26: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

.Ie-/OO ,l.O!,)O,;I.:;' PAljl;. Q

IVAr<£l4t:1l".t.~ MAY en. ~ '" 14 I'll I'H;. U n A ., A" I

/,j'.J':> 1Q1{Jj()!O ;:'A~, 10 IA'¥ l,j?b O()I{JO()lCJ (.,,\11\, 10 II".~N" cp 1,j';)7 Il:;,/ Ir<AI,J, (;I'(L.~ IA~LJI'(t.;;);:, U~ TI'(AI-'. /JblO 1iJ1{J1()1O "t.t:."" iO I ~ U I'i r t.1~ T V~ TI'(Af.' l,joJ, IGJlCJiOlO 1.1 AI" t:. , 10 I AUUr<t.,;;);:, ~ UI'( l,.url/T A NUt.. l,jo~ 0111 ~r(IJ"" ~TAHT"'l IMt:.Ml,Jl'(l Ht:.~I;.Ht:.N\.it.., l,jo,j ij)1Oj()1O I,.;I\;:,A/ 10 IlHI:. \,o"t,(';I\~UM TU UAn.

I ~'Jl u< I,..UM 1'(1:.l>!:i. I,j04 /10/ ll~ 110 , ,",UloIiJ I,jO':> 1'Il{Jl llU J., "'UNI~ l,jo~ n..';) / 1,HC::: , Cr<L.~ 1,jt;7 1j()j()1 ll'll.), I'(t.Ai.J~

/,j/'tJ 1'1'10 PH'I/ PI'JUM f,j /1 /'11':> ! I'll C J. , JM!:it.H II"'HU(,;t,!:i!:i JM!:i,

I I" U I'll ~ I MIlT ;:, /,j!'l. .;llJkllO ;:'l"'clOlOlI;I, ~IOIOIO

IJ/J 10'11010 ~1"''IkllOl 41\110 1,j/4 II{JIG/I{J ;:'!'iIIOIOIG/, /IOIOIG! /J!':> 'I1{Jj()'i) ;'1"''IIrJIOICi, 41G!101tl IJ/b ';)'I1G!4 tjA!r, JMP 1 ti"A'1 I JI7 'I/oe. H r(1"I1., .. JM!:i , ~·r<Ul.

Page 27: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

).1t:.100 ).OI.Hl.lO ,",Al"I;. ..,

/<JI,.J 1 .. 0 I THlt'<U {,;Ut'<t. I"'/o\uc. ,

l'+lGIlO *;}I/o\t'(I+'t1/J1/:I

1 I"'UI~{,;1'1 t'<UUT~Nt.

IloIlIIlll '1.;1/1 11"'11/. 111 1 ~ ! t'<::> I IN Trq ::> I"'AI,Jt.

1(.I~1 ~IGIIIJIO I"' U ;\lI~ , I/J I"Jo:;~ .)~I.tO Ul..A PNUM 1'+10.5 :1,':,+0 TAU PI~UM

1'+10'+ /101" HTH 1'+10::> 11O,j." HTH 1l+lGlo 11()1" HTH 14'1)1 10",,+ AI'W TI"' /I l'+ll/J 101111 TAoIU 1 PVI"I~ /'+ll '+t:.~O JM::i {,;"~M I'+J.(; l':'+O TAU PI'wr1 /'+1.5 1O~:-4 AI~U T'r' /I /'+1'1 '+.:~O JM::i l,:IIISM I'+J.~ ~Ol'n JMP 1 'r'UI"JIIj

IMc.MUr<Y Rt.~I:.Ht.Nl,..t U I"' t. 1\1 1:.1'< I

1,+,0 4/,+" Ur'At'<l' JMS l IN..)IO 1\{,;t'(l.)"I!I"L.U~t;.H (,; A l. L II • .j,

1'+11 II '+l TAU I INt:./ /l,..AI.I 1'+'::10 .5'!~0 DI,;A Tt.M I'+el 10~o TAU 1 Tt.M 14t:.'t. ~tlOlO 1i""IOIO ' AI'iU H'lll I'+,(J ..)t:.itJl Ul,..A Tt.Mt:. /::>AVt. LUWU< t:l 1 1 ::; t

14,4 10~0 TAU I Tt.M 14,':) 1(.1':'':'': ANU TI"'t.101O I'+t:.o 10,10 SI"A G~A /11:.:>T ~Ut'( ..,Al"t. tI:. H U HU 1 (.It::. 7 ~t:.~t. JMP 1+") IY 1:.:> 1'+,,)10 :1,/'+1 TAU L lI'oj':' 1 /'+..)1 iCJ':'Ob AI'W Ti"/olGllGI I'+..)'t. It:.101 T.IIU Tt.Mt:. 1'+~.5 .5/'+1 Ul.A I 11\1':' 1 / ..... AI,,)

1'+,,)4 ~0.5:> JMI-' 1 • "1 1'+..)' Il::>~ UI"'AH':'

/\,oHt.(,;1'\ ~UM Al,:l,..UMUl..ATUr< 1'+,,)0 1GI101O1O L,1'\::lM, II)

14..)7 .5t./:> U\,.A l,:I'\T I'+'+I/J l/'+O TAU 1 I f~ t:.1GI 1\,.1\:>101 1'+'+1 l':'/:> TAU GIIIT 1'+'+':' .5/40 Ui,iA 1 IN.:.1(.I /\,.111::>1\ I'+'+(J 1.:./::> TAU l,:I'\T 1'+'+4 4/'+::> JMS 1 INl'1 II H'I" I'+'+~ ,0.50 JMP 1 {,; III ~ 1'1

Page 28: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

J./~/OC l.bl")O,.O I-'AGt. J,IO

IKI,JUT FH. TU Pr<II\ll u\.. 1 IH. {.;uNlt,NT~ U~ A{.; 1'I'Ib 10:1101(110 ~ I~ U M , Ie' 1'1'11 ~C:::~l U\"A PUNI\I 1'1,;),<) ;i."';)~ HU TM'I /'I:::>l ..)C:::~b UI"dl (,;I\~M

,'+:::>c. .i.a)l TAIU ~VNI\I /'1:::>j IIQIO'I HAL 1'1';)'1 IIQI(I'I i"' i~ t. , HAL 1'1:::>';) llal(lb HTI.. 1'I:::>b .,>C:::iOl UI,,;A PVNI'4 1'+;>1 .i.C:::iOl TAU p.lUNI\I 1'1010 ';..)';)l ANU TPIOk'J1 IUNI,.Y I",UPJP~ uUAIo<ANrl:.~U, l'IOl ,I...)';)';) TAU H'bltl nN l,.A~t;, t;SH ~ I,;AMt THliUU\.>H, I'IO~ '1/'1';) JMS 1 1 1\1 1, '1 IIY!"!\! I'loj .lc::: iO 1 HU f.lUNII/ 1'104 C:::C:::~b !;:,t (,;I\~M

1'10';) ,;)C:::';)'1 JMI" 1"1\1<:: l'Icb 1/)1010 lr'/olO~, ItJlOl(.i I "!.. A "'I.JIiUUI-''' 1'107 :I."..)l TAU rfo'~'1IQ

I'I/'(J ,,+1'1';) JMS 1 1 i\l 1 '1 1"+/1 ';)O'lb .,IMP 1 fJl\lUM

1;:,t:.Alil,.H VA.R 4 A~I..t:.~! l"lt. III I MA::lI\, 7 III I'I/J iiJlalOl l,. P1I,.U, 1O1O1O1. 1"/'1 1101010 I.. P1H 1 , STArlT

I'll';) 1,,;1\1;;,

I'll' i(J1a101O JI"I ~t:. i'<. Ie' l"lb l/'ll TAU 1 1 r~c:::" I\~ r<UI.l);;A~!) Mt,.M H t;, ~ , \~ INA!,.} I'll I "'''4b UI,,;A fJI\lUM 1'1010 l/,;)1/:1 TAU 1 11\1" ..) II.lAMI:. 1'lOl ..,04b Ut,,;A 1 PI'WM 1~~MUl,.ATt:.U ,JM!) I';)I/:I~ c::: 1'1 I l!)t 1 lr~~" l~liUu

/';)IOJ l",j TAU TI"ll:l iO 10 1'104 ,b I':J JMi"' 1 JMSt,r<

Page 29: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

.)./'/ 0 0 .4001.)0,11 r'A(j~ J.l

Ii'/UHt.J :'~At'<t;H HUU T ! I"~ I::>~::> 't/'t~ W~C.HI JMS 1 llUO II.KL.~

I'~b lc./~ TAU L~MI..U 1';)10/ ojt!./::> Ul,;A CI\T In'" 1 0 /::> W:>t.Kl, TAU 1 CKI I::> .I.l IO(.It. AI'W MASI\ 1'1, 1101.11 r;~A 1::>105 ~/'+I.I TAU 1 INll IWUHU /::>l4 101.110 StA CL.A I'l' :;).)C:::> JMr' W:>I:.t'<c: I'lb 1C:/::> TAU C1'T I'll 1.It!.4b JMS r' I~ UI"1 "c:1O 1"'),1 TAt.J H ' <:;:::> I I(SL.ASHj 1'<:::1 '+/4~ JMS 1 IIU'lI IIYI"N I'C::, 1,0/' TAU 1 I" 1\ 1 /'C::05 'It!.4b JMS PI\JUM I' ';.'1, '1/405 JMS 1 llno II."HI,,~

I't!.';) J,('I' WS~t'<<:;:, TAU CKT I::>t!.b t:.t!.I' 1St CKT '::>c::l 1 IGJ '11 (.;4 A 1'''')10 It.I'+ Ti4U L~MHI 1'''')1 IOl.lll 1,..'::1.110, !:itA CL.A I'.,,)'d ,oj11O JMr' w:>uo. "oj,j 4/405 ".1M!::! 1 ll\IJ. 0 Ii..KL.~ 1::>,)4 '1'1 JMf-' 1 ll~':: , /Kt./o\t.J+'

I K U U T ~ 11j~!:) TU IYr'1:. MA:>I\ ANU L.IMITS I,.,,), ;1,.,,),0 "'\..x, T~U CUNJAI. I'JO lJbk? MA;'I\t.K, TAU CUNJM:> 1::>05/ oj 11.14 UI,;A 1 ll~ 1/ IWUt'<U /'''+k:I ';)/00 JMr' 1 1 III t:. 0 /I;.XAM

Page 30: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

.)./(:./01;) .j.1:>1')0,11 101;.\(,1;. l.~

l'IiUl f I;. Mto:: = t" UI~ N I'I~O 1 ... i1=l,.I\~M

1'"+1 Il/lO 11~ e:: I , I,. A \.i

I'''~ Ile::j ! 1'1 ~ o:J , '" r< I,.

Ij\llt.r< \" (J r., Hl;.y I''IJ 11')/ 11'1110, (.;i'(L~

1''14 111:>/ 11~.1.1 , WUHW 1''1' /(. ~IO j ," 1 .., , T y PI~ 1''Ib I.)oj I iii e:: o:J , CI"\!:lA 1''1/ I~O" ll~ to:: to:: , ~HUy

I':;'~ 1.)01 1 1\1 .::: .:J / ljlolMI:. 1,,1 TI-'<iI'I/=!

1,:;,1 I'/)'{JI j i~ to::, , Ht.AU+:;'

/1,; U I\j ~ I A 1\1 T ~ 1':;,2- III q f 1"1 '+ , "''+ I 'X)') .l,101O1O rl"ll(JlO~/ 1iOIOo:J 1':;,4 '(JVJ 1/ 1 t<' II, 71 I'';)' 1011:1010 fl-'Oo:J, blO 1'";)0 10l:>j I,.I,J I\I.:J A '" , :;AC-MA:::iK 1'';)/ iU.' I TI-'t::,/, ~';),

1'010 1'I1e. ~U;\I.:JM;:' , MA~r\

l'b1 TIoI!:iL.c.-. 1')01 1(.",,, Io'VNl. I'O~ 1C..:::1 Io'VN,) /:) I:> J It.,-, PUN" 1'04 111+10 CHl.:t:. 1'0' 11~' CHl.1 1'00 lo:JI:>4 jill'::: 0, I:,XAM 1'01 /t.,)b THAI-' 1':)110 1,)(.1 JI"IMr'

" 11 11/1:> PUN~

I'/~ I.:J,)' C\,JNTII\l l'/j /';)10' W~I;,.H

1'/4 1'I],b Ur-AHl 1'1' I'~b MA!:lKI;.t"< I'lb I'~' Al,.X

I' II 11';)" U r' 1111 11,,11"'1;.1\1 lI\jU~Ht.l,.TLY.

Page 31: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

l .. rJ1 >Ii !'JoO\'1 1'11'\1 /"\,I .. HUH' '?c\'/ WI/t')r",(' e/"l H.C:;W(' '?/TI fl ~! T ·U T/ Q ~I t ell ~L HIT

'?fleL f'I \' ~I t 1: .. cL I ?, t\1 T

ooel o ?, ~I f tecL. e?, ~I r ~ee/ \' ? ~I T

I.,e/ '? ?, ~I T T/\'/ 'r ?, ~I f O .. C/. I?I? ~I t cflel A 1: ~i t ""el / 1: ~I f \,.,cl o 1: ~I T

f7I / \' I. Il' 1: ~: f /O\'I \' 1: ~I T

OO\'/ '? 1: ~I t CO\'I T 1: ~I f "0\'/ rJ 1: ~' T

.,/""1.. V'I ~I T

\'Iro, X ~I f /I \' I.. '1"'H4T To\'/ 1WWt) '?O\'L t')n~~

'?~f'lL. OI,,?,~~

C'QrJl cl..l ~

O?I?IL V'll ?, 1..1 .. /O('!.L ?lI1 "0(7./ W~Y':l

CO'?l t')~~Hn~

01",1/ "~~ C~":L T'~~ I etl ~'~"l ~?TI. ,~,")

r?:c.ru ~"l

(7.0CI ~WC'Nn"l

oee/ 'WC'Nf'\~

"~~I ~JtJNn"l

"I"'/' 1\1")

0~"1 WC:;\J")

el(J,L fwc:;\.1"\ \'orl WC:;\I") '?OItl W"N\l1 (;I/TL nw"\ ~"?I.. ,n-i"'~

C'''f'J.1 lc-;I'~

O/C'I 1 ! w ~ C~CI X"\1f

'''~\ll 'n~W1C:;

~T .'1"~ QT'(H'lOT 00/?11

Page 32: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

~TM~UL.. lAtlLt.

L.IMrd ''II'' LIMLU 7'1'':> LINI'I /,:)'0 L~P /.:)'1)(.

L H''! I~IOO l.t"AI"( 7(,/0

LIAtlL. liJiJ,(. MASK 71.U (. MiCsKt:.1"( I::;~O

III V lUI U t" ll~ n. , (. ,""I~UM 7'1';0 ,""I~ ~ 1'1::;'1 I-'VNl. 7l/o t"UNI~ I'!IOJ, I-'VNl /(.'1)(.

,""UN" 1(.'0)0 ,""UN') /(.(.l ,""VN'! 1(.'-")

I-'J..I£) IOJ~l l.Iut:.ST /iii.! I"<t.A llOlt:: I"<t.AU l'OJ'iJt:: I"(t.AU~ 1'I)'tJ1 I"(r,. Till 111,) SIH; /.:)')' SAU 11(,,)

SI.,.HAI"( Il.'); St.X l'IJ 1/ SHUT Ill' SL..A 1t)'1 St"t:.)(lT 1.)(. 'OJ St"NTI"( 11'-.) St"lll /(.(,Ji£J SI".c'IJ1O l (./ J. Sr'.ci£JI£)1':I 1,)/(,

SI"'hJ~ I~/.)

St"4i£J1O'IJ /.)/:> SI"'I'I)I£)'I) 1.)/'1 Sl"/ol£)w.J ,(.jiJ,

SIAI"(T 1 IOItl IV

TAbl.l 7'OJ'+'! lAI:H.~ "OJ, It:.M 1'1.)0 Tt.M(. 1'1\(11 TI'1t:. lj:>l r IVI4 1"(. TVTt. fl.l'I TI"'IO'lJ1 /::;::;1

1,",1,Qf;l'l) I:>,j

P'lll 1"'1) ... 1,",.c;Q~ 1 '1(. c:. I,",.c'l~ /::;.)1

Page 33: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

~TMtjUL. 1 Atjl..l:.

T'"'~::>I 1::>::>1 Tl"blO 7::>::» T"',OIOIO "'''00 Tr'U 7)'" T~AU 7.j::>/ T~At-' 7c..jo T~TJM~ /.je.c. T Y f-' III lc.,j1O Ut-'Ato<l '''1O UI"AI"<2 11" UI"'A~.j 71(1) WUHU no / W~I:.I"< I ''I.'' w~l:.l'(l l::>;J.1O W~1:.1'(2 l::>c.::> X I".UIIjT l.j(,f(.j tt-'AT 1/).010'1

Page 34: PDP-B...The starting address of ODT is the address of the symbol START. For standard library versions the high version starts at 7000 and the low at 1000. b. Set the starting address

Recommended