visual studio 2012 купить



Visual studio дизассемблер

Автор Андрей задал вопрос в разделе Другие языки и технологии

Где в Visual Studio 2012 дизассемблер? надо посмотреть что компилирует масм32 при .IF... .ELSEIF... и получил лучший ответ

Ответ от Миоко Таканава[гуру]
Имеется в виду MASM, встроенный в Visual Studio? Т. е. вы компилируете проект, целиком написанный на ассемблере, а не ассемблерные вставки в C или C++?
Выберите в меню СЕРВИС -> Параметры... -> Отладка -> Общие и поставьте галочку "Показывать дизассемблированный код, если исходный код недоступен".
Теперь после компиляции при нажатии клавиши F10 среда сразу покажет окно с дизассемблированным кодом для отладки.
Например, такая простенькая программа с использованием макросов .if и .elseif
.586
.model flat, c
option casemap :none
printf proto :dword, :vararg
_getch proto
_exit  proto :dword
.data
  Mess1 db "0", 0
  Mess2 db "1", 0
  Mess3 db ">1", 0
.code
N169470640:
    rdtsc
    and eax, 3
    .if eax == 0
      invoke printf, addr Mess1
    .elseif eax == 1
      invoke printf, addr Mess2
    .else
      invoke printf, addr Mess3
    .endif
    invoke _getch
    invoke _exit, 0
    end N169470640
в окне отладки будет выглядеть так:
visual studio 2012 купить
P.S. Не знаю, можно ли в Visual Studio 2012 Express загрузить откомпилированную программу без исходного кода (у меня не получилось) , но на мой взгляд для этих целей лучше использовать OllyDbg. Он более удобный, чем встроенный в Visual Studio отладчик. Но это вопрос вкуса и привычки.

Ответ от Nexfwall[гуру]

Ответ от ?????? ????r?????u[гуру]
а что VS есть проекты для асма? не знал.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Где в Visual Studio 2012 дизассемблер? надо посмотреть что компилирует масм32 при .IF... .ELSEIF...
спросили в Байт код
чем можно открыть .exe файл, чтобы посмотреть исходный код?
Хм.. .Сначала, с вашего позволения, пара вопросов. А что такое пинч? И как, посмотрев исходный код
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*