1
0
mirror of https://github.com/DoctorWkt/unix-jun72.git synced 2026-01-13 07:20:16 +00:00
2008-05-02 17:50:21 +00:00

21 lines
839 B
Plaintext

mov u.base,r1 / address of data is in r1
neg r3 / 512 - file offset (mod512.) in r3 (i.e., the number
/ of free bytes in the file block
cmp r3,u.count / compare this with the number of data bytes to
/ be written to the file
blos 2f / if less than branch. Use the number of free bytes
/ in the file block as the number to be written
mov u.count,r3 / if greater than, use the number of data bytes
/ as the number to be written
2:
add r3,u.nread / r3 + number of bytes xmitted during write is
/ put into u.nread
sub r3,u.count / u.count = no. of bytes that still must be
/ written or read
add r3,u.base / u.base points to the 1st of the remaining data
/ bytes
add r3,*u.fofp / new file offset = number of bytes done + old
/ file offset
rts r0