Trailing-Edge
-
PDP-10 Archives
-
decus_20tap5_198111
-
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
-