Форум программистов, компьютерный форум CyberForum.ru

C++ __asm Как начать? - C++

Восстановить пароль Регистрация
 
Pavel0786
Сообщений: n/a
02.11.2012, 14:56     C++ __asm Как начать? #1
Добрый день,

Подскажите как начать использовать вставки __asm{}

У меня Visual Studio 2012

Хотел написать простенькую программку но не одно из прерываний не работает... пишет типа нет прав и т.д.

допустим (убрать курсор с экрана)
__asm{
mov ax,2
int 33h
}
или чтонить с int 16h, 21h(клавиатура)
Раньше такие вещи можно было очень просто использовать... ругается на прерываниях что мол или доступа нет или ещё что...Как же теперь такие вставки использовать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,307
02.11.2012, 15:03     C++ __asm Как начать? #2
Никак.

Инструкции прерываний (int XXh) относятся к привилегированным инструкциям, их может выполнять только код, выполняемый в кольце 0 (т.е. - в ядре ОС). Все упомянутые тобою примеры пришли из далеких годов MS DOS (мир праху ее!), лет этак 20-25 назад. В современных ОС они работать не будут.

Впрочем, если очень уж хочется - поставь себе DosBox, водрузи на него компилятор типа Turbo C/Turbo C++, и занимайся в "песочнице".
Pavel0786
Сообщений: n/a
02.11.2012, 15:17     C++ __asm Как начать? #3
спасибо кат за ответ.... Песочница говоришь))... интересно. Т.е. давай уточним средствами асма более нет возможности простым путём добраться до буфера клавиатуры и мыши так ? Зачем тогда весь этот прогресс нужен?... построили из песка замки и это уже не песочница а большая политика))
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
02.11.2012, 16:11     C++ __asm Как начать? #4
Цитата Сообщение от Pavel0786 Посмотреть сообщение
Т.е. давай уточним средствами асма более нет возможности простым путём добраться до буфера клавиатуры и мыши так ? Зачем тогда весь этот прогресс нужен?
именно за тем и нужен
Yandex
Объявления
02.11.2012, 16:11     C++ __asm Как начать?
Ответ Создать тему
Опции темы

Текущее время: 16:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru