FatMoon Что с invokе-ами, что без - мне без разницы, но привычнее второй вариант. Вообще-то я имел ввиду многострочные макросы. и говорил о низкоуровневом языке. Кстати, x86-ассемблер в последнее время что-то конкретно популяризовался...
Mikl___ тут все как то в крайности бросаются - вспомните как асм изучали: 1. пишете инструкции непосредственно типа mov ah,4Ch int 21h 2. внедряете константы mov ah,@exit_program int 21h 3. определяете и используете макрос exit macro mov ah,4Ch int 21h и так далее вширь и глубь endm
Почитал топик и что то не совсем понял, откуда в чистом асме точка входа вин маин? на сколько я помню, в асме точка входа - push ebp, или я ошибаюсь?
Ins3t точка входа - адрес в заголовке куда управление передается а что там находиться дело десятое хоть lock hlt
чистоплотность=чисто масса / чисто объём чисто ассемблер = кодить чисто что хочешь на основании того, что что чисто знаешь и умеешь
Rockphorr Я так асм не изучал (тем не менее, знаю, как использовать многострочные макросы). Где-то я уже выдел это выражение Ins3t Точка входа указана в заголовке исполняемого файла. (кстати, ни main, ни WinMain на самом деле не являются точками входа).
Я вот пишу на самом грязном ассемблере... Это так, пишешь текст на Дельфи, потом смотришь, в какой исполняемый код это превращается, если не нравится, правишь прогу и опять смотришь о:
4. определяете макрос doscall и константы типа DOS_EXIT=4c00h, DOS_WRITE_STRING=9 и пишете .... doscall DOS_EXIT что намного понятней читаецо нежеле вариан из пункта 1 пересчитывал только для того, чтоб привыкнуть к стеку. а сейчас использую макросы везде, где это упроащает программинг и улучшает читабельность кода. но пишу на "чистом" асме довольно редко. обычно студия+фасм
Freeman совершенству макро в асме нет предела я совсем не пытался довести здесь все до идеала это только опорные пункты и то наверно не все а только пара начальных
Freeman +1 и не только для стека - как только разобрался с какой-то фишечкой-рюшечкой - сразу ее в макро моя находка-идея: чего не хватает директиве PROC ???? мне кажется нехватает вывода прототипа в отчет о результатах сборки у меня в отчете обычно фрагментик прототипов всех публикуемых функций f1 proto far f2 proto far ... можно доработать по поводу параметров и прочего
Примеры чистого ассемблера есть на этом сайте, это программы за авторством The Svin. Рекомендую как следует в них разобраться, без "втопку invoke" фанатизма, они гораздо более низкоуровневые, чем большенство остального со всякими push [esp+8]