Возник вопрос: как объявить функцию в FASM'е. Писал так: Код (Text): proc functionname ;здесь ругань ... endp Но компилятор ругается. Извиняюсь за глупость вопроса, но всё же... На оф.сайте в документации смотрел, но не нашёл, видать плохо смотрел.
Igor1024, телепаты на этом форуме водятся, но если показать минимальный сурс (а не только определение функции) и рассказать, как же именно ругается компилятор, то ответ найдётся значительно быстрее.
Код (Text): org 100h mov cl,'q' call ungetch proc ungetch ;illegal instruction mov ah,5 mov ch,0 int 16h endp
Igor1024, proc в фасме реализован макросами. Чтобы их использовать, нужно подключить macro/proc32.inc напрямую или в составе одного из win32*.inc. Эти макросы не поддерживают 16-битный код, поэтому поддержку proc придётся писать самому или обойтись без неё. В приведённом выше исходнике proc не особенно и нужен, раз аргументы через стек не передаются: Код (Text): ungetch: ... retn сделает то же самое. Есть неофициальные макросы proc для 16-битного кода, их работоспособность не гарантируется, но в случае проблем можно попробовать задать вопрос в той теме.
iZzz32, я примеры из Зубкова решил сам переписать (не все конечно!). Вот этот вынес на суд людской из-за краткости.