DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦4d3ae626e⟧ TextFile

    Length: 4392 (0x1128)
    Types: TextFile
    Names: »CHAR_IO.I«

Derivation

└─⟦e0c43619c⟧ Bits:30005797 CR80 Disc pack ( Vol:FNJ1 861029/EC CR80 S/W Package II+III+IV+V+VII )
    └─ ⟦this⟧ »CSP007_V0501.D!CSS7000.D!CHAR_IO.I« 

TextFile


%LIST     %LIST     %LIST
"-----------------------------------------------------------------------
"
"  MODULE NAME:           TPE Character IO
"  MODULE ID NMB:         CSS/7000
"  MODULE VERSION:        03
"  MODULE RELEASE:        01
"  RELEASE DATE:          850910
"
"-----------------------------------------------------------------------
%NOLIST   %NOLIST   %NOLIST

«ff»
"------------------------------------------------------------
" Procedures used to communicate directly with the
" operator's console
"------------------------------------------------------------



IMPORT PROCEDURE IN_BYTE
"======================"
   (R3;  " - R  CHARACTER VALUE (RETURN)"
    R6); " C D  LINK"
"------------------------------------------------------------
" Reads a word and saves it
" By each call of IN_BYTE one character is returned
" in R3.
"------------------------------------------------------------


IMPORT PROCEDURE OUTCHAR
"======================"
   (R3;  " C K  CHARACTER"
    R6); " C D  LINK"
"------------------------------------------------------------
" Print a single character
"------------------------------------------------------------


IMPORT PROCEDURE FLUSHOUT
"======================="
   (R6); " C D  LINK"
"--------------------------------------------------------
" FLUSHES THE BUFFER ONTO CURRENT OUTPUT
"--------------------------------------------------------


IMPORT PROCEDURE DEFINE_BREAK_HANDLER
"==================================="
   (R0;  " C K  JUMP LOCATION, TO BE USED IF BREAK OCCURS
    R6); " C D  LINK
"----------------------------------------------------------------------
" SAVES THE BREAK LOCATION FROM R0 IN THE VARIABLE 'BREAK_LOCATION'.
" THEREBY CAUSING BREAKS FROM THE CONSOLE IMPLYING A JUMP TO A NEW
" PLACE.
"----------------------------------------------------------------------


IMPORT PROCEDURE CLEAR_BREAK_HANDLER
"=================================="
   (R6); " C D  LINK
"----------------------------------------------------------------------
" LOADS THE VALUE OF 'ORIGINAL_BREAK_LOCATION' INTO 'BREAK_LOCATION'.
" THEREBY CAUSING BREAKS TO IMPLY A JUMP TO THE ORIGINAL BREAK
" LOCATION.
"----------------------------------------------------------------------


IMPORT PROCEDURE CHECKBREAK
"========================="
   (R6); " C    LINK
         "   R  BREAK_STATUS (FALSE/TRUE)
"---------------------------------------------------------
" CHECKS FOR BREAKS + OVERFLOW OR PARITY ERR IN INPUT
"---------------------------------------------------------


IMPORT PROCEDURE SWITCH_TO_MEMORY_INPUT
"====================================="
   (R01; " C K  ABS ADDRESS OF INPUT BUFFER
    R6); " C K  LINK
"----------------------------------------------------------------------
" SETS A FLAG INDICATING THAT INPUT COMMANDS SHALL BE TAKEN FROM
" MEMORY FROM NOW ON.
" THE PAGE NUMBER IS THE PHYSICAL PAGE NUMBER.
" FURTHERMORE COUNTERS AND POINTERS ARE RESET.
"----------------------------------------------------------------------


IMPORT PROCEDURE SWITCH_TO_MEMORY_OUTPUT
"======================================"
   (R01; " C K  ABS ADDRESS OF OUTPUT BUFFER
    R6); " C K  LINK
"----------------------------------------------------------------------
" SETS A FLAG INDICATING THAT OUTPUT SHALL BE WRITTEN TO
" MEMORY FROM NOW ON.
" THE PAGE NUMBER IS THE PHYSICAL PAGE NUMBER.
" FURTHERMORE COUNTERS AND POINTERS ARE RESET.
"----------------------------------------------------------------------


IMPORT PROCEDURE SWITCH_TO_STANDARD_INPUT
"======================================="
   (R6);  " C D  LINK
"------------------------------------------------------------
" SETS A FLAG INDICATING THAT INPUT SHALL BE TAKEN FROM THE
" STANDARD INPUT FROM NOW ON.
"------------------------------------------------------------


IMPORT PROCEDURE SWITCH_TO_STANDARD_OUTPUT
"========================================"
   (R6);  " C D  LINK
"------------------------------------------------------------
" SETS A FLAG INDICATING THAT OUTPUT SHALL BE WRITTEN TO THE
" STANDARD OUTPUT FROM NOW ON.
"------------------------------------------------------------


IMPORT PROCEDURE INIT_CHARACTER_IO
"================================"
   (R6); " C D  LINK"
"------------------------------------------------------------
" This procedure initializes the character IO module
"------------------------------------------------------------

" end of CHAR_IO.I «a5»