*
* REVISIONS:
* 0.1 (2005-02.04)
+* 0.2 (2006-12.14) - ADDED REGISTER SAVE INSTRUCTIONS
*
* AUTHOR
*
*
* PURPOSE
*
-* TO READ ASCII SOURCE TEXT FROM HIGH SPEED PAPTER TAPE READER
+* TO READ ASCII SOURCE TEXT FROM HIGH SPEED PAPER TAPE READER
*
*
* RESTRICTIONS
* 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
* 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
*
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
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
*
* 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