Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
rokorok
0 / 0 / 0
Регистрация: 11.02.2011
Сообщений: 36
1

Вставки в Visual Studio - макросы и генерация ошибки компиляции

27.04.2012, 08:08. Просмотров 1079. Ответов 1
Метки нет (Все метки)

Доброе утро! Я должен написать программу на ассемблере в VS для работы с битовыми строками. В ней есть макрос, выполняющий либо сброс бита в 0, либо установку в 1:
Если P = 0, то бит N числа X надо сбросить в 0, если P != 0 или вообще не задан, то бит N установить в 1. Если не задан X, то выдать ошибку компиляции. Код:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
SETCLEAR MACRO X,N,P
    IFB <X>
        JMP MAKE_ERROR
    ENDIF
    PUSHR <<EAX,ECX,F>>
    MOV EAX,X
    MOV ECX,N
    IFE P
      CALL SET0PROC
    ELSE
      CALL SET1PROC
    ENDIF
    MOV X,EAX
    PUTSTR X,32
    POPR <<F,ECX,EAX>>
ENDM
...
MAKE_ERROR:
    invoke  GetStdHandle, STD_ERROR_HANDLE
    mov edi, eax          
        ;Здесь, я думаю, нужно вызвать ошибку компиляции
Тут у меня возникают две проблемы:
1) При попытке не указывать первый параметр в макросе (SETCLEAR ,5,0) выдаются ошибки:
1>code.asm(271): error A2008: syntax error : in instruction
1>code.asm(271): error A2008: syntax error : ,
1>code.asm(271): error A2008: syntax error : in instruction
Когда пытался сделать так же в MASM5.1, всё работало. Что не понравилось VS?
2)Как собственно прервать компиляцию и выдать ошибку там, где у меня MAKE_ERROR ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2012, 08:08
Ответы с готовыми решениями:

Visual Studio 6.0 + Assembler
Добрый день! Есть простейший пример: #include &quot;stdafx.h&quot; void main()...

Assembler в Visual Studio
Здравствуйте, пытаюсь использовать ассемблер в программе под Visual Studio....

[Masm32] Ошибки при компиляции
Помогите решить ошибки aa.asm(25) : error A2070: invalid instruction operands...

Ошибки при компиляции после переноса tasm в nasm
Здравствуйте, я только начинаю изучать ассемблер. Есть код программы, пытаюсь...

Записать значение строки str1 в ebp-6Ch - Ошибки компиляции
mov , str1 это lea str1, и это первая строка нужно записать...

1
rokorok
0 / 0 / 0
Регистрация: 11.02.2011
Сообщений: 36
29.04.2012, 22:01  [ТС] 2
По поводу прерывания компиляци разобрался: нашёл директивы .ERR*. Теперь мне бы узнать, как отучить Visual Studio от выдачи ошибки, когда я задаю пустой первый(и второй тоже) параметр макроса.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2012, 22:01

Ошибки в Visual Studio 2015 при компиляции
Всем здравствуйте. Столкнулся с проблемой при компиляции программы в VS2015....

Обновление Visual Studio и фатальные ошибки компиляции
Такой вопрос. Работаю в Visual Studio 2017. Сделал обновление, в результате...

Ошибки при компиляции проекта в Visual Studio
Всем привет. Помогите настроить VS Вот пошаговые действия: нажимаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru