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

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

  1. WWWorm

    WWWorm New Member

    Публикаций:
    0
    Здравствуйте, уважаемые кодеры!!!
    Вот объясните мне не опытному что значит писать на чистом ассемблере или это тока использовать push и call вместо invoke или еще что то???
     
  2. MetAlic

    MetAlic New Member

    Публикаций:
    0
    чистый асм, - это то, что в отладчике видишь ))))
     
  3. WWWorm

    WWWorm New Member

    Публикаций:
    0
    не я на си не пишу...
    main,...main.. что то не помню, или это вы про winmain proc.....
     
  4. WWWorm

    WWWorm New Member

    Публикаций:
    0
    в одладчике ...мм, ну это прям незнаю, да уж это на очень чистом асме)))))
     
  5. warsem

    warsem Сеня

    Публикаций:
    0
    Ну про отладчик - это уже утрируют) Все таки мало кто сам пересчитывает адреса переменых в стеке)

    Чистый асм - это скорее, когда ты для компиляции только ассемблер используешь. Вообщем тебе уже ответили.
     
  6. Treant

    Treant Member

    Публикаций:
    0
    А вот [esp+4] это чистый асм или нечистый?
    Просто откуда компилятору знать что будет в esp... значит комилятор должен добавить внутрь кода add esp, 4h
    Это как бы фича компилятора и не считается чистым кодом, если ее использовать?
     
  7. WWWorm

    WWWorm New Member

    Публикаций:
    0
    ну, спасибо!
    о, еще вопрос а можно использовать прерывания bios в виндовс приложениях
     
  8. WWWorm

    WWWorm New Member

    Публикаций:
    0
    значит можно, но трудно
     
  9. WWWorm

    WWWorm New Member

    Публикаций:
    0
    попробую найти учебник, спасибо!
     
  10. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Treant
    [esp+4] - это чистый ассемблер.
    Читайте про способы адресации.
    [есх+еах*4+4] - тоже чистый ассемблер.
     
  11. o14189

    o14189 New Member

    Публикаций:
    0
    это не несвижского случаем книга?)
     
  12. Microedition

    Microedition Active Member

    Публикаций:
    0
    Для меня это значит, что не используются вышеназванный invoke,
    условные высокоуровневые конструкции вида if/else, while/for/until,
    различные макросы, без которых в большинстве случаев можно обойтись, и прочий бред.
    В чем смысл программировать на ассемблере, используя их?

    Не можешь писать на ассемблере, не используя вышеназванные конструкции - не пиши
    на нем вообще, переходи на ЯВУ, проще будет.
     
  13. WWWorm

    WWWorm New Member

    Публикаций:
    0
    Спасибо Microedition!
    Буду стараться не использовать if/else, while/for/until и invoke.....
     
  14. qqwe

    qqwe New Member

    Публикаций:
    0
    Microedition
    есть еще hla
    http://homepage.mac.com/randyhyde/webster.cs.ucr.edu/
    для очень любителей макро-полувысокоуровнево самое то. и бука к нему.
     
  15. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Для меня писать на "чистом ассемблере" - ПОНИМАТЬ, во что превратятся invoke, .if - .else и "прочий бред". И если то, во что они превратятся, меня устраивает на все 100% - использовать (для изящного и понятного вида исходника), а если у меня задумка заранее убрать в стек пару раз eax, чтобы использовать в нескольких апи-вызовах, или сделать if немного другой, потому что есть смысл - соответственно, не использовать :)))) В любом случае, "чистый ассемблер" существует в голове и под отладчиком, а как ты это запишешь, уже не суть важно. А самый бред - это НЕ использовать invoke, но старательно писать push за push'ем перед вызовом, получая тот же самый результат.
    Я не фанат макросов, но - рано или поздно - штучек 5-8 ты напишешь сам. Это удобно, это облегчает читаемость исходника, это позволяет иногда сэкономить массу времени. Чем свой собственный макрос отличается от invoke? Если ты знаешь, каков будет результат на чистом ассемблере - и именно это тебе надо - используй что угодно и не заморачивайся.
     
  16. hehe

    hehe New Member

    Публикаций:
    0
    Ну да, зачем писать множество push'ев, когда от использования макроса получится тоже самое, и ты можешь написать и так и так, но использование invoke гораздо короче и понятнее?
     
  17. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    hehe
    тут бегинеры у них свое понимание о чистоте ассемблера
    вобщем FatMoon правильно говорить любовь к макросам появится после накопления опыта - сначала все хотят всЁ посчупать в живую как есть на самом деле а уж потом когда надоест запихнуть в макрос или встроенный или собственоручный
     
  18. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    WWWorm
    это вырванная из контеста фраза - обычно дальше расшифровывается "степень чистоты"
     
  19. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Тоже не жалуешь стиль Изелиона ?? С его легкой руки эта батва так широко используется в асме под
    винду

    смотрел мой стиль в http://www.wasm.ru/forum/viewtopic.php?id=34428 ??? ваши коментарии ?
     
  20. S_Alex

    S_Alex Alex

    Публикаций:
    0
    Если так пойдет дальше, то может есть смысл (а его нет) отказаться от EQU и TEXTEQU зачем заморачиваться и запоминать непонятные, кемто придуманные WM_COMMAND,WM_CLOSE - это же просто числа. Давайте будем все писать на чистом (не макро) ассемблере, забудем что есть структуры и объединения.
    Т.е. не использовать:
    Я уверен, что будет такой "ГОЛОВНЯК", что мало не покажется.
    FatMoon
    +1

    Уберите из С и С++ все хидеры и макросы со структурами, которые все обычно используют, оставте только сам компилятор. И попробуйте написать мало-мальскую прогу на чистом С. Уж проще на "не чистом" асме.