На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Hardware:
1. Если вы не уверены в правильности ответа, напишите об этом, или не отвечайте вообще, не давайте дезинформацию!
2. Не забывайте указывать полное наименование, модель, изготовителя и краткие характеристики оборудования.
3. Аргументируйте свое мнение - приводите развернутое высказывание или источник информации.
4. Прежде чем задать вопрос посмотрите, нет ли ответа на него на перечисленных ниже ресурсах:
FAQ
Полезные ссылки
www.ixbt.com
www.overclockers.ru
www.fcenter.ru
www.3dnews.ru
www.thg.ru
www.nvworld.ru
www.radeon2.ru

Здесь вы можете выразить мнение о модераторе этого раздела, ^D^ima.
Модераторы: DimA3
  
> Программирование контроллера НМГД

    Есть ли у кого исходники  работающий проги для форматирования
    дискеты. Желательно на С++ или  асме.
    Вот моя например:
    cseg      segment 'code'
         assume cs:cseg,ds:dseg
    include macro.mac
    main      proc
         mov      ax,dseg
         mov      ds,ax
         ; reset controller
         mov      ah,00h
         int      13h
         ;
         mov      ah,17h
         mov      al,01h
         mov      dl,00h
         int      13h
         ; set media for formating
         mov       ah,18h
         mov       ch,tpd      ; track per side
         mov       cl,spt      ; sector per track
         mov       dl,0            ; disk num
         int       13h
         ; format disk side
         ;mov        cx,40
         ;trf:
         ; set buffer data for formating
         xor       cx,cx
         mov       cl,spt
         mov       bx,0              ; offset of element in 4-th byte structure
         mov       sci,1              ; struct element index
         mov       dx,4
    nextel: mov       ah,trind
         mov       finf[bx],ah        ; track number
         mov       ah,hind
         mov       finf[bx+1],ah        ; head number
         mov       ah,sci
         mov       finf[bx+2],ah        ; sector index
         mov       ah,bps
         mov       finf[bx+3],ah        ; code of sector length
         mov       bx,dx
         add       dx,4
         inc       sci              ; inc sector index
         loop       nextel
         wrblock  finf  32      ; display array
         wrstr       new_str
         ;format  track
         xor       cx,cx
         mov       ch,trind      ; track number
         mov       dh,hind      ; head number
         mov       dl,0            ; disk number
         mov       ax,ds
         mov       es,ax
         mov       bx,offset finf
         mov       ah,05h
         int       13h
         ; exit program
    ou_p:      mov      ax,4c00h
         int      21h
    main      endp
    cseg      ends
    dseg      segment
         ; vars for filling finf buffer
         bps      db      2  ; byte per sector
         spt      db      8  ; sector per track
         tpd      db      40 ; track per side
         trind      db      0  ; tr index
         hind      db      0  ; head index
         sci      db      0  ; sector index
         finf      db      32 dup ('*')
         new_str db      10,13,24h
    dseg      ends
           end     main

    почему- то не работает ???
    Не мог ли кто - нить помочь ???

     Заранее большое спасибо

      Задай этот вопрос в разделе асма.
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0175 ]   [ 15 queries used ]   [ Generated: 30.04.24, 08:09 GMT ]