1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-13 15:27:28 +00:00
PDP-10.its/doc/draw/notes.4
2018-05-05 19:19:09 +02:00

110 lines
3.1 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;BODY/TYPE PROPERTY ROUTINES
;FPROP - FIND BODY DEF PROPERTY
;T = STRING PROPERTY NAME
;A = TYPE
;SKIP RETURNS
;T = PROPERTY BLOCK POINTER
; (TTT NOW CONTAINS STRING POINTER)
;FPROPX - FIND PROPERTY NAME IN LIST SUPPLIED
;TTT = BODY OR TYPE DEF PROPERTY LIST POINTER
;FNDDIP - FIND DIP TYPE
;A = BODY POINTER
;SKIP RETURNS
;T = DIPTYPE BLOCK POINTER
;BFPROP - FIND PROPERTY FOR BODY
;A = BODY POINTER
;T = STRING PROPERTY NAME
;SKIP RETURNS
;T = PROPERTY BLOCK POINTER
;SKIPS 1 IF FOUND IN BODY DEF (NO INDIRECT LIST IN BODY)
;SKIPS 2 IF FOUND IN BODY (INDIRECT OR DIRECT)
;PROPERTY NAME STRING IS RETURNED TO FS IF FOUND
;BFCPRP - FIND BODY OR BODY DEF PROPERTY BY CLOSEST MATCH NAME
;TTT = POINTER TO PROPERTY LIST
;T = RETURNS PROPERTY BLOCK OR INDIRECT POINTER
;MPROP - MAKE A PROPERTY BLOCK AND ADD TO TYPE DEF
;T = STRING PROPERTY NAME IN T
;A = TYPE
;RETURNS
;T = NEW BLOCK (WITH NO VALUE STRING YET)
;MAKTXT - MAKE TEXT/PROPERTY BLOCK, POINTER RETURNED IN TT
;FBTPTR - FIND INSTANCE OF PROPERTY/TEXT INDIRECT POINTER
;B = LAST BODY FOUND
;A = BODY DEF PROPERTY/TEXT BLOCK POINTER
;SKIP RETURNS
;B = NEW BODY
;(C = PREVIOUS)
; POINTER TO INDIRECT BLOCK IN D
;COPLTP - MAKE INDIRECT LIST TO BODY DEF TEXT/PROPERTIES
;A = BODY POINTER
;(IF E POINTS TO BODY DEF PROPERTY, IT IS CHANGED TO POINT TO INDIRECT BLOCK)
;RETURNS
;E = POSSIBLY UPDATED POINTER TO INDIRECT BLOCK
;T = PTR TO END OF LIST
;ASCCOP - MAKE INTERNAL FORMAT STRING FROM ASCIZ STRING
;TT = ASCIZ STRING POINTER
;RETURNS
;T = INTERNAL FORMAT STRING POINTER
;MERGEP - MERGE PROP LIST INTO BODY'S PROP LIST
;A = PTR TO BODY
;B = PROP LIST TO MERGE
;TXTREL - RELEASE PROPERTY LIST FROM TYPE OR BODY
; C = PROPERTY LIST
;CPYPRP - COPY CONTENTS OF ONE TEXT BLOCK ONTO ANOTHER
;A = SOURCE TEXT BLOCK
;B = DESTINATION "
;CMPBDY,CMPTYP - COMPILE PROPERTIES ON BODY OR TYPE
;A = BODY OR TYPE
;LH A = FLG -1 MEANS TYPE
;CMPIT - COMPILE PROPERTY FOR BODY OR TYPE
;A = BODY (0 LH) OR TYPE (-1 LH)
;B = PROPERTY
;FLSBDY, FLSTYP - DELETING PROPERTY, CHECK AND FLUSH MAYBE
;A = BODY OR TYPE
;B = PROP BEING FLUSHED
;VERPRP - CHECK BODY, TYPE FOR CONSISTENCY W.R.T. COMPILED SPECIAL PROPS
;A = BODY (0 IN LH), TYPE (-1 IN LH)
;;;;;;
CONBOX(E=POINT)
CONCAL(A=POINT)
CSLTLP(PIN#,,B-R-S)
CONNUM(E=POINT)
CSLTLP
CALCOF(E=POINT)
OFFCON
;;;;;
VERIFY X-COMMAND TO SEE IF PROP COMPILATIONS ARE CONSISTENT
CHECK FETCH-STORES
1) STARTING LOOP WITH "LOCATIVE" - ALL NXT TYPE
FETCHES ARE LEGAL IF THEY RESULT IN A PTR
THAT IS NULL, OR TO TYPE FETCHED.
2) BODY DELETE CAN CHANGE PINS INTO POINTS!
SOME THINGS ARE ASSOCIATED WITH DIPTYPE
WHICH MAY BE HUNG OFF OF BODIES, OR INHERITED FROM TYPES
- # OF SECTIONS
- # OF PINS DEFINED
DIP DEF LIST GIVING
- PIN NAME
- SECTION(S)
- SECTION PIN #
- PACKAGE TYPE
- # OF PINS IN PACKAGE
SETTING "DIPTYPE" PROP SHOULD CLEAR ALL DEFINITIONS
MAYBE LOOK TO SEE IF DIPTYPE IS IN CORE
GETDEF READS DIPS.DIP AND DEFINES INFO FOR TYPE, AND ALL BODIES WITH
THE SAME DIPTYPE
SETTING "PACKAGE" SHOULD OVERIDE PACKAGE DEF FROM DIPS.DIP
THATS WHAT TXBIT IS THERE FOR