Denn, я на штатном Орионе успевал чуть-чуть более топорно:
Цикл пришлось разбивать из-за того, что обработку двух байт размера уже не успевал (+2 команды). А вот если бы штурманул был плотнее - сделал бы как у тебя. MS-DOS дискеты с FAT12 работали на ура. И да, он не зависла, если RDY снимался - просто забивал буфер последним статусом, который и возвращался для обработки ошибок.Код:;Управление Регистром CTR:LDA 0F700H ANI 01H JNZ CTR MOV A,C STA 0F700H RET ;Запись данных с синхронизацией DAT:LDA 0F700H ANI 01H JNZ DAT MOV A,C STA 0F703H RET ;Чтение сектора SEC-СЕКТОР, TRK-ДОРОЖКА ;Длинной в 512B INS:PUSH H PUSH D PUSH B LDA TRK ANI 1H ORI 0EH STA 0F602H LDA TRK ANI 7EH RRC MOV C,A CALL DAT MVI C,18H CALL CTR LDA SEC INR A STA 0F702H CALL RED MVI C,80H CALL CTR LXI H,BUF LXI D,0F703H MVI C,82H IN0:LDA 0F700H ANA C JZ IN0 LDAX D MOV M,A INR L JNZ IN0 INR H IN1:LDA 0F700H ANA C JZ IN1 LDAX D MOV M,A INR L JNZ IN1 LDA 0F700H POP B POP D POP H RET![]()




Ответить с цитированием