|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2304 (0x900) Types: TextFile Names: »parentnamtx«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt. └─⟦0364f57e3⟧ └─⟦787c125fb⟧ »adjprocfile« └─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ. └─⟦b2ec5d50f⟧ └─⟦787c125fb⟧ »adjprocfile« └─⟦this⟧
; parent_nam_tx * page 1 13 08 79, 12.48; ; parent_name ; *********** parent_name = set 1 parent_name = algol external integer procedure parent_name ______________________________________ _ (c_name, char, p_name); long array c_name, p_name; long char; comment parent_name (call and return, integer proc) The last character in the text stored in c_name is extracted and stored in char, and the remaining text is stored in p_name. The value of the procedure is the number of remaining characters in the text. An empty string is permitted. c_name (call, long array) An array of up to 11 characters. The array is unchanged after the call, but if c_name(1) has a zero in the least significant 8 bits c_name(2) is cleared. char (return, long) Contains the last character of the text in c_name stored in the most significant 8 bits. If c_name is empty, char is zero. p_name (return, long array) Contains the remaining text of c_name after extraction of char. Prog. Knud Poder, JUN 1979 ; \f comment parent_nam_tx * page 2 13 08 79, 12.48 0 1 2 3 4 5 6 7 8 9 ; begin integer i, t; long ch; if c_name(1) extract 8 = 0 then c_name(2) := 0; if c_name(1) <> 0 then begin t := -8; for i := t + 8 while _ (c_name(1 + i//48) shift ((i mod 48) - 40)) _ extract 8 <> 0 do _ t := i; end else t := -8; i := t//8; if i >= 0 then begin parent_name := i; for i := 1 step 1 until 2 do p_name(i) := c_name(i); i := 1 + t//48; t := 40 - (t mod 48); ch := p_name(i) shift (-t); char := ch shift 40; p_name(i) := (ch shift (-8)) shift (t + 8); end i >= 0 else begin parent_name := 0; char := 0; end; end parent_name; end; if ok.no mode warning.yes if warning.yes (mode 0.yes message parent_name not ok lookup parent name) end finis ▶EOF◀