'CORAL' L33 'INCLUDE' "[200,25]GENDEF.COR" 'LIBRARY' ( 'COMMENT' BASIC COMPATABLE PROCEDURES; 'INTEGER''PROCEDURE' LEN ('VALUE''INTEGER'); 'INTEGER''PROCEDURE' LPOS('VALUE''INTEGER','VALUE''INTEGER','VALUE''INTEGER'); 'INTEGER''PROCEDURE' LSEG('VALUE''INTEGER','VALUE''INTEGER','VALUE''INTEGER'); 'PROCEDURE' COPY ('VALUE''INTEGER','VALUE''INTEGER'); 'PROCEDURE' CLEAR ('VALUE''INTEGER'); 'PROCEDURE' ADD TO('VALUE''INTEGER','VALUE''INTEGER')); 'COMMON' ('INTEGER''PROCEDURE' CYPHER ('VALUE''INTEGER','VALUE''INTEGER','VALUE''INTEGER')); 'SEGMENT' RJSSUB 'BEGIN' 'INTEGER''PROCEDURE' CYPHER('VALUE''INTEGER' FROM, TO, UNCODE); 'BEGIN' 'INTEGER' SIZE, CODE, POS, CHAR, A; 'BYTE''ARRAY' WORKSPACE[0:259]; 'BYTE''ARRAY' CHARSPACE[0:11]:=4,0; 'OVERLAY' WORKSPACE 'WITH' 'INTEGER' MAX LENGTH; 'COMMENT' START OF PROCEDURE; CODE:='LOCATION'(WORKSPACE[2]); (HOLD ADDRESS OF WORK STRING) CHAR:='LOCATION'(CHARSPACE[2]); (HOLD ADDRESS OF CHAR WORK STRING) MAX LENGTH:=256; (STRING MAX LENGTH IS 256 CHARACTERS) 'IF' FROM=VOID 'OR' FROM=ERROR 'OR' TO=VOID 'OR' TO=ERROR 'OR' UNCODE=VOID 'OR' UNCODE=ERROR 'THEN' 'ANSWER' ERROR; SIZE:= 'IF' LEN(FROM)0 'THEN' ADD TO(CODE,LSEG(TO,POS,POS)) 'ELSE' ADD TO(CODE,CHAR); (ADD IN NEW CODED CHARACTER OR OLD CHARACTER) 'END'; 'ANSWER' CODE; (REPLY WITH ADDRESS OF CYPHERED STRING) 'END'; 'END'; 'FINISH'