· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Дрова в FASM

Посл.отвђт Сообщенiе


Дата: Мар 22, 2004 02:35:40

Кто-нить писал дрова в FASM'e? Киньте пример ПЛИЗЗ!!


Дата: Мар 25, 2004 19:13:15
Правка

Поиск по форуму! Обсуждение, как написать драйвер на FASM'е велось…


Дата: Мар 25, 2004 21:20:03

Developer_PROFX

А, что именно не ясно... ну вот например самое простое...
;+++++++++++++++++++++++++++++++++++++++;
format PE native
entry start
include '%fasminc%\win32a.inc'

;+++++++++++++++++++++++++++++++++++++++;
proc start param_1, param_2
     enter
     xor eax, eax
     mov eax, [eax] ; <- прикались :)
     return
;+++++++++++++++++++++++++++++++++++++++;

компилиш - работает...


Дата: Мар 25, 2004 21:21:49

Кстати, всем привет! :)...


Дата: Мар 25, 2004 23:22:48

OK ;)


Дата: Мар 26, 2004 19:51:36

И еще... забыл... если будеш импорт делать стандартным путем т.е. так
;+++++++++++++++++++++++++++++++++++++++;
format PE native
entry start
include '%fasminc%\win32a.inc'

;+++++++++++++++++++++++++++++++++++++++;
section '.code' code readable executable notpageable

  proc start param_1, param_2
       enter
       invoke HalMakeBeep, 0
       mov al, 0FEh
       out 64h, al <- прикались снова :)...
       return

;+++++++++++++++++++++++++++++++++++++++;
section '.idata' import data readable notpageable
  
  library Hal, 'Hal.dll'
  import  Hal,\
          HalMakeBeep, 'HalMakeBeep'

;+++++++++++++++++++++++++++++++++++++++;
section '.reloc' fixups data discardable
то в файлике fasm\include\macro\import.inc вот этот макрос
macro library [name,string]
 { forward
    local _label
    if ~ name#.needed
    dd 0,0,0,RVA _label,RVA name
    end if ...и т.д.
измени на
macro library [name,string]
 { forward
    local _label
    if ~ name#.needed
    dd RVA name,0,0,RVA _label,RVA name
    end if
иначе будет еще один прикол - драйвер загрузится, но без заполненного импорта...


Дата: Мар 26, 2004 22:49:13

OK ;)


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.055