*** empty log message ***
[h316.git] / lib / iolib / src / i$pa.asm
index dc656b538fa4f3ef3d08bcf06fbd8d3fa372a67d..acbb230644c79a89f43a3a88eb8bcf4a80f405df 100644 (file)
@@ -10,6 +10,7 @@
 *
 * REVISIONS: 
 *            0.1 (2005-02.04)
+*            0.2 (2006-12.14) - ADDED REGISTER SAVE INSTRUCTIONS
 *
 * AUTHOR
 *
@@ -68,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
@@ -82,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
@@ -194,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
@@ -211,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