Entry:
AH = 42h
DL = Drive number
DS:SI = Disk address packet
Exit:
carry clear
AH = 0
carry set
AH = error code
This function reads sectors from disk to memory
In the event of an error, the block_count field of the disk address packet is filled in with the number of blocks read before the error occurred.