fasm 2 bug'a

Тема в разделе "WASM.ASSEMBLER", создана пользователем zed_0xff, 31 авг 2004.

  1. zed_0xff

    zed_0xff New Member

    Публикаций:
    0
    Регистрация:
    13 май 2004
    Сообщения:
    29
    фасм вцелом рулит, но пара багов там есть :)

    бага раз
    Код (Text):
    1. DEBUG = 0
    2. A fix 'dog'
    3.  
    4. display 'start: '
    5.  
    6. display 'A1=', A, ' '
    7.  
    8. if DEBUG = 1
    9.     display 'debug mode: '
    10.     A fix 'cat'
    11. end if
    12.  
    13. display 'A2=', A
    14.  


    результат:
    Код (Text):
    1. flat assembler  version 1.55
    2. start: A1=dog A2=cat
    3. 1 passes, 0 bytes.


    я, конечно, понимаю, что fix имеет высокий приоритет, но не настолько же ;)



    бага два
    Код (Text):
    1. XX fix 'something'
    2.  
    3. macro test2
    4. {
    5.     XX fix 'anyvalue'
    6. }
    7.  
    8. test2


    результат:
    Код (Text):
    1. flat assembler  version 1.55
    2. fasm-bug2.asm [9]:
    3. test2
    4. fasm-bug2.asm [6] test2 [1]:
    5.         XX fix 'anyvalue'
    6. error: illegal instruction.
     
  2. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    Это не баги.



    FIX - директива препроцессора, приоритет выше, чем у всех остальных директив препроцессора.

    а IF - директива ассемблера, выполняется уже на последней стадии.



    Во 2м случае получается:

    'something' fix 'anyvalue'





    Подробнее здесь
     
  3. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    S_T_A_S_



    А чего там нового в fasm 1.55 ?



    ЗЫ: я уже задолбался каждые полмесяца дописывать код в fasmw.asm и перекомпилять..
     
  4. zed_0xff

    zed_0xff New Member

    Публикаций:
    0
    Регистрация:
    13 май 2004
    Сообщения:
    29
    ок. понял. дурак ;)

    сенк за доку, видимо для полного щастья мне именно ее и не хватало...
     
  5. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    Нового в FASM - добавлена возможность использования # во вложенных макросах - используется ##.

    Раньше приходилось делать fix'ы.



    Кстати, рекомендуется его скачать - в одном из первых релизов 1.54 был баг, вызванный оптимизацией.
     
  6. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    > в одном из первых релизов 1.54 был баг, вызванный оптимизацией.



    Вот блин :dntknw:, но у меня не первый релиз, а релиз после того как был пофикшен баг что постил bogrus.
     
  7. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    Что-то я не знаю, про тот или какой другой баг речь идёт, я всё равно версией с листингом пользуюсь (там его похоже не было), 1.55 ещё не качал даже.

    Кста, можно качать только GUI версию, а консольную компилить из сорцов - они везде одинаковые. Или наоборот, но сорцы редактора бывает тоже меняются..