DPMI & fasm

Тема в разделе "WASM.HEAP", создана пользователем lcrowl, 11 ноя 2007.

  1. lcrowl

    lcrowl New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2006
    Сообщения:
    72
    Хай олл
    В общем понадобилось мне покодить на фасме в досе. В Bochs'e поставил DOS 6.22, кинул туда фасм. После запуска fasmd.exe выяснилось, что "The DOS IDE version of flat assembler requires an OS compatible with MS DOS with a DPMI server available". Нашел и HDPMI и CWSDPMI. Эти программы запускаются нормально, но при запуске fasmd.exe:
    1. HDPMI32:
    Код (Text):
    1. C:\FASM>FASMD.EXE
    2. Exception 0E
    3. EAX=2545C725 EBX=00116EC2 ECX=D5128200 EDX=E3D2C890 ESI=00000000
    4. EDI=DEA15175 EBP=0000091C ESP=0001BCFC EFL=00013A87 EIP=00001204
    5. CS=00B7 (00015150,FFFFFFFF,CFFA) SS=00BF (00015150,FFFFFFFF,CFF3)
    6. DS=00BF (00015150,FFFFFFFF,CFF3) ES=00BF (00015150,FFFFFFFF,CFF3)
    7. FS=00C7 (00000400,000000FF,00F3) GS=00CF (000B8000,00000F9F,00F3)
    8. LDTR=0038 (FF80A000,00000FFF,0082) TR=0030 (000119D8,00000067,008B)
    9. ERRC=0006 (********,********,****) PTE 1. Page LDT=00320467
    10. GDTR=07FF:FF808800 IDTR=07FF:FF809000 PTE CR2=???
    11. CR0=80000031 CR2=DEA2A2C5 CR3=00313000 CR4=00000200 TSS:ESP0=00000804
    12. DR0-3=00000000 00000000 00000000 00000000 DR6=FFFF0FF0 DR7=00000400
    13. LPMS Sel/Cnt=0087/0001 RMS=1066:0200 open RMCBs=0000/0000 ISR=0000
    14.    [EIP]=F3 65 A4 B4 03 30 FF CD 10 66 89 0D
    15.    [ESP]=00E2 0000 46FF EBF8 EB0B C604 F646 FF00
    16. 0001BD0C=F846 89EB 468B 29FA F846 32E9 8B01 FC46
    17. 0001BD1C=0425 0900 74C0 8B2E FA46 7E8B 3606 7DC4
    18. 0001BD2C=030A 26F8 3D80 7523 8B1C FA46 5040 7E8B
    19. 0001BD3C=5706 E80E FC6A 4689 83F8 F87E 7E00 FF03
    20. 0001BD4C=F846 FAE9 8B00 FC46 0825 0900 75C0 E903
    21. terminate (c)lient or (s)erver now?
    2.CWSDPMI:
    Код (Text):
    1. C:\FASM>FASMD.EXE
    2. Page Fault cr2=0018c689 at eip=8; flags=3207
    3. eax=00170009 ebx=000000c7 ecx=00000000 edx=00000f9f esi=3e1d3280 edi=fff700b7
    4. ebp=0000091c esp=0001bd00 cs=af ds=b7 es=b7 fs=bf gs=c7 ss=b7 error=0006
    Ху кэн хелп ми виз зис проблем? :)
     
  2. bugaga

    bugaga New Member

    Публикаций:
    0
    Регистрация:
    1 июл 2007
    Сообщения:
    361
    Попробуй скомпилять его под Win32 и присобачь к нему WDOSX расширитель...

    У меня так WASM 1.7 заработал... в NTVDM, FreeDOS, и DOSBOX-e..
     
  3. lcrowl

    lcrowl New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2006
    Сообщения:
    72
    Да, забыл.. Мож чо в autoexec.bat не так?
    autoexec.bat:
    Код (Text):
    1. C:\DOS\SMARTDRV.EXE /X
    2. @ECHO OFF  
    3. PROMPT $p$g  
    4. PATH C:\DOS;C:\HRXT\BIN
    5. SET TEMP=C:\DOS
    6. MODE CON CODEPAGE PREPARE=((866) C:\DOS\EGA.CPI)
    7. CHCP 866                                                      
    8. KEYB RU,,C:\DOS\KEYBOARD.SYS            
    9. C:\dn\dn.com
    config.sys:
    Код (Text):
    1. DEVICE=C:\DOS\SETVER.EXE                          
    2. DEVICE=C:\DOS\HIMEM.SYS            
    3. DOS=HIGH                  
    4. COUNTRY=007,,C:\DOS\COUNTRY.SYS                          
    5. DEVICE=C:\DOS\DISPLAY.SYS CON=(EGA,,1)
    6. INSTALL=C:\DOS\NLSFUNC.EXE C:\DOS\COUNTRY.SYS    
    7. FILES=30
     
  4. lcrowl

    lcrowl New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2006
    Сообщения:
    72
    фууух, обчитался.. Только больше запутался((

    bugaga,
    Можно поподробнее про "Попробуй скомпилять его под Win32 и присобачь к нему WDOSX расширитель..."?
     
  5. creeper

    creeper New Member

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    132
    // deleted
     
  6. lcrowl

    lcrowl New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2006
    Сообщения:
    72
    Короче, почитав различные форумы, пришел к выводу, что проблема не в фасме и не в кривых /dev/hands. Как выяснилось, у bochs'a есть непонятки со связкой DPMI+fasmd.
    qemu вообще ловит эксепшн 0D и виснет.
    ээээх, ну ладно. Тогда встает новый вопрос: какое посоветуете хорошее IDE для DOS'a с подсветкой fasm'овского синтаксиса?
     
  7. iZzz32

    iZzz32 Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    355
    lcrowl, в последнем Bochs CWSDPMI + FASMD очень даже работают.
     
  8. creeper

    creeper New Member

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    132
    iZzz32,
    thx, буду смотреть.
     
  9. creeper

    creeper New Member

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    132
    Огромное тебе спасибо, iZzz32! Поставил версию 2.3.5(стояла 2.3) - все заработало!
    Нештяг... Короче, тему в топку.
    ---------------------
    это не раздвоение личности, это смена ника :)