Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-05 - decus/20-0136/macx11.doc
There is 1 other file named macx11.doc in the archive. Click here to see a list.
TO:  PDP-11 SOFTWARE DEVELOPMENT GROUP           FROM: JIM MURPHY
     PDP-11 PRODUCT EVALUATION GROUP		DATE: FEB. 22,1972
     PDP-11 DIAGNOSTICS
     SOFTWARE PREPARATION
     SYSTEM 40 OPERATORS
     PDP-11 ENGINEERING

CC:  MYRON MYERS
     CRAIG FLETCHER
     BOB BOWERING
     BOB ANUNDSON


SUBJECT:  GUIDE TO USE OF PDP-11 DEVELOPMENT TOOLS ON PDP-10



	THIS DOCUMENT ASSUMES A WORKING KNOWLEDGE OF THE PDP-10 OPERATING
	SYSTEM AND PROCEDURES.

	THIS DOCUMENT WILL ALSO BE AVAILABLE AT PDP-10 SYSTEM 40
	AS FILES MACX11.DOC AND LNKX11.DOC.
1.	TRANSFERRING PDP-11 ASSEMBLY LANGUAGE SOURCES TO THE PDP-10

1.1	SOURCES ON PDP-11 DECTAPE

	1.  LABEL YOUR DECTAPE WITH YOUR SYSTEM 40 PROJECT PROGRAMMER
	    NUMBER AND A UNIQUE (NO CONFLICT WITH YOUR PDP-10 FORMATTED
	    DECTAPES) IDENTIFIER.

		E.G.  [140,1122]  PDP-11 #1

	2.  PLACE DECTAPE IN IN-BOX IN 3-5 TELETYPE ROOM.  ALLOW APPROXI-
	    MATELY 1/2 HOUR FOR TRANSFER TO SYSTEM 40.

	3.  ASSIGN A DECTAPE DRIVE

		.AS DTA
		-
		 DTA0 ASSIGNED
		--------------

	4.  REQUEST YOUR PDP-11 DECTAPE TO BE MOUNTED

		.PLEASE MOUNT [140,1122]PDP-11#1 ON DTA0 [WRITE ENAB]
		-

	    WHEN YOU ARE THROUGH CONVERSING WITH THE OPERATOR,
	    TYPE CONTROL/C (^C) TO RETURN TO MONITOR MODE.

	5.  TRANSFER FILES TO DISK VIA FILEX

		.R FILEX
		-
		*DSK:_DTA0:*.PAL/V
		-
	TO TRANSFER ALL FILES FROM DECTAPE TO DISK YOU WOULD USE A
	FEATURE OF FILEX CALLED "QUICK MODE" WHICH MAKES ONLY ONE
	PASS DOWN THE TAPE CREATING AN IMAGE ON DISK AND THEN SORTING
	THE DISK FILE.  FOR EXAMPLE

		*DSK:_DTA0:*.*/V/Q
		-

	TRANSFERS ALL FILES IN QUICK MODE.

1.2	SOURCES ON PAPER TAPE

	1.  LABEL TAPE

		E.G. PROG.PAL[140,1122]

	2.  PLACE TAPE IN 3-5 IN-BOX WITH OPERATOR REQUEST TO PIP
	    TAPE TO YOUR DISK AREA.

		E.G.
		*PROG.PAL[140,1122]_PR:
		-
2.	ASSEMBLIES ON PDP-10 WITH MACX11

	WHILE MACX-11 IS DESIGNED TO BE LANGUAGE COMPATIBLE WITH THE PAL-11R
	MANUAL, ITS PDP-10 OPERATING ENVIRONMENT NECESSITATES A PDP-10
	STYLE OPERATING PROCEDURE(E.G. THE INDIRECT COMMAND FACILITY
	IS SUPPORTED).

	THE ASSEMBLER MAKES TWO PASSES OVER THE SOURCE, OUTPUTTING THE
	BINARY AND LISTING FILES DURING PASS TWO AND APPENDING A SYMBOL
	TABLE TO THE LISTING FILE.  PDP-10 MEMORY IS DYNAMICALLY ALLOCATED
	FOR LARGE SYMBOL TABLES AND MACRO STORAGE.

2.1	LOADING MACX-11

	MACX-11 IS LOADED VIA THE PDP-10 MONITOR.

		.R MACX11
		-

