X-Git-Url: http://gitweb.hachti.de/?a=blobdiff_plain;f=lib%2Fiolib%2Fsrc%2Fi%24pa.asm;h=acbb230644c79a89f43a3a88eb8bcf4a80f405df;hb=0b8fa8754893006b8a88448dbd32ac21ce911731;hp=a5e3033dd295f33fd6bf848132737f6a505eae03;hpb=c08e22bbb226696a64764be9b466a02a3ab0d93f;p=h316.git diff --git a/lib/iolib/src/i$pa.asm b/lib/iolib/src/i$pa.asm index a5e3033..acbb230 100644 --- a/lib/iolib/src/i$pa.asm +++ b/lib/iolib/src/i$pa.asm @@ -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) @@ -49,7 +50,11 @@ * . . * 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