/VC8E POINT PLOT DISPLAY HANDLER
/
/
/MAX-PLANCK-INSTITUT FUER PSYCHATRIE
/STEPHAN V. BECHTOLSHEIM, ULRICH GSCHREI
/KRAEPELINSTR.2
/D-8000 MUENCHEN 40
/WESTERN GERMANY
/
/DATE: SATURDAY,  APRIL 5, 1975
/
/VERSION A
/
/
FIXMRI INC=2000
             /ISZ USED AS INSTRUCTION TO INCREMENT
             /THE CONTENT OF A LOCATION
             /THE SKIP INSTRUCTION IS NOT USED
CLAL=7300    /CLEAR AC AND LINK
AC0001=7301  /AC:=+1
AC4000=7330  /AC:=4000
/HEADER BLOCK
        *0
        -2              /2 ENTRIES
/
/
/
/
/ ***** O U T P *****
/FIRST ENTRY CALLED OUTP
/ERASE AND INITIALIZE SCREEN
        DEVICE VC8E     /GROUP NAME
        DEVICE OUTP     /DEVICE NAME
        1500            /DEVICE CONTROL BLOCK:
                        /WRITE ONLY
                        /DEVICE CODE NUMBER 50
        OUTP-BEGIN      /ENTRY POINT WORD:
                        /ONE PAGE HANDLER
                        /RELATIVE ENTRY
        0;0
/
/
/
/
/ ***** D I S P *****
/SECOND ENTRY CALLED DISP
/SCREEN IS NOT ERASED ON FIRST ENTRY
        DEVICE VC8E     /GROUP NAME
        DEVICE DISP     /DEVICE NAME
        1510            /DEVICE CONTROL BLOCK:
                        /WRITE ONLY
                        /DEVICE CODE NUMBER 51
        DISP-BEGIN      /ENTRY POINT WORD:
                        /ONE PAGE HANDLER
                        /RELATIVE ENTRY
        0;0
/BODY OF THE HANDLER
        *200
BEGIN,
OUTP,
ENTRY,  0               /ENTRYPOINT TO HANDLER OUTP
        CLAL
        ISZ FIRST       /SKIP ON FIRST ENTRY
        AC0001          /HANDLER HAS BEEN CALLED
                        /ONCE ALREADY
        DCA MQHELP      /MQ=0: IF HELP IS CALLED
                        /FIRST ERASE SCREEN
START,  AC4000
        AND I ENTRY     /READ OR WRITE
        RAL             /LINK =0 YOU TRIED TO READ
        TAD I ENTRY
        AND (3700       /WORD COUNT=NUMBER OF
                        /128-WORD-RECORDS
        CMA
        DCA WC          /-(WC+1) STORED AS WORDCOUNT
        RDF             /READ DATA FIELD =
                        /INSTRUCTION FIELD
                        /OF CALLING PROGRAM
        TAD (CDF CIF
        DCA EXCIDF      /INSTRUCTION CIF CDF
                        /ON RETURN
        TAD I ENTRY     /FIRST ARGUMENT
                        /LOADED A THIRD TIME
        AND (0070       /MEMORY FIELD BUFFER
        TAD (CDF
        DCA BUFCDF      /CDF FOR BUFFER
        INC ENTRY
        TAD I ENTRY     /GET SECOND ARGUMENT
        DCA CA          /BUFFER ADDRESS
        INC ENTRY       /STARTING BLOCKNUMBER
                        /IS IGNORED
        INC ENTRY       /ENTRY HOLDS
                        /ERROR RETURN ADDRESS
        SNL
        JMP ERROR       /YOU TRIED TO READ
        TAD MQHELP
        SWP             /MQ LOADED FOR CALL
                        /OF PROGRAM HELP
        CLAL
READ,   ISZ WC          /UPDATE WORDCOUNT
        JMP BUFCDF
        JMP RETURN      /BUFFER EXHAUSTED
/UNPACK CHARACTERS
BUFCDF, HLT             /CDF BUFFER
        CLAL
        TAD I CA        /GET FIRST WORD IN BUFFER
        AND (0377
        DCA CH1         /STORE FIRST CHARACTER
        TAD I CA
        AND (7400
        DCA CH3         /STORE LEFT HALF
                        /OF THIRD CHARACTER
        INC CA
        TAD I CA
        AND (0377
        DCA CH2         /STORE SECOND CHARACTER
        TAD I CA
        AND (7400       /RIGHT HALF
                        /OF THIRD CHARACTER
        RTR
        RTR
        TAD CH3
        RTR
        RTR
        DCA CH3         /STORE THIRD CHARACTER
        INC CA
        KRB
        TAD CTRLC
        SNA CLA         /SKIP IF NOT CTRL/C TYPED
        JMP MONIT       /CALL MONITOR
        CDF 00
        CIF HEL
        JMS I (STRTHL+4 /CALL PROGRAM HELP
CH1,    0
CH2,    0
CH3,    0
RETA,   JMP RETURN      /RETURN A FROM HELP
                        /CTRL/Z FOUND IN BUFFER
                        /OR READ FROM KEYBOARD
RETB,   AC0001          /RETURN B FROM HELP
                        /TO AVOID FURTHER
                        /FORMFEEDS
        SWP
        JMP READ        /UNPACK NEXT CHARACTERS
/RETURN FROM HANDLER
RETURN, CLAL
        INC ENTRY       /NO ERROR RETURN
EXCIDF, HLT             /CIF CDF CALLING PROGRAM
        JMP I ENTRY     /RETURN
ERROR,  AC4000          /ERROR RETURN AC=4000
        JMP EXCIDF
MONIT,  CIF CDF 00      /CTRL/C CALLS MONITOR
        JMP I (7600
/
/
/
/
DISP,   0               /ENTRYPOINT TO HANDLER DISP
        CLAL
        TAD DISP
        DCA ENTRY       /ENTRY HOLDS ADDRESS
                        /OF FIRST ARGUMENT
        AC0001
        DCA MQHELP      /ERASE FUNCTION IS
                        /SUPRESSED ON FIRST
                        /ENTRY TO HELP
        JMP START       /JUMP TO GET ARGUMENTS
/
/
/
/
WC,     0               /WORD COUNT
                        /COUNTS 2 WORDS
                        /=3 CHARACTERS
CA,     0               /PRESENT ADDRESS IN BUFFER
FIRST,  -1              /TO CONTROL FIRST ENTRY
                        /TO THE HANDLER
CTRLC,  -203            /NEGATIVE VALUE OF CTRL/C
MQHELP, 0               /VALUE OF MQ, IF HELP
                        /IS CALLED FIRST
                        /=0 FORCES ERASE
        $
