CHAPTER 9
MACHINE LANGUAGE PROGRAMS
Here is a list
of
host computer disk-related Kemal ROM subroutines and a practical
example
of
their use in a program which reads a sequential file into memory from disk.
Note that most require advance setup
of
one or more processor registers or memory
locations and all are called with the assembly language JSR command.
For a more complete description as to what each routine does and how parameters are
set for each routine, see the Programmer's Reference Guide for your specific computer.
Label
SETLFS
SETNAM
OPEN
CLOSE
CHKIN
CHKOUT
CLRCHN
CHRIN
CHROUT
START
NEXT
END
FNADR
LDA
LDX
LDY
JSR
LDA
LDX
LDY
JSR
JSR
LDX
JSR
JSR
BEQ
JSR
JMP
LDA
JSR
JSR
RTS
.BYT
DISK·RELATED
KERNAL
SUBROUTINES
Address Function
$FFBA
;SET LOGICAL, FIRST
& SECOND ADDRESSES
$FFBD
;SET LENGTH
& ADDRESS OF FILENAME
$FFCO
;OPEN LOGICAL FILE
$FFC3
;CLOSE LOGICAL FILE
$FFC6
;SELECT CHANNEL FOR INPUT
$FFC9 ;SELECT CHANNEL FOR OUTPUT
$FFCC
;CLEAR ALL CHANNELS
& RESTORE
DEFAULT
110
$FFCF
;GET BYTE FROM CURRENT INPUT DEVICE
$FFD2
;OUTPUT BYTE TO CURRENT OUTPUT
DEVICE
#4
;SET LENGTH & ADDRESS
#<FNADR
;OF FILE NAME, LOW
#>FNADR
;&
HIGH BYTES
SETNAM
;FOR NAME SETTER
#3
;SET FILE NUMBER
#8
;DISK DEVICE NUMBER
#0
;AND SECONDARY ADDRESS
SETLFS ;AND SET THEM
OPEN
;OPEN 3,8,0,
"TEST"
#3
CHKIN
;SELECT FILE 3 FOR INPUT
CHRIN
;GET NEXT BYTE FROM FILE
END
;UNTIL FINISH OR FAIL
CHROUT
;OUTPUT BYTE TO SCREEN
NEXT
;AND LOOP BACK FOR MORE
#3
;WHENDONE
CLOSE
;C[OSEFILE
CLRCHN
;RESTORE DEFAULT
110
;BACK TO BASIC
"TEST"
;STORE FILE NAME HERE
81