The FMS PUT BYTE routine, DFMPUT, is called directly by CIO via the FMS Device Vector Table, DFMSDH at $7CB. The PUT BYTE routine's function is to place the single data byte transmitted by CIO into the data sector.
Address — $99C
Entry Registers —
|A = The “put data” data byte.|
|X = The IOCB number times 16.|
|Y = Don't Care.|
Exit Registers —
|A = Unknown.|
|X = Unknown.|
|Y = Unknown.|
1)The data byte in the A register is saved in SVDBYT.
2) SETUP is called to initialize for this operation.
3) If the caller was not CIO, then prevent a burst I/O operation from occurring.
4) If the file was not opened for output, then exit via ERDVDC (device command error).
5) If the current data sector is full, write the sector via WRTNXS, then attempt burst I/O (see BURST I/O section). If a burst I/O operation did take place, then get the next byte after the area just written by burst I/O and place it into the SVDBYT cell.
6) Increment the sector data byte count.
7) Move the data byte from SVDBYT to the next available data byte in the sector.
8) Set the sector modified flag in the FCB.
9) Exit via GREAT.
Return to Table of Contents | Previous Chapter | Next Chapter