|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 30, 2004 08:02:18 вот пример кода, где выдает ошибку фасм: format PE GUI 4.0 entry start include '%include%\win32a.inc' section '' code readable writeable executable start: invoke ExitProcess,0 invoke MessageBeep invoke MessageBox invoke MoveWindow data import library kernel32, 'kernel32.dll',\ user32, 'user32.dll' import kernel32,\ ExitProcess, 'ExitProcess' import user32,\ MessageBox, 'MessageBoxA',\ ; MessageBeep, 'MessageBeep',\ <------ MoveWindow, 'MoveWindow' end data ФАСМ пытается склеить две, или более строчек, после оператора "\", но фишка в том, что он не обрабатывает, является ли следущая строка комментарием или нет. Думаю то же касается МАСМА. Сабж? |
|
|
Дата: Июл 30, 2004 08:45:29 · Поправил: Asterix Это не баг, читаем у S.T.A.S.'а: Ранее, я упоминал, что строка, состоящая только из комментария не удаляется, а заменяется на пустую строку. Это значит, что код, подобный этому: db 1, 2, 3,\ ; 4,5,6,\ - закомментировано 7, 8, 9 преобразуется в: db 1, 2, 3 7, 8, 9 и вызовет ошибку. Выход из положения - помещать символ \ до комментария: db 1, 2, 3,\ \; 4,5,6 - правильно закомментировано 7, 8, 9 в результате будет: db 1, 2, 3, 7, 8, 9 как мы и хотели. |
|
|
Дата: Июл 30, 2004 10:34:32 Asterix спасибо за разъяснения |