Простой вопрос по FASM

Тема в разделе "WASM.BEGINNERS", создана пользователем sysexit, 31 авг 2010.

  1. sysexit

    sysexit New Member

    Публикаций:
    0
    Почему такой код не компилируется?

    Код (Text):
    1. use32
    2.  
    3. mov eax, dword ptr fs:[0]
    И еще возмонжо ли компилировать бинарик, с использованием процедур?

     
  2. iZzz32

    iZzz32 Sergey Sfeli

    Публикаций:
    0
    • mov eax,dword[fs:0]
    • Можно. См. синтаксис в .pdf из дистрибутива.
     
  3. sysexit

    sysexit New Member

    Публикаций:
    0
    А с нормальным синтаксисом не скомпилировать никак?

    mov eax, dword ptr fs:[0]
     
  4. qqwe

    qqwe New Member

    Публикаций:
    0
    sysexit
    это и есть нормальный синтаксис
    одной из важных идей фасма - логичность и однозначность записи.

    [ ... ] - данные по адресу
    адрес в этом примере - fs:0
     
  5. Guru_of_Zen

    Guru_of_Zen Member

    Публикаций:
    0
    qqwe
    ага
    и ни на что ни похожий.

    типа у всех-то не нормально и неправильно, а у нас одних -- нормально и правильно.
     
  6. sysexit

    sysexit New Member

    Публикаций:
    0
    Придется отказатся от фасма из-за его правильного синтаксиса
     
  7. qqwe

    qqwe New Member

    Публикаций:
    0
    Guru_of_Zen
    у всех это у кого?

    помойму у фасма как раз все путем. например, очень жаль, что в фасм ввели директиву ассуме. довольно напрягает в оч длинном листинге, даже своем старом, моменты вроде

    mov eax,[ebx].flags

    писать оно может и удобнее и выглядит красивее, но когда начинаешь отлаживать/расширять/изменять через полгода-год, начинаешь понимать почему так не надо делать и почему синтаксис фасма оптимальнее.

    то же и с макросами. в целом и общем - не нужны они практически.

    хотя, и кривых моментов хватает. например, со структурами.
     
  8. Phuntik

    Phuntik New Member

    Публикаций:
    0
    Guru_of_Zen
    Неудачный наброс.

    sysexit
    Для таких вопросов раздел бегиннерс есть.
    А вообще так не поступают. С таким вопросом разобраться нужно самостоятельно.
     
  9. Clerk

    Clerk Забанен

    Публикаций:
    0
    Всюду в квадратных скобках обозначается адрес. Есчо на z80 так было и ранее. А сегмент должен быть до скобок, так как это база для смещения. [seg:offset] не логично, интел так не пишет.
    sysexit
    Фасм вам не нужен. Тоесть у вас нет задач, для которых лучше его использовать. Масм юзайте.
     
  10. edemko

    edemko New Member

    Публикаций:
    0
    способ мышления и не более
     
  11. Guru_of_Zen

    Guru_of_Zen Member

    Публикаций:
    0
    qqwe
    ну в манах интела/амд например.

    и поначалу на диалектах на всех ассемблерных так, как положено изначально было инженерами в манах.

    а потом появились самодуры из борланд, с "идеальными" разводками ыхых, никому не нужныме правда хехе. типо как бы одна говноконтора решила показать себя умнее инженеров производителя процов.

    за борландовскими самодурами стали повторять красноглазыя НАСМ овцы.

    ну а за ниме -- восточноевропейскей брат Томаш и другие красноглазыя ЙАСМовцы .

    =========================

    а разгадка имхо одна и единственна верная -- кулхацкиры, тока-тока начиная учить язык ассемблера, сразу же загораютца идеей напейсать свой транслятор, еще не вкурив как следует в маны и прочий дзен. эталоным выбирается тот единственный, с которого они начинали -- тасм идеал под дос (ну из учебнеков там)

    а естесно свой ассемблер они пишут как -- берут сорцы у предыдущего и переписывают ыхых.

    потом как приходит время добавить новыя инструкции, они узнают про маны, узнают про свой косяк с адресацией, но не переписывают, ибо как гриться боржоме пить поздна.

    утрирую конечно, но примерно так оно и есть.

    самое главное -- почему интел не могет свой ассемблер выпустить отдельно ?
    компилятор делают, а имхо ассемлер по-любому в компиляторе у них есть (сорцы вначале в ассемблерный перегоняются, потом в машиннай).

    жмут наверное.
     
  12. qqwe

    qqwe New Member

    Публикаций:
    0
    Guru_of_Zen
    интел/амд производители компилеров асма?
    и при чем тут инженеры-производители процев к асму вообще? это совершенно разные вещи.
    борланд в свое время отлично конкурировала с мс на рынке компилеров, не раз последнюю обгоняя. и сдала позиции не изза "ненужности", а изза переоценки дельфи и еще некоторых слабых решений (например, было вложено мало средств в разработку оптимизатора для их компилеров) итд.

    остальные доводы малопонятны. больше похоже на выражение вашего отношения, чем на продуманные аргументы. например, бенц делал автомобили из старых карет. они были похожи на гробы на здоровенных колесиках. в школьных учебниках их так и рисуют досе. но ездить люди предпочитают на чем нибудь более современном. те, которые ездют.
     
  13. Guru_of_Zen

    Guru_of_Zen Member

    Публикаций:
    0
    ну допустим есть стандарт си -- производители компилеров придерживаются ево синтаксиса и прочего. и даже микростаф, любящая стандарты "улучшать".

    с х86 и х86_64 стандартов нету, да, но есть маны интела и амд -- первоисточники информации, каноничные так скажем стандарты.

    зачем же особо одаренные личности полезли в чужой монастрырь со своим уставом -- вот в чем вопрос ? может быть и да, оне хотели как лучше, но вышла лишь допольнительная путаница (и этот топик тому пример). воистину, благими намерениями блаблабла.

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

    а которые хотят не просто поездить, а повыеживаться -- они летают на польских джетпаках...
     
  14. edemko

    edemko New Member

    Публикаций:
    0
    mov ebx,[esp+2*4][4*4][locals]
    Зачем о таком спорить :).
    Займитесь полезным.
    Вот у нас начались пары - учусь.