City #37
17 декабря 1999 |
|
Likbez - a full disassembler ROM (part 28).
************* **************** LIKBEZ (C) P. Yu Fedin FULL DESCRIPTION + FULL ROM Disassembler TR-DOS 5.04T (5.03) For professionals And as for those WHO WANTS TO BE. continued Address 6308. Reading a file descriptor, if it was found. Set 23773, 23781 and the flag of Z: if Z = 1 reads the descriptor, otherwise the error NO FILE. 6308 JP NZ, 985, and if before calling the file was not found den, the error CALL 5725; download the file descriptor RET; Returns Address 6315. Processing parameters for subroutine download the file. At the entrance, set 23766, 23769 and 23771; count descriptor file you're looking. At the exit of 23,771 will be the length of the file to download, 23766 - 0 if the length of me, otherwise 3. In HL will load address of the file DE - his address on the disk, B - number of sectors to load. When loading array or a program in BASIC will be made Preparation of memory to boot. 6315 LD A, (23766) take the boot flag OR A; the beginning and the length taken from the catalogs ha? LD HL, (23782), we take the beginning of the file descriptor JR Z, 6327, if the parameters do not take from the category Taloga, then LD HL, (23769), we take the starting address, appointed chenny us 6327 LD DE, (23787) take the address of the file on disk CP 3, all parameters are assigned user ers? LD A, (23786) take the file size in sectors PUSH DE; saving the file to address discrete Ke LD DE, (23784) take the file length of the descriptor JR NZ, 6347, if you want to take it is not there, then we take LD DE, (23771), length of load assigned to mi 6347 LD B, A; preserve the file size in seconds tori LD (23771), DE; setting the file length to zag manual ultrasonic LD A, (23781) file extension C? CP "C" LD A, B; restore the file length in sectors JR NZ, 6397, if the extension is not C, then the length no change LD A, B; if the file length in bytes of the corresponding corresponds to its CP D; size in sectors, then the length BitTorrent does not change JR Z, 6390 DEC A CP D LD A, B JR Z, 6390 LD A, (23766), the length assigned to the user? CP 3 LD A, B; restore the file size sectors JR Z, 6390, and if we are assigned a length load, it does not change XOR A; shipping only completely filled nennye sector LD (23766), A LD D, B; calculation of the length of the file in bytes of its length LD E, 0; sectors LD (23771), DE; installation of a new length JR 6393 6390 CALL 6427; download the entire file 6393 LD A, B; restore the file size sectors CALL 7852; calculation of the number of sectors Download LD B, A; preserving its LD A, (23781) file extension C? CP "C" POP DE; recovery addresses on file CD RET Z; if the file extension C, the WHO Gates Error! If the read or write sector file, there should be a refund. Because of this errors can not read or write sector file expansion of B or D. PUSH DE; saving the file to address discrete Ke CP "B"; extension of B? PUSH AF; preserve the file extension CALL Z, 6657, if the extension B, the preparation correction to the boot program , In Basic POP AF; recovery extension CP "D"; extension of D? CALL Z, 6732, and if so, preparing for loaded ZEC array CALL 6427; length boot has not changed LD A, (23772), take the number of sectors for Downloads LD B, A POP DE; recovery addresses on file CD RET; Returns to be continued ...
Other articles:
Similar articles:
В этот день... 21 November