тока не бейте.. я поискал по форуму.. Можно ли в fasm'е сделать так, чтобы макрос возвращал значение, как в masm'е? т.е. использовать макрос в качестве аргумента или операнда...
В общем-то, в fasm это можно было делать и раньше. Только значение не возвращать, а присваивать его какому-то глобальному идентификатору, например __@__. Правда, "возвращаемое" таким образом значение можно будет использовать только в макросах, в ассемблерных командах нельзя. MASM: Код (Text): $MAKELANGID macro s,p:REQ exitm (p shl 10) or s $MAKELANGID endm mov eax,$MAKELANGID FASM: Код (Text): @@MAKELANGID equ @MAKELANGID macro @MAKELANGID s, p { restore __@__ __@__ = (p shl 10) or s } macro mov dest,arg { if @ # arg eq arg arg if~dest eq __@__ mov dest,__@__ end if else if~dest eq arg mov dest,arg end if } mov eax, <@MAKELANGID 1,1> на первый взгляд такой подход более громоздкий, но реально предоставляет больше возможностей.