писать на чистом ассемблере

Тема в разделе "WASM.HEAP", создана пользователем WWWorm, 12 окт 2009.

  1. o14189

    o14189 New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2009
    Сообщения:
    320
    будущий асмописец детектед
     
  2. Mikl___

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

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.708
    Не помню, откуда спер, но, по-моему, верно
     
  3. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
    FatMoon
    Что с invokе-ами, что без - мне без разницы, но привычнее второй вариант.

    Вообще-то я имел ввиду многострочные макросы.

    и говорил о низкоуровневом языке.

    Кстати, x86-ассемблер в последнее время что-то конкретно популяризовался...
     
  4. trash_master

    trash_master New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2006
    Сообщения:
    319
    Адрес:
    Україна
    в школе противопоказана философия, чтоб ее понять нада сначала учить матчасть ;)
     
  5. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.615
    Адрес:
    Russia
    еще мысль - дать определение "чистому ассемблеру" и поместить в FAQ
     
  6. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.615
    Адрес:
    Russia
    Mikl___
    тут все как то в крайности бросаются - вспомните как асм изучали:
    1. пишете инструкции непосредственно типа
    mov ah,4Ch
    int 21h
    2. внедряете константы
    mov ah,@exit_program
    int 21h
    3. определяете и используете макрос
    exit macro
    mov ah,4Ch
    int 21h

    и так далее вширь и глубь
    endm
     
  7. Ins3t

    Ins3t New Member

    Публикаций:
    0
    Регистрация:
    24 июл 2009
    Сообщения:
    40
    Почитал топик и что то не совсем понял, откуда в чистом асме точка входа вин маин?
    на сколько я помню, в асме точка входа - push ebp, или я ошибаюсь?
     
  8. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.615
    Адрес:
    Russia
    Ins3t
    точка входа - адрес в заголовке куда управление передается а что там находиться дело десятое хоть lock hlt
     
  9. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.615
    Адрес:
    Russia
    чистоплотность=чисто масса / чисто объём

    чисто ассемблер = кодить чисто что хочешь на основании того, что что чисто знаешь и умеешь
     
  10. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Rockphorr
    справа чисто сокращается
     
  11. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
    Rockphorr
    Я так асм не изучал (тем не менее, знаю, как использовать многострочные макросы).

    Где-то я уже выдел это выражение

    Ins3t
    Точка входа указана в заголовке исполняемого файла.
    (кстати, ни main, ни WinMain на самом деле не являются точками входа).
     
  12. IceT

    IceT IceT

    Публикаций:
    0
    Регистрация:
    13 авг 2009
    Сообщения:
    233
    Адрес:
    RU
    Зомба пересчитывал :)
     
  13. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    Я вот пишу на самом грязном ассемблере...
    Это так, пишешь текст на Дельфи, потом смотришь, в какой исполняемый код это превращается, если не нравится, правишь прогу и опять смотришь о:
     
  14. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.615
    Адрес:
    Russia
    изучать, знакомиться ... - терминов много это такая же канитель как "чистый ассемблер"
     
  15. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    4. определяете макрос doscall и константы типа DOS_EXIT=4c00h, DOS_WRITE_STRING=9 и пишете
    ....
    doscall DOS_EXIT
    что намного понятней читаецо нежеле вариан из пункта 1
    пересчитывал только для того, чтоб привыкнуть к стеку. а сейчас использую макросы везде, где это упроащает программинг и улучшает читабельность кода. но пишу на "чистом" асме довольно редко. обычно студия+фасм
     
  16. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.615
    Адрес:
    Russia
    Freeman
    совершенству макро в асме нет предела
    я совсем не пытался довести здесь все до идеала
    это только опорные пункты и то наверно не все а только пара начальных
     
  17. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.615
    Адрес:
    Russia
    Freeman

    +1 и не только для стека - как только разобрался с какой-то фишечкой-рюшечкой - сразу ее в макро

    моя находка-идея:
    чего не хватает директиве PROC ????
    мне кажется нехватает вывода прототипа в отчет о результатах сборки
    у меня в отчете обычно фрагментик прототипов всех публикуемых функций

    f1 proto far
    f2 proto far
    ...

    можно доработать по поводу параметров и прочего
     
  18. J0E

    J0E New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2008
    Сообщения:
    621
    Адрес:
    Panama
    Примеры чистого ассемблера есть на этом сайте, это программы за авторством The Svin. Рекомендую как следует в них разобраться, без "втопку invoke" фанатизма, они гораздо более низкоуровневые, чем большенство остального со всякими push [esp+8]
     
  19. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.615
    Адрес:
    Russia
    J0E
    никто и не спорит