Ассемблирование под DOS

Тема в разделе "WASM.BEGINNERS", создана пользователем VeloceRAPTOR, 24 мар 2009.

  1. VeloceRAPTOR

    VeloceRAPTOR New Member

    Публикаций:
    0
    Регистрация:
    24 мар 2009
    Сообщения:
    6
    Здравствуйте все! =)
    Начну с того, что мне ссылки на WASM.RU попадались во всём рунете.
    Я сначала думал, что этот сайт "один из многих", но потом всё чаще и чаще я стал попадать на него. И при чём, здесь всё самое лучшее, что я нашёл! =). Много хороших статей и программерского софта. =). Теперь я поселюсь на этом форуме! Будем знакомы =)))
    А теперь к делу. =)
    Я перекачал кучу программ-ассемблеров, таких как MASM, TASM, FASM и т.д.. И вот проблема.. Я привык к дружелюбной оконной среде, а тут приходится через коммандную строку вручную ассемблировать. Я разобрался не сразу. Так вот, я начал изучать ассемблер с com-приложений. Ну, досовских. А с win32 я пока не разобрался. И я хотел сначала поассемблить с com'ами, а потом, если получится, перейти на Win32. Так вот, все скачанные мной ассемблеры отказываются создавать com'ы. Например, в MASM 10 у меня вобще только exe выходят. TASM я так и не смог поставить. FASM - это вроде для flat систем только. Я по своему незнанию просто запутался.. И только MASM 6.11 сделал-таки у меня obj-файл. (наконец!). Но и тут провал! Он не смог найти свой собственный линковщик! =(. Подскажите, может я что-то не так делаю?
     
  2. iZzz32

    iZzz32 Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    355
    Посмотри на фасм ещё раз. У него IDE под дос есть, никакой командной строки не нужно.
    А это кто такие? :-\
     
  3. VeloceRAPTOR

    VeloceRAPTOR New Member

    Публикаций:
    0
    Регистрация:
    24 мар 2009
    Сообщения:
    6
    Хмм.. Посмотрю.. =) Ну а с MASM'ами что делать? Мне они показались хорошими )
     
  4. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    fasm прекрасно компилит для дос и имеет штатный редактор
    это пример com файла копипастишь его прямо в окно fasmw редактора и он сам без лишних вопросов поймет что это нужно скомпилить для dos :)
    Ещё для dos компилят masm6, tasm. А masm32 (тот который 10 т.п.) это только для win.
     
  5. VeloceRAPTOR

    VeloceRAPTOR New Member

    Публикаций:
    0
    Регистрация:
    24 мар 2009
    Сообщения:
    6
    Я сейчас открыл папку с fasm'ом, там у меня лежит ещё две папки fasm16732 и fasmw16732. Я так понимаю, второй, это для win? Далее в первой папке лежит fasmd.exe. Это и есть этот IDE? Хмм.. =S
     
  6. VeloceRAPTOR

    VeloceRAPTOR New Member

    Публикаций:
    0
    Регистрация:
    24 мар 2009
    Сообщения:
    6
    Эээ.. Так fasmd.exe это текстовой редактор или что? =( И опять компилить через cmd? хмм... Вот так я долго мучался и решил писать на машинном коде в HEX-редакторе.. дальше hello,world на interrupt'ах не уехал.. =(
     
  7. iZzz32

    iZzz32 Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    355
    В fasmd есть F9/Ctrl+F9. Глянь fasmd.txt – там клавиши указаны.
    Если ты в винде, fasmw запускай. Там тоже есть F9/Ctrl+F9.
     
  8. VeloceRAPTOR

    VeloceRAPTOR New Member

    Публикаций:
    0
    Регистрация:
    24 мар 2009
    Сообщения:
    6
    А тогда почему fasmw ругается?
    Код (Text):
    1. CSEG segment
    2. org 100h
    3. start:
    4. mov ah, 9
    5. mov dx, offset String
    6. int 21h
    7. mov ah, 10h
    8. int 16h
    9. int 20h
    10. String db 'Press any key$'
    11. CSEG end
    12. end Start
    Это тупо переписано из учебника.
     
  9. VeloceRAPTOR

    VeloceRAPTOR New Member

    Публикаций:
    0
    Регистрация:
    24 мар 2009
    Сообщения:
    6
    Имхо писать на HEX проще, чем на ASM : B4 09 BA 0D 01 CD 21 B4 10 CD 16 EB F3 20 8A 8E 87 80 24.
     
  10. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    VeloceRAPTOR
    Ругается, потому что синтаксис у всех асселмблеров разный. Вместе с фасамом идет справка, можно даже найти ее перевод.

    А вот Tasm и Masm имеют похожий синтаксис.

    Если хочешь писать на фасаме то CSEG segment и CSEG end
    end Start надо убрать из кода.
     
  11. TheBits

    TheBits Сергей

    Публикаций:
    0
    Регистрация:
    7 апр 2006
    Сообщения:
    50
    Адрес:
    St.Petersburg
    То есть код такой будет:
    Код (Text):
    1. org 100h
    2. start:
    3.         mov ah, 9
    4.         mov dx, String
    5.         int 21h
    6.         mov ah, 10h
    7.         int 16h
    8.         int 20h
    9. String db 'Press any key$'
    offset не нужен.
     
  12. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    дык есть разные редакторы навороченные и IDE, например такая - см. инструменты
     
  13. Mikl___

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

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    shoo
    Ржу, нимагу [​IMG] VeloceRAPTOR собрался в "дружелюбной оконной среде" "com-приложения" создавать
     
  14. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    "дружелюбная оконная среда" для DOS, заточена под tasm, masm6, поскольку в эпоху её актуальности фасма ещё не придумали :)
     
  15. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    Mikl___
    не вижу проблемы ;) я только так и делаю :Р тем более для фасма написал макрос и имею кириллицу в консоли...

    хотя тоже начинал с мультиэдита 7.0 - прикольная штуковина была! 8)

    человек не знает с какой стороны подойти, вот и спрашивает
     
  16. jaja

    jaja New Member

    Публикаций:
    0
    Регистрация:
    23 июл 2008
    Сообщения:
    243
    fasm может COM ассемблироват
     
  17. Phuntik

    Phuntik New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2008
    Сообщения:
    318
    VeloceRAPTOR
    Дружище, ты не прав. У fasm есть каталог examples. Если бы ты туда заглянул, твои вопросы разрешились бы сами собой.
     
  18. TheBits

    TheBits Сергей

    Публикаций:
    0
    Регистрация:
    7 апр 2006
    Сообщения:
    50
    Адрес:
    St.Petersburg