Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > Чтение сектора на физическом уровне


Автор: SIA1988 9.11.2009, 19:24
Всем привет!!!
На ФИЗИЧЕСКОМ УРОВНЕ!!!
Необходимо прочитать один любой сектор(с дискеты) в буфер.
на физическом значит использовать прерывания НГМД.

Автор: piritus 9.11.2009, 20:14
Код

  .MODEL  tiny
  .DATA

; Буфер, в который будет прочитан сектор диска
buf db 512 dup (?)

  .CODE
  .STARTUP

  mov   ch, 00h   ; номер дорожки
  mov   cl, 01h   ; номер сектора

  mov   dh, 00h   ; номер головки  (стороны диска)
  mov   dl, 00h   ; номер НГМД, соответсвует 
                  ; устройству А:

; Готовим адрес буфера в ES:BX
  mov   ax, cs
  mov   es, ax

  mov   bx, OFFSET buf

; Готовим код функции
  mov   ah, 02h   ; код функции - чтение сектора
  mov   al, 01h   ; читаем 1 сектор

; Вызываем прерывание
  int   13h
  
  .EXIT   0
  END

?

Автор: SIA1988 10.11.2009, 17:41
Спасибо.
Но на физическом уровне я имел ввиду на уровне портов ввода\вывода.
а не обычная биосовская ф-я.
и уже не надо. сам сделал...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)