Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ delete[] https://www.cyberforum.ru/ cpp-beginners/ thread925222.html
подскажите пожалуйста как заставить это работать? Вылетает на строчке delete. Выделяю ведь память с помощью оператора new. А в идеале нужно сделать так чтобы была отдельная ф-я типа: void...
C++ Учусь c ++
В общем читал статью в учебнике "Умные опеpатоpы". Дальше идет такая пpогpаммка. #include <iostream> #include<string> Using namespace std; int main() {
C++ Ввод данных с клавиатуры
1.«Тестирование коллектива». Пусть целочисленная матрица размером п х т содержит информацию об учениках некоторого класса из п человек. В первом столбце проставлена масса (кг), во втором — рост (см),...
C++ Захват и управление видеопотоком Здравствуйте. У меня определенная проблема, но нет знаний чтобы понять ее суть. Но есть стремление. Объясните пожалуйста, каким образом можно изменить то, что отображается на мониторе в режиме... https://www.cyberforum.ru/ cpp-beginners/ thread925196.html
C++ Связанные списки (переделать программу) https://www.cyberforum.ru/ cpp-beginners/ thread925189.html
Как переделать программу, чтобы можно было вводить самому ключи и не было Access Violation? #include <iostream> #include <time.h> #include <string.h> using namespace std; char buff; ...
C++ Почему break нельзя использовать в if?
почему break нельзя использовать в if вот код if(f.eof()==1) { break; } про break MVS говорит что ОПЕРАТОР break можно исолпьзовтаь только внутри цикла
Разыменование указателя! C++
Всем привет, объясните почему и как это работает? int (*pf)(void); int f(void) { static int count ; pf = &f; // This looks ok pf = ***f; // Dereference a function?
C++ Работа функции unique_copy () Почему в result после её работы встречаются одинаковые значения? #include <iostream> #include <vector> #include <algorithm> #include <string> #include <iterator> using std :: cout; using std... https://www.cyberforum.ru/ cpp-beginners/ thread925166.html
C++ Не записываются символы в файл https://www.cyberforum.ru/ cpp-beginners/ thread925128.html
Нужно считать из файла текст, и записать по символу в новый файл. Почему - то при открытии выходного файла там ничего нет. Помогите найти ошибку. #include<iostream> #include<fstream>...
C++ Как ввести свои данные в переменную key? // lab_work_4.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include <time.h> #include <string.h> using namespace std; char buff; https://www.cyberforum.ru/ cpp-beginners/ thread925127.html
42 / 42 / 27
Регистрация: 29.01.2013
Сообщений: 277
0

Прямой доступ к видеопамяти

18.07.2013, 17:10. Просмотров 5233. Ответов 11
Метки (Все метки)

Требуется написать программу, которая будет напрямую обращаться в видеопамяти. Описание:

Реализовать функцию, принимающую три параметра - цвет фона, цвет тона и код символа и производящую заполнение этим символом всего экрана. Реализовать функцию очистки экрана с использованием созданной функции.

Для заполнения видеопамяти воспользуйтесь указателем на беззнаковый символ.
Для присвоения ему значения 0хВ8000000 необходимо осуществить явное преобразование типов. Непосредственное значение 0хВ8000000 имеет тип int. Следует сначала привести тип этого значения к void* а затем - к unsigned char* для того, чтобы присовение стало возможным.
Для обращения к различным байтам видеопамяти воспользуйтесь этим указателем.
Видеопамять организована следующим образом: байт по адресу 0хВ8000000 содержит код символа в левом верхнем углу экрана. Следующий за ним байт содержит цвет фона и цвет тона этого символа. В старшей половине этого байта содержится цвет фона, в младшей - цвет тона.

Коды некоторых цветов: 0х0 - черный, 0х7 - серый, 0хf - белый

При выполенини работы производите периодическое сохранение программы, так как некорректная работа с памятью может привести к ошибке ЭВМ и потере данных в оперативной памяти.

КОД, КОТОРЫЙ НЕ РАБОТАЕТ:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main(void)
{
    
    char *p =  (char *)((void *)0xB8000000);
        
    for(int i = 1; i <= 20; i++){
        *p = '8';
        p++;
        *p = 0;
        p++;
    }
    
 
    return 0;
}
Добавлено через 1 минуту
Доступно ли прямое обращение к памяти в Windows 7 в режиме user mode?

Вернуться к обсуждению:
Прямой доступ к видеопамяти
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.07.2013, 17:10
Готовые ответы и решения:

Прямой доступ к переменным
Доброго времени суток, форумчане. Сразу оговорю, что название темы может не совсем корректно...

Прямой доступ к видео памяти
Здравствуйте, подскажите как организовать прямой доступ к видео памяти на современно VGA/DVI видео...

вопрос по си-подключение видеопамяти
в проге-заготовке вот строка far*p=(char far *)MK_FP(0xB800,0x0000) прога-текстовой...

Прямой доступ к видеопамяти
Здраствуйте уважаемы программеры! У меня к вам огромная просьба не могу написать казалось бы...

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