фасм вцелом рулит, но пара багов там есть бага раз Код (Text): DEBUG = 0 A fix 'dog' display 'start: ' display 'A1=', A, ' ' if DEBUG = 1 display 'debug mode: ' A fix 'cat' end if display 'A2=', A результат: Код (Text): flat assembler version 1.55 start: A1=dog A2=cat 1 passes, 0 bytes. я, конечно, понимаю, что fix имеет высокий приоритет, но не настолько же бага два Код (Text): XX fix 'something' macro test2 { XX fix 'anyvalue' } test2 результат: Код (Text): flat assembler version 1.55 fasm-bug2.asm [9]: test2 fasm-bug2.asm [6] test2 [1]: XX fix 'anyvalue' error: illegal instruction.
Это не баги. FIX - директива препроцессора, приоритет выше, чем у всех остальных директив препроцессора. а IF - директива ассемблера, выполняется уже на последней стадии. Во 2м случае получается: 'something' fix 'anyvalue' Подробнее здесь
S_T_A_S_ А чего там нового в fasm 1.55 ? ЗЫ: я уже задолбался каждые полмесяца дописывать код в fasmw.asm и перекомпилять..
Нового в FASM - добавлена возможность использования # во вложенных макросах - используется ##. Раньше приходилось делать fix'ы. Кстати, рекомендуется его скачать - в одном из первых релизов 1.54 был баг, вызванный оптимизацией.
> в одном из первых релизов 1.54 был баг, вызванный оптимизацией. Вот блин , но у меня не первый релиз, а релиз после того как был пофикшен баг что постил bogrus.
Что-то я не знаю, про тот или какой другой баг речь идёт, я всё равно версией с листингом пользуюсь (там его похоже не было), 1.55 ещё не качал даже. Кста, можно качать только GUI версию, а консольную компилить из сорцов - они везде одинаковые. Или наоборот, но сорцы редактора бывает тоже меняются..