2.2	INITIAL DIALOGUE

	WHEN THE ASSEMBLER IS READY TO ACCEPT THE USER'S COMMAND STRING,
	IT OUTPUTS AN ASTERISK.  THE USER MUST NOW TYPE HIS COMMAND STRING
	ON THE SAME LINE.

	THE GENERAL FORM OF THE COMMAND STRING IS:

	BINARY OUTPUT, LISTING OUTPUT_SOURCE INPUT(S)

	EACH INPUT/OUTPUT SPECIFICATION CONSISTS OF THE GROUP:

	DEV:FILNAM.EXT[PROJ.,PROG.]/SWITCH
	1.  DEV IS:

	    DSK     FOR DISK
	    PTP     FOR HIGH SPEED PUNCH
	    DTAN    FOR DECTAPE N
	    MTAN    FOR MAG TAPE, UNIT N
	    TTY     FOR THE USER'S TELETYPE

	    IF NOT SPECIFIED, THE DEVICE IS ASSUMED TO BE THE DISK.

	2.  FILNAM IS THE FILE NAME OF THE APPROPRIATE FILE.

	3.  EXT IS THE FILE NAME EXTENSION FOR THAT FILE.  IF IT IS NOT
	    SPECIFIED, THE ASSUMPTIONS ARE:

		BINARY STRING:	.OBJ (RELOCATABLE) OR
				.BIN (ABSOLUTE)
		LISTING STRING: .LST OR .CRF IF CREF INTERMEDIATE (/C SWITCH)
		SOURCE STRING:	.PAL OR .P11

	4.  [PROJ.,PROG.] IS THE PROJECT-PROGRAMMER NUMBER ASSIGNED TO
	    THE DISK AREA TO BE USED, IF OTHER THAN THE USER'S PROJECT-
	    PROGRAMMER NUMBER.

	5.  ASSEMBLY TIME OPTIONS ARE SELECTED BY TYPING A SLASH, FOL-
	    LOWED BY ONE OF THE FOLLOWING CHARACTERS, IN THE COMMAND STRING.

		/A - ASSEMBLE IN PAL-11A (ABSOLUTE) MODE.

		/C - PRODUCE A CREF (CROSS REFERENCE) LISTING.  MUST BE
		     USED IN THE LISTING FIELD.

	NO DEVICE, FILE NAME OR EXTENSION IS REQUIRED AS THE DEFAULTS
	ARE COMPATIBLE WITH THE CREF PROGRAM.  AT THE COMPLETION OF THE
	ASSEMBLY, THE USER CAN ACQUIRE THE CROSS REFERENCE LISTING BY
	THE FOLLOWING PROCEDURES:

	1.  TYPE ^C AND WAIT FOR ".".

	2.  TYPE R CREF TO LOAD THE CROSS REFERENCE PROGRAM.

	3.  CREF RESPONDS WITH *.
			       -
	4.  TYPE THE RETURN KEY IF LISTING IS TO GO ON THE LINE PRINTER
	    OR TYPE TTY:_ AND RETURN KEY IF IT IS TO GO TO THE TELETYPE.

	IF A CROSS REFERENCE LISTING FILE NAME WAS SPECIFIED IN THE AS-
	SEMBLER'S COMMAND STRING

		E.G. *BINARY,LIST/C_INPUT
		     -

	THE FILE LIST.CRF WILL BE OUTPUT TO DISK FOR SUBSEQUENT PROCESSING
	BY CREF.  WHEN CREF RESPONDS WITH *, TYPE THE FOLLOWING COMMAND
					  -
	STRING

		*LIST_LIST
		-

	A FILE LIST.LST WILL BE OUTPUT TO DISK.  THIS FILE CONTAINS THE
	SEQUENCED OCTAL/SYMBOLIC ASSEMBLY LISTING AND THE TABLE OF CROSS
	REFERENCES.

		/E - LIST THE ACTUAL BINARY IMAGE ON THE LISTING.  USEFUL
		     ONLY IN DEBUGGING THE ASSEMBLER OR LOADER.  MUST BE
		     IN THE BINARY FIELD.

		/M - SUPPRESS THE SYMBOL TABLE LISTING.

		/N - SUPPRESS ERROR MESSAGES TO THE TELETYPE.

		/R - REDUCE SOURCE LANGUAGE TO PAL-11R COMPATIBLE
		     LEVEL.  USED TO ELIMINATE MACROS AND REPEATS.  MUST
		     BE IN THE LISTING FIELD.  CAUSES THE LISTING FILE TO
		     BE REPLACED BY THE NEW SOURCE FILE WHICH CAN BE AS-
		     SEMBLED ON THE TARGET MACHINE.  NO SWITCHES ARE RE-
		     QUIRED WHEN OUTPUTTING TO A TRANSFERRABLE MEDIUM.

		/T - TOGGLE LISTING MODE.  IF LISTING IS TO TTY, FORMAT AS
		     FOR LPT AND VICE VERSA.  MUST BE IN LISTING FIELD.

		/W - REWIND MAG TAPE.  OPERATES ON FIELD IN WHICH IT IS
		     FOUND.  MUST BE USED IF A MAG TAPE IS USED AS THE
		     SOURCE INPUT DEVICE, AND THE FILE MUST BE THE FIRST
		     FILE ON THE TAPE.

		/P - GENERATE PACKED MODE BINARY OUTPUT (SEE SECTION 2.6),
		     SWITCH MUST BE IN BINARY OUTPUT FIELD.

		/I - GENERATE IMAGE (UNPACKED) MODE BINARY OUTPUT (SEE
		     SECTION 2,6).  SWITCH MUST BE IN BINARY OUTPUT FIELD.

		COMMAND LANGUAGE EXAMPLES:

		*DSK:OBJECT,LIST_MTA0:/W
		-

	ASSEMBLE FROM MAG TAPE UNIT 0, BINARY TO DISK AS FILE OBJECT.OBJ
	AND LISTING TO DISK AS FILE LIST.LST.

		*DSK:BETA.OBJ,LPT:/N_DSK:BETA.PAL
		-
	ASSEMBLE FILE BETA.PAL FROM THE DISK.  BINARY TO DISK FILE BETA.OBJ,
	LISTING ON THE LINE PRINTER.  SUPPRESS ERROR MESSAGES TO THE CONSOLE.

		*BETA,LPT:/N_BETA
		-
	SAME AS ABOVE

		*,PTP:/R_DTA3:ALPHA
		-

	ASSEMBLE FILE ALPHA.PAL (OR ALPHA.P11 OR ALPHA) FROM DECTAPE.
	OUTPUT A PAPER TAPE CONTAINING SOURCE LANGUAGE WHICH IS AC-
	CEPTABLE TO PAL-11R.

