LISP Linkage Feature: Incorporating MIDAS into PDP-6 LISP

Revised

Bibliographic Details
Main Author: Silver, Roland
Language:en_US
Published: 2004
Online Access:http://hdl.handle.net/1721.1/6136
_version_ 1826214111575277568
author Silver, Roland
author_facet Silver, Roland
author_sort Silver, Roland
collection MIT
description Revised
first_indexed 2024-09-23T15:59:59Z
id mit-1721.1/6136
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T15:59:59Z
publishDate 2004
record_format dspace
spelling mit-1721.1/61362019-04-12T07:43:59Z LISP Linkage Feature: Incorporating MIDAS into PDP-6 LISP Silver, Roland Revised Some PDP6 LISP users have felt a need for a way to incorporate MIDAS subroutines into LISP. LISP has been changed to let you do this, using files found on the LISP SYSTEM microtape. You write a routine for LISP in much the same way that you write any other MIDAS relocatable subroutine. You must, however, observe the constraints imposed by LISP's allocation and use of accumulators, and its methods of handling input, output, and interrupts. In addition, you require linkage to LISP before your routine can operate properly: The entry point(s) of the subroutine must be put on the property list(s) of the appropriate atom(s), and the address fields of the instructions pointing to other routines, to list structure, or the other LISP data structures must be set properly. This is done when LISP begins operation??er allocation, but before going into its listen loop. We provide eight macros to ease the job of creating such linkages: SUBR, FSUBR, MACRO, QUOTE, E, SPECIAL, and SYM. If you write "SUBR name" at a location a in your routine, LISP will subsequently ascribe the property SUBR to the atom name, with entry location a. Similar remarks apply to the use of FSBUR, LSBUR, and MACRO. The significance and use of other four macros is perhaps best communicated through examples: 1. An instruction like "MOVEI A,QUOTE(X Y Z)" will be assembled as "MOVEI A,O". At link time, however, LISP will insert the location of list (X Y Z) into the address field of the instruction. 2. 2. Suppose that the atom FOO has the properties shown in Figure 1. Then the instructions "MOVEI A QUOTE FOO", "MOVEM B, SPECIAL FOO", "PUSHJ P, SYM FOO", and "CALL E FOO" will each be assembled with a zero address field, which will be modified at link time to be b, c, 106, and 101, respectively. 2004-10-04T14:42:50Z 2004-10-04T14:42:50Z 1967-10-01 AIM-127a http://hdl.handle.net/1721.1/6136 en_US AIM-127a 5 p. 3960613 bytes 137495 bytes application/postscript application/pdf application/postscript application/pdf
spellingShingle Silver, Roland
LISP Linkage Feature: Incorporating MIDAS into PDP-6 LISP
title LISP Linkage Feature: Incorporating MIDAS into PDP-6 LISP
title_full LISP Linkage Feature: Incorporating MIDAS into PDP-6 LISP
title_fullStr LISP Linkage Feature: Incorporating MIDAS into PDP-6 LISP
title_full_unstemmed LISP Linkage Feature: Incorporating MIDAS into PDP-6 LISP
title_short LISP Linkage Feature: Incorporating MIDAS into PDP-6 LISP
title_sort lisp linkage feature incorporating midas into pdp 6 lisp
url http://hdl.handle.net/1721.1/6136
work_keys_str_mv AT silverroland lisplinkagefeatureincorporatingmidasintopdp6lisp