Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2012, 21:12   #1
Alek-de-Mik
Пользователь
 
Регистрация: 07.09.2012
Сообщений: 44
По умолчанию Вывод текущего видеорежима|C

Пытаюсь получить значение видео режима, используя ассемблерные вставки, что я делаю не так?
Код:
#include <stdio.h>;
#include <stdlib.h>;

void main()
{
        int c;     // объявляем переменную c, но не инициализируем ее
        // начало ассемблерной вставки
        __asm{
			mov ah,0Fh
            int 10h
			mov c, al
        }
        // конец ассемблерной вставки
        // выводим содержимое c на экран
        printf("%x\n", c);
		system("pause");
}
Alek-de-Mik вне форума Ответить с цитированием
Старый 02.10.2012, 22:04   #2
Alek-de-Mik
Пользователь
 
Регистрация: 07.09.2012
Сообщений: 44
По умолчанию

Помогите мне пожалуйста = )
Alek-de-Mik вне форума Ответить с цитированием
Старый 02.10.2012, 22:23   #3
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Уже не помню прерываний ДОС, но мне кажется подозрительным, в Вы не инициализируете переменную с - ассемблерная вставка ведь переопределяет только один младший ее байт, не изменяя остальных (если в ДОС целая 16-разрядная, значит, одного старшего байта).
Обнулите ее перед использованием.
s-andriano вне форума Ответить с цитированием
Старый 02.10.2012, 22:45   #4
Alek-de-Mik
Пользователь
 
Регистрация: 07.09.2012
Сообщений: 44
По умолчанию

Пишет, что недостаточно прав доступа
и ещё вот:
"test.exe": Загружено: "C:\Users\User\Documents\Visual Studio 2010\Projects\test\Debug\test.exe", Символы загружены.
"test.exe": Загружено: "C:\Windows\SysWOW64\ntdll.dll" , Невозможно найти или открыть файл PDB
"test.exe": Загружено: "C:\Windows\SysWOW64\kernel32.d ll", Невозможно найти или открыть файл PDB
"test.exe": Загружено: "C:\Windows\SysWOW64\KernelBase.dll ", Невозможно найти или открыть файл PDB
"test.exe": Загружено: "C:\Windows\SysWOW64\msvcr100d.dll" , Символы загружены.
Первый этап обработки исключения в "0x008e13a4" в "asm.exe": 0xC0000005: Нарушение прав доступа при чтении "0xffffffff".
Необработанное исключение в "0x779a15ee" в "asm.exe": 0xC0000005: Нарушение прав доступа при чтении "0xffffffff".
Программа "[828] test.exe: Машинный код" завершилась с кодом 0 (0x0).
Alek-de-Mik вне форума Ответить с цитированием
Старый 02.10.2012, 23:19   #5
Alek-de-Mik
Пользователь
 
Регистрация: 07.09.2012
Сообщений: 44
По умолчанию

Подскажите, почему может быть недостаточно прав?
Alek-de-Mik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
уадит текущего каталого Adline783 Общие вопросы C/C++ 3 13.12.2011 12:02
Частота текущего звука Biohazard Мультимедиа в Delphi 1 13.07.2010 11:44
Вывод текущего времени формата H:M:S:MS, где MS - миллисекунды Gypsy Помощь студентам 5 13.01.2010 18:05
Восстановление видеорежима после завершения программы Marsel737 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 10.12.2009 23:11
Изменение текущего каталога mr2 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 04.02.2008 21:13