2.3	ASSEMBLY DIALOGUE

	WHEN THE ASSEMBLER HAS COMPLETED A RUN, IT WILL PRINT THE NUMBER
	OF ERRORS DETECTED, THE AMOUNT OF CORE USED AND STATISTICAL
	INFORMATION ON USAGE OF PDP-11/45 INSTRUCTION MNEMONICS.  THE
	ASSEMBLER THEN TYPES AN * AND IF ANOTHER PROGRAM IS TO BE AS-
	SEMBLED, THE NEW COMMAND STRING CAN BE TYPED AT THIS POINT.

2.4	ASSEMBLY LISTING

	THE MACX-11 ASSEMBLER PRODUCES A SIDE-BY-SIDE ASSEMBLY LISTING OF
	SYMBOLIC SOURCE STATEMENTS, THEIR OCTAL EQUIVALENTS, ASSIGNED
	ADDRESSES, AND ERROR CODES.  TELETYPE LISTING MODE COMPRESSES THE
	LISTING FORMAT TO ACCOMODATE THE REDUCED NUMBER OF COLUMNS AVAIL-
	ABLE.

	TELETYPE LISTING MODE IS SELECTED BY SPECIFYING THE LISTING DEVICE
	AS TTY: WITH NO /T SWITCH OR ANY OTHER DEVICE WITH A /T SWITCH.
	ALL OTHER COMBINATIONS CAUSE "LINE PRINTER" FORMAT.

2.5	OBJECT MODULE OUTPUT

	MACX-11 IS CAPABLE OF PRODUCING EITHER ABSOLUTE BINARY OR A
	RELOCATABLE OBJECT MODULE, DEPENDING UPON THE ASSEMBLY MODE.
	THE DEFAULT MODE IS RELOCATABLE BUT ABSOLUTE MODE CAN BE SELECTED
	EITHER BY THE /A SWITCH IN THE COMMAND STRING OR AN .ABS DIRECTIVE
	IN THE SOURCE.

