Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/12: Рейтинг темы: голосов - 12, средняя оценка - 4.50
Drovosek01
5 / 5 / 1
Регистрация: 20.09.2015
Сообщений: 84
1

Как писать чисто ассемблерный код в Visual Studio 2015 ?

03.04.2017, 17:35. Просмотров 2185. Ответов 5
Метки нет (Все метки)

Прочитал вот эту статейку https://habrahabr.ru/post/252647/ всё работает при условии, что на компе установлен masm32.
А если я хочу в этой IDE компилировать чисто код на ассемблере, чтобы не надо было дополнительных программ устанавливать. Как мне так сделать?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2017, 17:35
Ответы с готовыми решениями:

На каком Visual Studio можно отлаживать ассемблерный код для винды 32р
Какую Visual Studio лучше скачать?, что бы можно было пользоваться отладчиком для ассемблера,...

Как просмотреть ассемблерный код программы, написанной на с++ в VS 2010
Как просмотреть ассемблерный код проги написанной на с++ в VS 2010 ? (Там вроде надо пройтись в...

Настройка вызова С функции з asm в Visual Studio 2015
Здравствуйте, помогите пожайлуста решить проблему с вызовом printf или любой другой сишной функции...

Как можно писать на Си в Visual Studio 2015?
Здравствуйте, как можно писать на Си в Visual Studio? Плагина как такового нет. P.S:Знаю что есть...

На каком VB можно писать в Visual Studio 2015?
Visual Basic .NET какой версии? Или, любой?

5
Jin X
5271 / 1440 / 166
Регистрация: 14.12.2014
Сообщений: 2,780
Записей в блоге: 10
Завершенные тесты: 2
04.04.2017, 20:14 2
В VS есть ml.exe, link.exe и ml64.exe.
0
Drovosek01
5 / 5 / 1
Регистрация: 20.09.2015
Сообщений: 84
05.04.2017, 10:37  [ТС] 3
Jin X, а можно ссылку на гайд для чайников ?
0
nimazzzy
Заблокирован
05.04.2017, 10:53 4
Если очень кратко. Создаешь обычный плюсовый пустой проект. Добавляешь сорец .asm. В солюшн эксплорере Build Dependencies -> Build Customizations, ставишь галку на masm.
В пропертях добавленного файла выставляешь Item Type в Microsoft Macro Assembler.
Все, собственно.
чтобы не было сообщений о unresolved maincrtstratup, не забываем выставить в настройках проекта entry point.
0
nimazzzy
Заблокирован
05.04.2017, 10:58 5
Приложил скриншоты, как примерно сие выглядит.
0
Миниатюры
Как писать чисто ассемблерный код в Visual Studio 2015 ?   Как писать чисто ассемблерный код в Visual Studio 2015 ?   Как писать чисто ассемблерный код в Visual Studio 2015 ?  

Как писать чисто ассемблерный код в Visual Studio 2015 ?  
Drovosek01
5 / 5 / 1
Регистрация: 20.09.2015
Сообщений: 84
06.04.2017, 18:54  [ТС] 6
nimazzzy,
Сделал как Вы сказали. Добавил в асм файл код из одной лабы, которую выполнял в masm32:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
.486
.model flat, stdcall
option casemap: none
 
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\masm32.inc
include \masm32\include\debug.inc
 
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\masm32.lib
includelib \masm32\lib\debug.lib
 
.data
X byte "012345678901"
 
.code
start:
DbgDump offset X, 12d          ; печать исходной строки
rcr dword ptr X+8,1            ; сдвиг старшего двойного слова (0123) 
rcr dword ptr X+4,1            ; сдвиг среднего двойного слова (4567)
rcr dword ptr X,1              ; сдвиг младшего двойного слова (8901)
 
jc M                           ; проверяем флаг переноса (млад. бит переменной X)
and byte ptr X+11,7Fh          ; если бит=0, то сброс старшего бита X
jmp E
M:
or byte ptr X+11,80h           ; если бит=1, то уст-ка старшего бита X
E:
PrintLine
DbgDump offset X, 12d          ; печать зашифрованной строки
PrintLine
rcl dword ptr X+8,1 
rcl dword ptr X+4,1 
rcl dword ptr X,1 
DbgDump offset X, 12d 
 
ret
end start
Но дампы памяти вывелись всё равно в окне масма.
Удалил include'ы, запустил, VS начала ругаться на DbgDump и PrintLine. закомментировал их, все запустилось без ошибок. ну как запустилось, командная строка просто на секунду мелькнула и всё.
Как мне теперь дампы памяти выводить/смотреть?
0
06.04.2017, 18:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2017, 18:54

Как допустить компилировать небезопасный код в Visual Studio 2015?
В cmd также интересно как

Visual studio 2015 c++ компилировать код в MS-DOS
ПОМОГИТЕ ЧАЙНИКУ!!!!! Visual studio 2015 c++ не могу компилировать код в MS-DOS пишет ошибку не...

Visual Studio 2015. Выполнить код при запуске
Тривиальная задача, но нигде не могу найти решение. Каким образом можно сделать так, тобы...


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

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

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