22 июля 2019 года    
Понедельник | 20:13    
Главная
 Новости
Базы данных
Безопасность PC
Всё о компьютерах
Графика и дизайн
Интернет-технологии
Мобильные устройства
Операционные системы
Программирование
Программы
Связь
Сети
 Документация
Статьи
Самоучители
 Общение
Форум







Разделы / Программирование / Assembler

Как узнать сеpийный номеp, тип IDE винта?

Как узнать сеpийный номеp, тип IDE винта?
      следующая пpогpаммка запишет это все в файл hdd_id.dat:


                      .Model   Tiny
                      .Code
      Base_Port       equ     1f0h
      HD              equ      0        ; Hard Disk number
      .Startup
                      mov      dx, Base_Port + 6
                      mov      al, 10100000b or (HD shl 4)
                      out      dx, al
                      jmp      $ + 2
                      inc      dx
                      mov      al, 0ech
                      out      dx, al
                      jmp      $ + 2
      @@Wait:         in       al, dx
                      jmp      $ + 2
                      test     al, 80h
                      jnz      @@Wait
                      mov      dx, Base_Port
                      lea      di, Buffer
                      mov      cx, 100h
      @@1:            in       ax, dx
                      xchg     ah, al
                      stosw
                      loop     @@1
                      xor      cx, cx
                      lea      dx, Fname
                      mov      ah, 3ch
                      int      21h
                      xchg     bx, ax
                      lea      dx, Buffer
                      mov      cx, 100h
                      mov      ah, 40h
                      int      21h
                      mov      ah, 3eh
                      int      21h
                      ret

      Fname           db       'hdd_id.dat', 0
      Buffer          db       100h dup (?)

      end
	  
 Как узнать сеpийный номеp, тип IDE винта?
Лента новостей


2006 (c) Copyright Hardline.ru