Разница компиляторов и просьба с примером проги на асме

Тема в разделе "WASM.HEAP", создана пользователем D3s, 16 сен 2008.

  1. D3s

    D3s New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2008
    Сообщения:
    20
    1. Что хотелось бы узнать, в чем разница компиляторов асма т.е. WASM, TASM, NASM, YASM, ну и т.д. Тоесть тот же JMP или REM будет в масме или тасме по другому зваться?
    2. Если не лень напишите пожалуйста программу, пример вернее программы, которая будет записывать в текстовый файл С:\1.txt строку "qwertyансвер", именно на русском и английском что бы было. Только что бы я смог вставить этот код в MASM или WASM откомпилить и чтоб работало =)

    Примного благодарен за внимание!
     
  2. D3s

    D3s New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2008
    Сообщения:
    20
    З.Ы. Программу по 2 пункту можно и под DOS без разници, если легче (в чем я сомневаюсь) то можно и на win32
     
  3. defaultplayer

    defaultplayer New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2006
    Сообщения:
    214
    вот была тема хорошая http://www.wasm.ru/forum/viewtopic.php?id=15655
     
  4. driver

    driver New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    302
    лень

    кури bloknot - http://masm32.narod.ru/ish.htm

    народ совсем дохлый ... мучаясь от безделья, вернее - от лени, начал делать маленький сайтик на by.ru - http://www.masm32.by.ru/, скорость нормальная, но есть ограничение на размер файлов - 1 метр...
     
  5. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    1) есть фасм, остального знать не надо.
    2) код ф фасме:
    а) заголовочный файл с макросами
    Код (Text):
    1. macro IMPORTS [dll,funclist] {
    2. common  data import
    3. forward dd 0,0,0,rva a#dll, rva v#dll
    4. common  dd 0,0,0,0,0
    5.         end data
    6. forward v#dll: irp func,funclist \{func dd rva a\#func\}
    7.         dd 0
    8. forward a#dll db `dll#".dll",0
    9.         irp func,funclist \{a\#func db 0,0,\`func,0\} }
    10. ;___________________________________
    11. ;High-level-like procs calls, use:
    12. ;PROC proc1(arg1,"text1",...)
    13. macro PROC [line] {
    14. common match  f(x),line \{
    15.               irp arg,x \\{reverse
    16.                   if arg eqtype ""
    17.                      call @f
    18.                      db arg,0
    19.                      @@:
    20.                   else
    21.                       pushd arg
    22.                   end if \\}
    23.               call [f] \} }
    б) сама прога
    Код (Text):
    1. format PE GUI 4.0
    2. section '.code' code readable executable
    3. IMPORTS KERNEL32,<CreateFileA,WriteFile>
    4. entry $
    5. PROC CreateFileA("С:\1.txt",0x40000000,0,0,1,0,0)
    6. push eax
    7. mov edx,esp
    8. PROC WriteFile(eax,"qwertyансвер",12,edx,0)
    9. pop eax
    10. ret
     
  6. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Посмотри здесь
    А что такое REM? Комментарий в бейсике или бат-файлах? И строка "qwertyансвер" будет по-разному смотреться в DOS-кодировке (866) и WINDOWS-кодировке (1251) или это unicode :)
     
  7. D3s

    D3s New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2008
    Сообщения:
    20
    Всем огромное спасибо!!!