Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2010, 22:43   #1
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию DLL MASM, ошибки при компиляции

в общем пишу DLL, при компиляции(в coff) возникает масса ошибок, не могу понять их природу возникновения
Цитата:
Assembling: main.asm
main.asm(91) : error A2206: missing operator in expression
main.asm(92) : error A2206: missing operator in expression
main.asm(95) : error A2206: missing operator in expression
main.asm(96) : error A2206: missing operator in expression
main.asm(99) : error A2206: missing operator in expression
main.asm(100) : error A2206: missing operator in expression
main.asm(103) : error A2206: missing operator in expression
main.asm(104) : error A2206: missing operator in expression
main.asm(107) : error A2206: missing operator in expression
main.asm(108) : error A2206: missing operator in expression
main.asm(111) : error A2206: missing operator in expression
main.asm(112) : error A2206: missing operator in expression
main.asm(115) : error A2206: missing operator in expression
main.asm(116) : error A2206: missing operator in expression
main.asm(119) : error A2206: missing operator in expression
main.asm(120) : error A2206: missing operator in expression
main.asm(127) : error A2206: missing operator in expression
main.asm(140) : error A2206: missing operator in expression
main.asm(141) : error A2206: missing operator in expression
main.asm(143) : error A2206: missing operator in expression
main.asm(144) : error A2206: missing operator in expression
main.asm(154) : error A2009: syntax error in expression
main.asm(166) : error A2009: syntax error in expression
main.asm(179) : error A2206: missing operator in expression
main.asm(180) : error A2206: missing operator in expression
main.asm(182) : error A2206: missing operator in expression
main.asm(183) : error A2206: missing operator in expression
main.asm(193) : error A2206: missing operator in expression
сорец прилагаю.
Вложения
Тип файла: rar main.asm.rar (1.1 Кб, 16 просмотров)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 11.03.2010 в 23:15.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.03.2010, 23:02   #2
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

мне так кажеться, в библиотеках(include kernel32.inc
includelib kernel32.lib) которые ты используеш в своем коде нет тех процедур и функций и переменных...

Последний раз редактировалось Doholyan; 11.03.2010 в 23:12.
Doholyan вне форума Ответить с цитированием
Старый 11.03.2010, 23:09   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в данный момент у меня используется только VirtualAlloc
и то, тогдаб написало что символ не определен
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.03.2010, 23:21   #4
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

сейчас взял константы в скобки - ошибок меньше стало.
Похоже, если явно указывать размер константы, то надо её в скобочки чтоли брать - идиотизм какой-то.

А чего вы invokom не пользуетесь? Принципиально?

Цитата:
push dword (PAGE_READWRITE)
push dword (MEM_COMMIT+MEM_RESERVE)
push dword (BlockSize)
push dword (0)
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 11.03.2010, 23:33   #5
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

-----------------
похоже на nasm синтаксис
чем компилите
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru

Последний раз редактировалось airyashov; 11.03.2010 в 23:43.
airyashov вне форума Ответить с цитированием
Старый 11.03.2010, 23:49   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

подправил...получилось вот что:
Цитата:
Assembling: main.asm
main.asm(95) : error A2070: invalid instruction operands
main.asm(183) : error A2070: invalid instruction operands
main.asm(193) : error A2070: invalid instruction operands
main.asm(96) : error A2009: syntax error in expression
main.asm(103) : error A2009: syntax error in expression
main.asm(104) : error A2009: syntax error in expression
main.asm(111) : error A2009: syntax error in expression
main.asm(112) : error A2009: syntax error in expression
main.asm(119) : error A2009: syntax error in expression
main.asm(120) : error A2009: syntax error in expression
main.asm(127) : error A2009: syntax error in expression
main.asm(143) : error A2009: syntax error in expression
main.asm(144) : error A2009: syntax error in expression
main.asm(154) : error A2009: syntax error in expression
main.asm(166) : error A2009: syntax error in expression
main.asm(182) : error A2009: syntax error in expression
странно вот что...(183 строка)
пишу так mov [eax+2],dword(0)
получаю main.asm(183) : error A2070: invalid instruction operands
а пишу так mov dword[eax+2],(0)
итог main.asm(183) : error A2009: syntax error in expression

странно..


Цитата:
похоже на nasm синтаксис
чем компилите
у насма нет offset и proc и тд.
MASM(название темы то на что?)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.03.2010, 23:51   #7
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Попробуй так
mov dword ptr [eax+2],dword(0)
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 12.03.2010, 00:06   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

давно в Ольку не заглядывал...забыл про ptr
спасибо Ulex
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Странные ошибки при компиляции в Visual studia C# 2008 skild Общие вопросы .NET 2 21.02.2010 23:38
Ошибки при компиляции программы (MASM) mustafa1453 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 06.09.2009 05:02
Ошибки после компиляции Cakeinpanic Общие вопросы C/C++ 8 16.05.2009 14:48
ошибки при компиляции |{ot Общие вопросы Delphi 14 02.08.2008 01:20