*** empty log message ***
[h316.git] / lib / iolib / src / i$pa.asm
index a5e3033dd295f33fd6bf848132737f6a505eae03..acbb230644c79a89f43a3a88eb8bcf4a80f405df 100644 (file)
@@ -10,6 +10,7 @@
 *
 * REVISIONS: 
 *            0.1 (2005-02.04)
+*            0.2 (2006-12.14) - ADDED REGISTER SAVE INSTRUCTIONS
 *
 * AUTHOR
 *
@@ -18,7 +19,7 @@
 *
 * PURPOSE
 *
-*    TO READ ASCII SOURCE TEXT FROM HIGH SPEED PAPTER TAPE READER
+*    TO READ ASCII SOURCE TEXT FROM HIGH SPEED PAPER TAPE READER
 *
 *
 * RESTRICTIONS
@@ -38,8 +39,8 @@
 *             CALL I$PA
 *             DAC (BUFFER ADDRESS)
 *
-*    I$PI - CONFIGURE O$PA
-*             CALL O$PI
+*    I$PI - CONFIGURE I$PA
+*             CALL I$PI
 *             DEC (NUMBER OF WORDS IN DATA BUFFER)
 *             DEC (NUMBER OF TABS IN FOLLOWING TABLE, IF ANY)
 *             DEC TAB (1)
 *              .    .
 *             DEC TAB (N)
 *
-*     
+* NOTICE
+*
+*      THE CHARACTER SEQUENCE 'ABS' HAS BEEN REPLACED BY 'DBS' BECAUSE THE 
+*      ASSEMBLER SHOWED STRANGE BEHAVIOUR
+*           
 ********************************************************************************
 *
 * EXPORTED LABELS
@@ -64,6 +69,8 @@
 * SETUP READ ROUTINE
 *
 I$PI   DAC     **      SETUP READ ROUTINE
+       STA     SRA     SAVE A REGISTER
+*
        LDA*    I$PI    WORD COUNT PARAMETER
        LGL     1       LEFT SHIFT 1
        STA     LIM     BUFFER LIMIT
@@ -78,13 +85,18 @@ I$PI        DAC     **      SETUP READ ROUTINE
 *
        ADD     NTAB    TAB COUNT
        STA     I$PI    RETURN ADDRESS
+       LDA     SRA
        JMP*    I$PI    EXIT
 *
 *
 * READ ROUTINE
 *
 I$PA   DAC     **      READ ROUTINE
-       STX     SIR     SAVED INDEX REGISTER
+       STA     SRA     SAVE A REGISTER
+       IAB
+       STA     SRB     SAVE B REGISTER
+       STX     SRI     SAVE INDEX REGISTER
+*
        LDA*    I$PA    BUFFER ADDRESS PARAMETER
        LGL     1       LEFT SHIFT 1
        STA     BUFL    BUFFER LINK
@@ -190,7 +202,10 @@ DLT        JST     INPT    READ ONE CHARACTER
 EXIT   IRS     I$PA    TALLY RETURN ADDRESS
        IRS     I$PA    TALLY RETURN ADDRESS
 *
-       LDX     SIR     SAVED INDEX REGISTER
+       LDX     SRI     SAVED INDEX REGISTER
+       LDA     SRB     RESTORE B REGISTER
+       IAB
+       LDA     SRA     RESTORE A REGISTER
        JMP*    I$PA    EXIT
 *
 * CHARACTER INPUT ROUTINE
@@ -207,7 +222,9 @@ INPT        DAC     **
 *
 * VARIABLES AND CONSTANTS
 *
-SIR    BSZ     1       STORED INDEX REGISTER
+SRI    BSZ     1       SAVED INDEX REGISTER
+SRA    BSZ     1       SAVED A REGISTER
+SRB    BSZ     1       SAVED B REGISTER
 BUFL   BSZ     1       BUFFER LINK
 CP     BSZ     1       CHARACTER POSITION
 TABI   BSZ     1       TABLE POINTER