initial contents
This commit is contained in:
commit
b04641067f
42
address.txt
Normal file
42
address.txt
Normal file
@ -0,0 +1,42 @@
|
||||
Memory Address Determination
|
||||
|
||||
The effective memory address referenced by a PDP-10 instruction is
|
||||
determined by the instructions address (Y), index (X), and indirect (I)
|
||||
fields.
|
||||
|
||||
|
||||
Direct Addressing "Y"
|
||||
|
||||
When Y is specified without X or I, the instruction's effective address
|
||||
is simply Y. The instruction uses the contents of memory location Y.
|
||||
|
||||
|
||||
Indexed Addressing "Y(X)"
|
||||
|
||||
When Y and X are specified but I is zero, the effective address is
|
||||
determined by using Y as a base then moving forward a number of memory
|
||||
locations corresponding to the current value of accumulator X.
|
||||
|
||||
|
||||
Indirect Addressing "@Y"
|
||||
|
||||
When I is set, the effective address is determined by taking the
|
||||
contents of memory location Y and interpreting it as another memory
|
||||
location the contents of which will be used by the instruction.
|
||||
|
||||
Indirect and indexed addressing can be combined: "@Y(X)"
|
||||
|
||||
|
||||
The Three I's
|
||||
|
||||
Unfortunately, three related concepts in MACRO assembly language have
|
||||
been given similar names: Index, Indirect, and Immediate.
|
||||
|
||||
Indexed and indirect addressing are explained above.
|
||||
|
||||
Immediate is an optional modifier to some instructions. When the
|
||||
immediate modifier is specified, the instruction's effective address
|
||||
is determined as normal, then the value of the effective address
|
||||
itself is used as the numeric argument to the instruction, instead of
|
||||
the contents of the effective address as would be used in a
|
||||
non-immediate MOVE.
|
21
ex1.mac
Normal file
21
ex1.mac
Normal file
@ -0,0 +1,21 @@
|
||||
TITLE G018 - Program to type "Hi". Example 1
|
||||
|
||||
Comment $ Example 1. Program to type "Hi"
|
||||
|
||||
The following program types "Hi" and carriage return line feed (CRLF)
|
||||
on the terminal.
|
||||
|
||||
Gorin, p. 18
|
||||
|
||||
$
|
||||
|
||||
SEARCH MONSYM ;Add TOPS-20 symbols to MACRO
|
||||
|
||||
START: RESET ;RESET the state of I/O devices
|
||||
HRROI 1,MESAGE ;Copy address of message to register 1
|
||||
PSOUT ;Output the message
|
||||
HALTF ;Stop execution here.
|
||||
|
||||
MESAGE: ASCIZ /Hi
|
||||
/
|
||||
END START ;End of program, start at START
|
24
ex2a.mac
Normal file
24
ex2a.mac
Normal file
@ -0,0 +1,24 @@
|
||||
TITLE G062 - TRIANGLE Example 2-A
|
||||
SEARCH MONSYM
|
||||
|
||||
Comment $ Program to print a Triangle $
|
||||
|
||||
START: RESET
|
||||
MOVEI 10,5 ;let register 10 be the line number.
|
||||
;set it to 5.
|
||||
;print each line
|
||||
LINE: MOVE 11,10 ;copy the line number to register 11
|
||||
;print the stars on each line
|
||||
STARS: HRROI 1,ASTER ;Print one asterisk
|
||||
PSOUT
|
||||
SOJG 11,STARS ;decrement star count, loop if more
|
||||
HRROI 1,NEWLIN ;print carriage return and line feed
|
||||
PSOUT ; to prepare for the next line.
|
||||
SOJG 10,LINE ;decrement the line numbe held in 10.
|
||||
; If the result is positive, do another line
|
||||
HALTF ;stop here
|
||||
|
||||
ASTER: ASCIZ /*/
|
||||
NEWLIN: ASCIZ /
|
||||
/
|
||||
END START
|
31
ex2b.mac
Normal file
31
ex2b.mac
Normal file
@ -0,0 +1,31 @@
|
||||
TITLE TRI AGAIN - Example 2-B
|
||||
SEARCH MONSYM
|
||||
|
||||
Comment $ A different triangle (Gorin p. 64) $
|
||||
|
||||
START: RESET ;begin execution here
|
||||
MOVEI 12,0 ;initial line count
|
||||
;here to print each line
|
||||
LINE: MOVEI 13,0 ;initial character count
|
||||
;print one character on a line
|
||||
CHAR: CAML 13,12 ;skip if printing spaces
|
||||
JRST PSTAR ;go print a star
|
||||
HRROI 1,BLANK ;print a blank
|
||||
PSOUT
|
||||
JRST ELIN ;test for end of line
|
||||
|
||||
PSTAR: HRROI 1,ASTER ;print a star
|
||||
PSOUT
|
||||
ELIN: CAIGE 13,6 ;have we reached the end of line?
|
||||
AOJA 13,CHAR ;print the next character
|
||||
HRROI 1,NEWLIN ;print the carriage return & line feed
|
||||
PSOUT
|
||||
CAIGE 12,6 ;finished all lines yet?
|
||||
AOJA 12,LINE ;no. do more.
|
||||
HALTF ;all done
|
||||
|
||||
BLANK: ASCIZ / /
|
||||
ASTER: ASCIZ /*/
|
||||
NEWLIN: ASCIZ /
|
||||
/
|
||||
END START
|
33
ex3.mac
Normal file
33
ex3.mac
Normal file
@ -0,0 +1,33 @@
|
||||
TITLE ECHO INPUT LINE -- Example 3
|
||||
SEARCH MONSYM
|
||||
|
||||
BUFLEN==40 ;the length of the input buffer.
|
||||
|
||||
PROMPT: ASCIZ /Welcome to Echo. Please type a line: /
|
||||
IBUFR: BLOCK BUFLEN ;reserve space for the input line
|
||||
|
||||
START: RESET ;start here. initialize I/O
|
||||
GETLIN: HRROI 1,PROMPT ;source of the prompt message
|
||||
PSOUT ;send prompt to the terminal
|
||||
HRROI 1,IBUFR ;descriptor of the input buffer
|
||||
MOVEI 2,5*BUFLEN-1 ;character count of the buffer
|
||||
HRROI 3,PROMPT ;the reprompt pointer for RDTTY
|
||||
RDTTY ;read one line from the terminal
|
||||
ERJMP INERR ;in case of error, print a message
|
||||
MOVE 15,IBUFR ;first five letters of input line
|
||||
CAMN 15,[ASCII/LEAVE/] ;test to see if user typed LEAVE
|
||||
JRST STOP ;LEAVE was typed. Halt the program.
|
||||
HRROI 1,[ASCIZ /The line you typed was: /]
|
||||
PSOUT
|
||||
HRROI 1,IBUFR ;point to the input line for PSOUT
|
||||
PSOUT ;echo (retype) the input line.
|
||||
JRST GETLIN ;Go get another line.
|
||||
|
||||
INERR: HRROI 1,[ASCIZ/Error from RDTTY. I give up
|
||||
/]
|
||||
PSOUT ;send an error message and stop.
|
||||
STOP: HALTF ;stop the program here
|
||||
JRST STOP ;In case of a CONTINUE command,
|
||||
; stay stopped.
|
||||
|
||||
END START ;specify the start address.
|
48
ex4a.mac
Normal file
48
ex4a.mac
Normal file
@ -0,0 +1,48 @@
|
||||
TITLE REVERSE - Example 4-A
|
||||
SEARCH MONSYM
|
||||
|
||||
Comment $
|
||||
Program to reverse the characters on each line of input.
|
||||
Program will stop when an empty line is input.
|
||||
|
||||
This program demonstrates the last-in, first-out property
|
||||
of push-down stacks. Also, it shows the PBIN and PBOUT
|
||||
JSYS calls.
|
||||
$
|
||||
|
||||
A=1 ;symbolic name for ac 1
|
||||
P=17 ;symbolic for stack pointer
|
||||
|
||||
PDLEN==200 ;define the stack size
|
||||
PDLIST: BLOCK PDLEN ;reserve space for the stack.
|
||||
|
||||
START: RESET
|
||||
MOVE P,[IOWD PDLEN,PDLIST] ;initialize stack pointer
|
||||
GETLIN: HRROI A,[ASCIZ/Please type a line: /]
|
||||
PSOUT
|
||||
INLOOP: PBIN ;read one character
|
||||
CAIN A,15 ;skip unless carriage return
|
||||
JRST INLOOP ;discard carriage return
|
||||
CAIN A,12 ;skip unless end of line
|
||||
JRST INDONE ;LF was seen. We are done now.
|
||||
PUSH P,A ;store character on the stack
|
||||
JRST INLOOP
|
||||
|
||||
;Here at the end of the input line
|
||||
INDONE: CAMN P,[IOWD PDLEN,PDLIST] ;is the stack empty?
|
||||
JRST STOP ;empty line, stop running.
|
||||
HRROI A,[ASCIZ/The reversed line: /]
|
||||
PSOUT
|
||||
OUTLOO: POP P,A ;get one character from stack
|
||||
PBOUT ;send it to the terminal
|
||||
CAME P,[IOWD PDLEN,PDLIST] ;is the stack empty now?
|
||||
JRST OUTLOO ;not yet. Loop again.
|
||||
HRROI A,[ASCIZ/
|
||||
/]
|
||||
PSOUT ;send CR and LF.
|
||||
JRST GETLIN ;repeat
|
||||
|
||||
STOP: HALTF ;stop at blank line
|
||||
JRST STOP ;stay stopped
|
||||
|
||||
END START
|
2
gorin.bib
Normal file
2
gorin.bib
Normal file
@ -0,0 +1,2 @@
|
||||
Ralph E. Gorin, INTRODUCTION TO DECSYSTEM-20 ASSEMBLY LANGUAGE PROGRAMMING,
|
||||
Bedford, MA, USA: Digital Press, 1981.
|
16
hello-mac.txt
Normal file
16
hello-mac.txt
Normal file
@ -0,0 +1,16 @@
|
||||
HELLO.MAC - Hello program in MACRO assembly language
|
||||
|
||||
PUBLIC:<CONTRIB>HELLO.MAC
|
||||
PUBLIC:<CONTRIB>HELLO-MAC.TXT
|
||||
|
||||
Contributed by David Meyer <papa@twenex.org>/<papa@sdf.org>
|
||||
March 9, 2022
|
||||
|
||||
A minimal example of MACRO source code demonstating character string
|
||||
output.
|
||||
|
||||
To compile, load, and run:
|
||||
|
||||
@EXEC PS:<CONTRIB>HELLO.MAC
|
||||
|
||||
Make a copy and try your hand at MACRO!
|
16
hello.mac
Normal file
16
hello.mac
Normal file
@ -0,0 +1,16 @@
|
||||
TITLE HELLO - Hello program in MACRO assembly language
|
||||
|
||||
Comment $
|
||||
Contributed by David Meyer <papa@twenex.org>/<papa@sdf.org>
|
||||
March 9, 2022
|
||||
$
|
||||
|
||||
SEARCH MONSYM ;Add TOPS-20 symbols to MACRO
|
||||
|
||||
START: RESET ;RESET the state of I/O devices
|
||||
HRROI 1,[ASCIZ "Hello, world, from MACRO!
|
||||
"] ;Compile string (including CRLF) and put
|
||||
; address in AC1
|
||||
PSOUT ;Output the string
|
||||
HALTF ;Stop execution here.
|
||||
END START ;End of program, start at START
|
17
hw1.mac
Normal file
17
hw1.mac
Normal file
@ -0,0 +1,17 @@
|
||||
TITLE G024 - Self-Identification
|
||||
|
||||
COMMENT / Gorin p. 24 Section 3.3 Exercise (HW1.MAC) /
|
||||
|
||||
SEARCH MONSYM
|
||||
|
||||
START: RESET
|
||||
HRROI 1,MESAGE
|
||||
PSOUT
|
||||
HALTF
|
||||
|
||||
MESAGE: ASCIZ /
|
||||
My name is David Meyer.
|
||||
I work at Sumitomo Chemical.
|
||||
I am studying TOPS-20 assembly language to entertain myself.
|
||||
/
|
||||
END START
|
33
hw2-0.mac
Normal file
33
hw2-0.mac
Normal file
@ -0,0 +1,33 @@
|
||||
TITLE HW2 - Print diamond on screen (Homework 2)
|
||||
SEARCH MONSYM
|
||||
|
||||
Comment $ (Gorin p. 65) $
|
||||
|
||||
START: RESET
|
||||
MOVEI 10,7 ;lines in top triangle
|
||||
MOVEI 12,6 ;first star on line
|
||||
MOVEI 13,10 ;last star on line
|
||||
TOP: MOVEI 11,15 ;char. position countdown
|
||||
AOS 12
|
||||
SOS 13
|
||||
TOPCHR: HRROI 1,ASTER
|
||||
PSOUT
|
||||
SOJG 11,TOPCHR
|
||||
HRROI 1,NEWLIN
|
||||
PSOUT
|
||||
SOJG 10,TOP
|
||||
MOVEI 10,6 ;lines in bottom triangle
|
||||
BOTTOM: MOVEI 11,15
|
||||
BOTCHR: HRROI 1,ASTER
|
||||
PSOUT
|
||||
SOJG 11,BOTCHR
|
||||
HRROI 1,NEWLIN
|
||||
PSOUT
|
||||
SOJG 10,BOTTOM
|
||||
HALTF
|
||||
|
||||
ASTER: ASCIZ /*/
|
||||
SPACE: ASCIZ / /
|
||||
NEWLIN: ASCIZ /
|
||||
/
|
||||
END START
|
56
hw2-1.mac
Normal file
56
hw2-1.mac
Normal file
@ -0,0 +1,56 @@
|
||||
TITLE HW2 DIAMOND - Homework 2
|
||||
SEARCH MONSYM
|
||||
|
||||
Comment $ (Gorin p. 65) $
|
||||
|
||||
START: RESET ;begin execution here
|
||||
;UPPER TRIANGLE ...
|
||||
MOVEI 12,6 ;initial line countdown
|
||||
MOVEI 14,5 ;initial line length
|
||||
; here to print each line
|
||||
ULINE: MOVEI 13,0 ;initial character count
|
||||
AOS 14 ;increment line length
|
||||
; print one character on a line
|
||||
UCHAR: CAML 13,12 ;skip if printing spaces
|
||||
JRST UPSTAR ;go print a star
|
||||
HRROI 1,BLANK ;print a blank
|
||||
PSOUT
|
||||
JRST UELIN ;test for end of line
|
||||
|
||||
UPSTAR: HRROI 1,ASTER ;print a star
|
||||
PSOUT
|
||||
UELIN: CAMGE 13,14 ;have we reached the end of line?
|
||||
AOJA 13,UCHAR ;print the next character
|
||||
HRROI 1,NEWLIN ;print the carriage return & line feed
|
||||
PSOUT
|
||||
CAILE 12,1 ;finished all lines yet?
|
||||
SOJA 12,ULINE ;no. do more.
|
||||
|
||||
;LOWER TRIANGLE ...
|
||||
MOVEI 12,0 ;initial line count
|
||||
MOVEI 14,15 ;initial line length
|
||||
; here to print each line
|
||||
LLINE: MOVEI 13,0 ;initial character count
|
||||
SOS 14 ;decrement line length
|
||||
; print one character on a line
|
||||
LCHAR: CAML 13,12 ;skip if printing spaces
|
||||
JRST LPSTAR ;go print a star
|
||||
HRROI 1,BLANK ;print a blank
|
||||
PSOUT
|
||||
JRST LELIN ;test for end of line
|
||||
|
||||
LPSTAR: HRROI 1,ASTER ;print a star
|
||||
PSOUT
|
||||
LELIN: CAMGE 13,14 ;have we reached the end of line?
|
||||
AOJA 13,LCHAR ;print the next character
|
||||
HRROI 1,NEWLIN ;print the carriage return & line feed
|
||||
PSOUT
|
||||
CAIGE 12,6 ;finished all lines yet?
|
||||
AOJA 12,LLINE ;no. do more.
|
||||
HALTF ;all done
|
||||
|
||||
BLANK: ASCIZ / /
|
||||
ASTER: ASCIZ /*/
|
||||
NEWLIN: ASCIZ /
|
||||
/
|
||||
END START
|
49
hw2.mac
Normal file
49
hw2.mac
Normal file
@ -0,0 +1,49 @@
|
||||
TITLE HW2 DIAMOND - Homework 2
|
||||
SEARCH MONSYM
|
||||
|
||||
Comment $ (Gorin p. 65)
|
||||
|
||||
Accumulator usage:
|
||||
10 line counter (L: [-6, 6])
|
||||
11 star pairs on current line (P: [0, 6] (L<=0)
|
||||
[5, 0] (L>0))
|
||||
12 filler space counter (F: |L| (initial))
|
||||
13 star pair counter
|
||||
$
|
||||
|
||||
START: RESET
|
||||
MOVNI 10,6
|
||||
MOVEI 11,0
|
||||
|
||||
LINE: MOVM 12,10
|
||||
MOVE 13,11
|
||||
|
||||
FILL: JUMPE 12,PAIRS
|
||||
HRROI 1,SPACE
|
||||
PSOUT
|
||||
SOJA 12,FILL
|
||||
|
||||
PAIRS: JUMPE 13,ENDLIN
|
||||
HRROI 1,STRSTR
|
||||
PSOUT
|
||||
SOJA 13,PAIRS
|
||||
|
||||
ENDLIN: HRROI 1,STRNL
|
||||
PSOUT
|
||||
|
||||
AOJ 10,
|
||||
CAILE 10,6
|
||||
JRST END
|
||||
|
||||
CAILE 10,0
|
||||
SOSA 11
|
||||
AOJ 11,
|
||||
JRST LINE
|
||||
|
||||
END: HALTF
|
||||
|
||||
SPACE: ASCIZ / /
|
||||
STRSTR: ASCIZ /**/
|
||||
STRNL: ASCIZ /*
|
||||
/
|
||||
END START
|
28
instfmt.txt
Normal file
28
instfmt.txt
Normal file
@ -0,0 +1,28 @@
|
||||
PDP-10 Instruction Format
|
||||
|
||||
PDP-10 machine code instructions are stored in 36-bit words with the
|
||||
following format:
|
||||
|
||||
Bits Length Contents
|
||||
0-8 9 OP: operation code
|
||||
9-12 4 AC: accumulator
|
||||
13 1 I: indirect flag
|
||||
14-17 4 X: index
|
||||
18-35 18 Y: address
|
||||
|
||||
(Input/output instructions have a different format, but are only allowed
|
||||
in privileged programs.)
|
||||
|
||||
|
||||
Instruction fields are represented in assembly language statements as
|
||||
follows:
|
||||
|
||||
OM (AC, I, Y, X are zero)
|
||||
OM Y (AC, I, X are zero)
|
||||
OM AC, (I, Y, X are zero)
|
||||
OM AC,Y (I and X are zero)
|
||||
OM AC,Y(X) (I is zero)
|
||||
OM AC,@Y (I is 1, X is zero)
|
||||
OM AC,@Y(X) (AC, I, Y, X all non-zero)
|
||||
|
||||
(OM: operation code mnemonic name)
|
60
instruct.txt
Normal file
60
instruct.txt
Normal file
@ -0,0 +1,60 @@
|
||||
PDP-10 Instructions
|
||||
|
||||
MOV - Move full word between accumulator and memory.
|
||||
|
||||
MOVE* - Move without modification.
|
||||
MOVN* - Negate source.
|
||||
MOVM* - Magnitude (absolute value) of source.
|
||||
MOVS* - Swap source upper- and lower-half words.
|
||||
|
||||
MOV* - Move from memory to AC.
|
||||
MOV*I - Immediate. Source is value of E itself.
|
||||
MOV*M - Move from AC to memory.
|
||||
MOV*S - Move from E to E.
|
||||
|
||||
EXCH - Exchange values of AC and E.
|
||||
|
||||
JRST - Unconditional jump.
|
||||
|
||||
JUMP[c] - Compare AC to zero and jump to E if condition met.
|
||||
|
||||
AOJ[c] - Add one to AC, compare result to zero, and jump if condition
|
||||
met.
|
||||
|
||||
SOJ[c] - Substract one from AC, compare result to zero, and jump if
|
||||
condition met.
|
||||
|
||||
AOBJ - Add one to both upper- and lower-half word of AC and jump.
|
||||
|
||||
AOBJN - Jump if AC is less than zero.
|
||||
AOBJP - Jump if AC is greater than or equal to zero.
|
||||
|
||||
SKIP[c] - Compare contents of E to zero and skip next instruction if
|
||||
condition met. If AC is non-zero, set AC to contents of E.
|
||||
|
||||
AOS[c] - Add one to E, compare result to zero, and skip next
|
||||
instruction if condition met. If AC is non-zero, set AC to
|
||||
contents of E.
|
||||
|
||||
SOS[c] - Substract one from E, compare result to zero, and skip next
|
||||
instruction if condition met. If AC is non-zero, set AC to
|
||||
contents of E.
|
||||
|
||||
CAM[c] - Compare contents of AC and E and skip next instruction if
|
||||
condition met.
|
||||
|
||||
CAI[c] - Compare contents of AC to value of E (immediate) and skip next
|
||||
instruction if condition met.
|
||||
|
||||
|
||||
[c] - Arithmetic conditions for jump and skip instructions (JUMP, AOJ,
|
||||
SOJ, SKIP, AOS, SOS, CAM, CAI).
|
||||
|
||||
blank - Never jump/skip.
|
||||
L - Less than.
|
||||
LE - Less than or equal.
|
||||
E - Equal.
|
||||
N - Not equal.
|
||||
GE - Greater than or equal.
|
||||
G - Greater than.
|
||||
A - Always jump/skip (JUMPA is deprecated in favor of JRST).
|
21
mydtim.mac
Normal file
21
mydtim.mac
Normal file
@ -0,0 +1,21 @@
|
||||
TITLE MYDTIM - Emulate EXEC DAYTIME command
|
||||
Comment $
|
||||
Contributed by David Meyer <papa@twenex.org>/<papa@sdf.org>
|
||||
March 9, 2022
|
||||
$
|
||||
SEARCH MONSYM
|
||||
|
||||
START: RESET
|
||||
HRROI 1,[ASCIZ " "] ;Compile single space string and print
|
||||
PSOUT ; at beginning of line (because DAYTIME
|
||||
; does)
|
||||
GTAD ;Set AC1 to current system date/time word
|
||||
MOVE 2,1 ;Copy date/time from AC1 to AC2
|
||||
|
||||
MOVEI 1,.PRIOU ;Set AC1 to output destination (.PRIOU =
|
||||
; primary output)
|
||||
HRROI 3,-1 ;Set AC3 to format option
|
||||
ODTIM
|
||||
|
||||
HALTF
|
||||
END START
|
47
mydtim.txt
Normal file
47
mydtim.txt
Normal file
@ -0,0 +1,47 @@
|
||||
MYDTIM.MAC - Emulate EXEC DAYTIME command
|
||||
|
||||
PUBLIC:<CONTRIB>MYDTIM.MAC
|
||||
PUBLIC:<CONTRIB>MYDTIM.EXE
|
||||
PUBLIC:<CONTRIB>MYDTIM.TXT
|
||||
|
||||
Contributed by David Meyer <papa@twenex.org>/<papa@sdf.org>
|
||||
March 9, 2022
|
||||
|
||||
MACRO assembly language source demonstrating use of GTAD and ODTIM JSYS
|
||||
to get system date/time, then format and print it like the EXEC command
|
||||
DAYTIME.
|
||||
|
||||
GTAD
|
||||
Gets the current system date/time word (the format of which is a
|
||||
story for another day) and stores it in AC1.
|
||||
|
||||
ODTIM
|
||||
Format and print a date/time.
|
||||
INPUTS:
|
||||
AC1: Output destination (.PRIOU for primary output)
|
||||
AC2: Date/time word (-1 to use current system date/time)
|
||||
AC3: Date format (-1 for "Weekday, Month dd, yyyy hh:mm:ss"
|
||||
(like DAYTIME))[*]
|
||||
|
||||
(Since ODTIM can be instructed to use the current system date/time by
|
||||
storing -1 in AC2, the lines:
|
||||
|
||||
GTAD
|
||||
MOVE 2,1
|
||||
|
||||
... could be replaced with:
|
||||
|
||||
HRROI 2,-1
|
||||
|
||||
... eliminating the need to call GTAD directly.)
|
||||
|
||||
|
||||
[*] For more format options, see "ODTIM JSYS 220", TOPS-20 Monitor Calls
|
||||
Reference Manual, p. 3-295.
|
||||
|
||||
|
||||
Reference:
|
||||
|
||||
TOPS-20 Monitor Calls Reference Manual. Nashua, NH: Digital Equipment
|
||||
Corporation, 1982. Available: Bitsavers' Computing Archive,
|
||||
http://bitsavers.org/pdf/dec/pdp10/TOPS20/AA-4166E-TM_TOPS-20_Monitor_Calls_Reference_Ver_5_Dec82.pdf [Accessed March 9, 2022].
|
18
template.mac
Normal file
18
template.mac
Normal file
@ -0,0 +1,18 @@
|
||||
TITLE TEMPLT - MACRO program source file template
|
||||
|
||||
Comment $ This is a template for MACRO assembly language source files
|
||||
|
||||
$
|
||||
|
||||
SEARCH MONSYM ;Add TOPS-20 symbols to MACRO
|
||||
|
||||
START: RESET ;RESET the state of I/O devices
|
||||
|
||||
;... (program source here) ...
|
||||
|
||||
HALTF ;Stop execution here.
|
||||
|
||||
DATA: ASCIZ /Program data goes here ...
|
||||
/
|
||||
|
||||
END START ;End of program, start at START
|
Loading…
Reference in New Issue
Block a user