Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
maksimkalon
10 / 9 / 7
Регистрация: 03.03.2013
Сообщений: 71
1

Цепочки в VS C++

04.04.2014, 16:27. Просмотров 358. Ответов 8
Метки нет (Все метки)

Не работает следующий код в Visual Studio 2010 C++

C++
1
2
3
4
5
__asm{
    data segment
        mas dw 1,2,3
    data ends
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2014, 16:27
Ответы с готовыми решениями:

Цепочки на ассемблере
Оч. нужно!!! Разработка единой программы на ассемблере для выполнения различных операций с...

Определение цепочки байт
Здравствуйте! При запуске программы в Turbo Debugger в массиве байтов появляется лишний символ....

Цепочки: удаление элементов
Доброго времени суток! Помогите пожалуйста с решением задачи: В заданной строке удалить слог...

Поиск символьной цепочки
Доброго времени суток! = ) Собственно по сабжу... как можно реализовать поиск символьной...

Сравнить две цепочки на равенство
Пишу на чистом асме (так сказать в машинных кодах) используя отладчик. Надо сравнить две цепочки...

8
maksimkalon
10 / 9 / 7
Регистрация: 03.03.2013
Сообщений: 71
08.04.2014, 07:32  [ТС] 2
Проблему решил. В inline ассемблере нельзя определять эти блоки.
Возник другой вопрос, пишу код:
Assembler
1
2
3
4
5
__asm{
    int n = 4;
    char *C = new char[n];
    mov EBX, C
};
работает, а вот такой нет
Assembler
1
2
3
4
5
__asm{
    int n = 4;
    char *C = new char[n];
    mov BX, C
};
ошибка
C++
1
error C2443: operand size conflict
Не пойму почему, по байтам вроде все правильно
0
Dmitrinik
536 / 396 / 99
Регистрация: 18.08.2012
Сообщений: 1,024
08.04.2014, 08:16 3
Потому что "указатель" в Винде четырехбайтовый
0
Mikl___
Автор FAQ
13772 / 6512 / 656
Регистрация: 11.11.2010
Сообщений: 11,740
08.04.2014, 08:54 4
Цитата Сообщение от maksimkalon Посмотреть сообщение
Проблему решил
естественно,
  1. int n = 4; и char *C = new char[n]; это Си-шный синтаксис и его не стоило толкать внутрь ассемблерной вставки
  2. mov BX, C для названия переменной взято зарезервированное в ассемблере слово
0
08.04.2014, 08:54
maksimkalon
10 / 9 / 7
Регистрация: 03.03.2013
Сообщений: 71
08.04.2014, 09:54  [ТС] 5
Прошу прощения, опечатался, вот такой тоже не работает
C++
1
2
3
4
5
int n = 4;
int *massiv = new int[n];
_asm{
    mov BX, massiv
}
BX - 16bit
int - 16bit
0
Mikl___
Автор FAQ
13772 / 6512 / 656
Регистрация: 11.11.2010
Сообщений: 11,740
08.04.2014, 10:05 6
maksimkalon,
попробуй
C++
1
2
3
_asm{
    lea BX, massiv
}
1
maksimkalon
10 / 9 / 7
Регистрация: 03.03.2013
Сообщений: 71
08.04.2014, 10:21  [ТС] 7
Большое спасибо, работает. Вы не посоветуете учебник по ассемблеру, чтобы не задавать глупых вопросов? Сейчас читаю В. И. Юров - Assembler. Учебник для ВУЗов.
0
Mikl___
Автор FAQ
13772 / 6512 / 656
Регистрация: 11.11.2010
Сообщений: 11,740
08.04.2014, 10:23 8
maksimkalon,
FAQ для раздела Assembler, MASM, TASM http://www.cyberforum.ru/cgi-bin/latex.cgi?\rightarrow "что лучше почитать по ассемблеру?"
0
maksimkalon
10 / 9 / 7
Регистрация: 03.03.2013
Сообщений: 71
08.04.2014, 10:25  [ТС] 9
Спасибо. Тема закрыта.
0
08.04.2014, 10:25
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2014, 10:25

Цепочки: поиск и замена символов
Доброго времени суток! Помогите пожалуйста с решением задачи: В строке из 15 символов найти...

Поиск заданной цепочки бит в массиве
Помогите разобраться в задании: Сразу же не понятно в массиве чего искать битовую строку?...

Поиск заданной символьной цепочки на произвольном магнитном диске.
Есть ли исходники или похожие работы? В гугле не нашел. Хотя бы что-то.


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

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

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