2.6	PACKED VS. UNPACKED BINARY FORMATS (.OBJ, .BIN)

	PALX-11 AND MACX-11 HAVE ALWAYS OUTPUT BINARY INFORMATION IN IMAGE
	FORMAT, STORING ONE 8-BIT BYTE RIGHT-JUSTIFIED PER 36-BIT WORD.
	THIS IS EXTREMELY WASTEFUL OF STORAGE BUT WAS NECESSITATED BY
	THE FACT THAT PAPER TAPE WAS THE ONLY RELIABLE COMMUNICATION
	MEDIUM BETWEEN THE PDP-11 AND THE PDP-10, AND PIP/I DOES THE
	RIGHT THINGS.

	FILEX HAS CHANGED ALL THAT.  PAPER TAPE HAS BECOME A SECONDARY
	MEDIUM AND DECTAPE THE PRIMARY.  IN ADDITION, FILEX PACKS THE
	INFORMATION INTO FOUR BYTES PER WORD, RIGHT JUSTIFYING THE BYTES
	ON BITS 17, 9, 35, AND 27 OF THE PDP-10 WORD.  THIS FORMAT IS
	NOT ARBITRARY BUT THE RESULT OF DOING A PDP-10 HARDWARE READ OF
	A PDP-11 TAPE.
	THE PACKED FORMAT WILL NOW BE GENERATED IF EITHER:

		1.  THE /P SWITCH IS ENCOUNTERED IN THE BINARY OUTPUT
		    FIELD SPECIFICATION.

		2.  OR NO SWITCH IS ENCOUNTERED.

	UNPACKED FORMAT WILL BE GENERATED IF THE /I SWITCH IS ENCOUNTERED
	IN THE BINARY OUTPUT FIELD SPECIFICATION.
3.	LINKS ON PDP-10 WITH LNKX11

	LNKX11 IS DESIGNED TO BE OPERATED SIMILARLY TO LINK-11 BUT
	WITHIN THE PDP-10 ENVIRONMENT (E.G. THE INDIRECT
	COMMAND FACILITY IS AVAILABLE).

3.1	LOADING LNKX-11

	LNKX-11 IS LOADED VIA THE PDP-10 MONITOR.

		.R LNKX11
		-

3.2	INITIAL DIALOGUE

	WHEN THE LINKER IS READY TO ACCEPT THE USER'S COMMAND STRING
	IT OUTPUTS AN ASTERISK.  THE USER MUST NOW TYPE HIS COMMAND
	STRING ON THE SAME LINE.

	THE GENERAL FORM OF THE COMMAND STRING IS:

	LOAD MODULE OUTPUT,LOAD MAP OUTPUT_OBJECT MODULE INPUT(S)

	OPERATING INSTRUCTIONS ARE AS SPECIFIED IN THE LINK-11 MANUAL
	WITH THE FOLLOWING EXCEPTIONS:

	LEFT ANGLE BRACKET, LEFT ARROW, AND THE EQUALS SIGN ARE ALL
	ACCEPTABLE AS THE SEPARATOR BETWEEN THE OUTPUT AND INPUT FIELDS.

	SWITCHES:

	    /T, /B, /U, /OD, /CC, /TR, AND /E OPERATE AS SPECIFIED.

	    /L IS ACCEPTABLE BUT IGNORED.  LIBRARY SEARCH MODE IS
	    ENTERED WHEN THE FIRST BLOCK IS NUMBER 7.

	    /TA IS NOT IMPLEMENTED.

	    SWITCHES MAY STAND ALONE.  I.E., A FIELD NEED NOT HAVE
	    A FILE SPECIFIED.

	    A /P SWITCH ENCOUNTERED CAUSES ALL NON-ASCII FILES ON
	    THIS SIDE OF THE "_" TO BE TREATED AS PACKED.  PACKED
	    IS ALSO THE DEVAULT MODE FOR BOTH SIDES OF THE "_".

	    A /I SWITCH ENCOUNTERED CAUSES ALL NON-ASCII FILES ON THIS
	    SIDE OF THE "_" TO BE TREATED AS UNPACKED.

	    THE UIC FIELD IS INTERPRETED AS THE PDP-10'S PROJECT-PRO-
	    GRAMMER NUMBER.

	    DEFAULT DEVICE IS DSK:.  DEFAULT EXTENSIONS ARE .LDA,
	    .MAP, AND .OBJ.

3.3	RESTARTING:  TYPE START OR ANOTHER RUN COMMAND.

3.4	MEMORY DYNAMICALLY EXPANDS TO HANDLE LARGE SYMBOL TABLES.  THE
	S223 ERROR MESSAGE (SYMBOL TABLE OVERFLOW) IS IMPLEMENTED BUT
	UNLIKELY TO OCCUR.

3.5	ADDITIONAL (TEMPORARY) ERROR MESSAGES

	    S270 - NO LIBRARY END BLOCK (10) FOUND ON LIBRARY TAPE.

	    S271 - PASS 2 OUT OF PHASE (SHOULD NEVER HAPPEN).

	    S272 - GSD BLOCKS NOT TERMINATED BY GSDEND BLOCK (2).

3.6	MAP:  THE LISTING FILE CONTAINS ALL TELETYPE PRINTOUT, AN EXTRA
	HEADER CONTAINING THE DATE AND TIME, AND A COPY OF THE COMMAND
	STRING IN ADDITION TO THE FORMAT SPECIFIED IN THE LINK-11
	MANUAL.  THIS IS FOR CONVENIENCE DURING THE CHECK-OUT PERIOD.

3.7	BINARY FILES

	DEFAULT MODE FOR BINARY FILES (.OBJ, .LDA) WILL BE PACKED MODE
	(FOUR BYTES PER PDP-10 WORD).  THIS IS TO TAKE ADVANTAGE OF THE
	ADDED CAPABILITIES OF THE PDP-10 PAPER-TAPE SPOOLER.  THE /P
	SWITCH WILL REMAIN (FOR AWHILE) BUT BE REDUNDANT.  TO GET
	UNPACKED MODE (FOR DIRECT PUNCHING TO PAPER TAPE AND INPUT TO
	MIMIC), USE THE /I SWITCH.

	THE DEFAULT OUTPUT FROM MACX11 IS COMPATIBLE WITH THE DEFAULT
	INPUT TO LNKX11.

	THE DEFAULT OUTPUT FROM LNKX11 IS COMPATIBLE WITH FILEX AND THE
	ADDED CAPABILITY OF THE PAPER TAPE PUNCH SPOOLER.  HOWEVER,
	INPUT TO MIMIC MUST BE UNPACKED THEREFORE IT REQUIRES THE /I
	SWITCH IN THE LOAD MODULE FIELD DURING LINKING.
4.	GETTING BINARY FILES (.OBJ, .BIN, .LDA) OFF PDP-10

4.1	IF BINARY FILE IS IN PACKED MODE (THE DEFAULT MODE OF MACX11
	AND LNKX11)

4.1.1	FILEX TO PDP-11 DECTAPE

	DECTAPE MUST BE WRITE ENABLED.  THIS SHOULD BE REQUESTED AT
	MOUNTING TIME.

	EXAMPLES:

		*DTA0:/V_*.OBJ
		-

		*DTA0:/V_PROG.LDA
		-

		*DTA0:/V_PROG.BIN
		-

4.1.2	PAPER TAPE PUNCH SPOOLER

	EXAMPLES:

		.Q PTP:=PROG.OBJ/FILE:ELEVEN

		.Q PTP:=PROG.LDA/FILE:ELEVEN

		.Q PTP:=PROG.BIN/FILE:ELEVEN
4.2	IF BINARY FILE IS IN IMAGE (UNPACKED) MODE

4.2.1	FILEX TO PDP-11 DECTAPE

	EXAMPLES:

		*DTA0:/V_PROG.OBJ/I
		-

		*DTA0:/V_PROG.LDA/I
		-

		*DTA0:/V_PROG.BIN/I
		-

4.2.2	PAPER TAPE PUNCH SPOOLER

	EXAMPLES:

		.Q PTP:=PROG.OBJ
		-
		.Q PTP:=PROG.LDA
		-

		.Q PTP:=PROG.BIN
		-

4.3	PUNCHED PAPER TAPES WILL BE RETURNED TO YOUR PROJECT SLOT
	(E.G. 140) AT 3-5.

	YOU CAN REQUEST THE RETURN OF DECTAPES VIA THE PLEASE COMMAND.

		E.G.
		.PLEASE RETURN [140,1122]PDP-11#1 TO 3-5
		-

	WHEN YOU ARE THROUGH CONVERSING WITH THE OPERATOR, TYPE
	CONTROL/C (^C) TO RETURN TO MONITOR MODE.

4.4	PDP-11 DECTAPES CAN BE INITIALIZED VIA FILEX

	EXAMPLES:

		*DTA0:/Z/V_
		-

		*DTA0:[200,200]/Z/V_
		-

4.5	PDP-11 DECTAPE DIRECTORIES CAN BE LISTED VIA FILEX

	EXAMPLE:

		*_DTA0:/L/V
		-
5.	MIMIC AND LOAD MODULES (.LDA)

	LOAD MODULES TO BE PROCESSED BY MIMIC (DOS SIMULATOR ON THE
	PDP-10) MUST BE IN IMAGE MODE.

	THEREFORE, AT LINK TIME THE "I" SWITCH MUST BE SPECIFIED IN THE
	LOAD MODULE DATA SET FIELD.

		E.G.
		.R LNKX11
		-

		*LDMOD/I,MAP_OBJMOD
		-