217 / 53 / 4
Регистрация: 03.08.2013
Сообщений: 278
1

Как считать строку из видеопамяти?

16.09.2013, 10:14. Показов 1687. Ответов 18
Метки нет (Все метки)

нужно считать несколько символов с диапазона 0xB8000-0xB8008.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.09.2013, 10:14
Ответы с готовыми решениями:

Как считать сколько видеопамяти сьедает разрешение экрана?
Вот нашел 1 видиаху и там в отзывах написано следующее:"Сможет ли работать с разрешением...

Как считать строку scanf'ом при этом не переходя на новую строку, т.е. без использования Enter'а
Как считать строку scanf'ом при этом не переходя на новую строку, т.е. без использования Enter'а,...

не могу понять реальный объём видеопамяти. (Ноут за 10к с 6 ГБ видеопамяти О_о)
Друг реши себе ноут взять на авито. Вот вижу такое объявление: Тыц Заголовок товара: Мощный HP...

Как считать строку?
Всем доброго времени суток. Возникла такая проблема. Нужно из файла вывести в Label текст, потом в...

18
Ушел с форума
Автор FAQ
15029 / 7224 / 899
Регистрация: 11.11.2010
Сообщений: 12,974
16.09.2013, 11:02 2
mashuly,
читай через один (символ+атрибут) командой lodsw (mov ax,[esi]/ esi+=2)
0
217 / 53 / 4
Регистрация: 03.08.2013
Сообщений: 278
16.09.2013, 13:24  [ТС] 3
из адаптера будет считываться сам символ или его адрес?
0
1127 / 261 / 9
Регистрация: 11.06.2010
Сообщений: 1,050
16.09.2013, 16:27 4
mashuly, символ и его цветовой атрибут
0
217 / 53 / 4
Регистрация: 03.08.2013
Сообщений: 278
16.09.2013, 18:54  [ТС] 5
Assembler
1
mov eax,[esi]
т.е в eах будет символ,который,если поместить в edi и указав позицию в esi,можно вывести? где об этом можно почитать?

Добавлено через 21 минуту
Assembler
1
2
3
4
5
6
Mov esi,; Адрес видеопамяти
Mov edi,[string2]
Movsd
 
stosd
string2 db '12345678',0
?
0
Ушел с форума
Автор FAQ
15029 / 7224 / 899
Регистрация: 11.11.2010
Сообщений: 12,974
17.09.2013, 13:21 6
mashuly,
в EAX будет уже два символа с атрибутами
Цитата Сообщение от mashuly Посмотреть сообщение
где об этом можно почитать?
Спика литературы в твоём ВУЗе не дают?
0
217 / 53 / 4
Регистрация: 03.08.2013
Сообщений: 278
17.09.2013, 13:37  [ТС] 7
Цитата Сообщение от Mikl___ Посмотреть сообщение
mashuly,
в EAX будет уже два символа с атрибутамиСпика литературы в твоём ВУЗе не дают?
в каком еще ВУЗе?
0
Ушел с форума
Автор FAQ
15029 / 7224 / 899
Регистрация: 11.11.2010
Сообщений: 12,974
17.09.2013, 13:38 8
mashuly - не студент?
0
217 / 53 / 4
Регистрация: 03.08.2013
Сообщений: 278
17.09.2013, 13:45  [ТС] 9
Цитата Сообщение от Mikl___ Посмотреть сообщение
mashuly - не студент?
нет.
0
4086 / 1800 / 211
Регистрация: 06.10.2010
Сообщений: 4,030
17.09.2013, 14:26 10
Читать из защищённого режима надо?
0
217 / 53 / 4
Регистрация: 03.08.2013
Сообщений: 278
17.09.2013, 14:28  [ТС] 11
Цитата Сообщение от murderer Посмотреть сообщение
Читать из защищённого режима надо?
да.
0
4086 / 1800 / 211
Регистрация: 06.10.2010
Сообщений: 4,030
17.09.2013, 15:15 12
ЕМНИП для начала нужно создать дескриптор для этой области памяти. В Windows есть функция MmMapIoSpace на входе принимает физический адрес, возвращает виртуальный.
0
217 / 53 / 4
Регистрация: 03.08.2013
Сообщений: 278
17.09.2013, 15:31  [ТС] 13
Цитата Сообщение от murderer Посмотреть сообщение
ЕМНИП для начала нужно создать дескриптор для этой области памяти. В Windows есть функция MmMapIoSpace на входе принимает физический адрес, возвращает виртуальный.
с этим то все ок. мне не понятен сам принцип работы строковых операций и формат выхода из видеопамяти
0
Ушел с форума
Автор FAQ
15029 / 7224 / 899
Регистрация: 11.11.2010
Сообщений: 12,974
18.09.2013, 04:33 14
Цитата Сообщение от mashuly Посмотреть сообщение
мне не понятен сам принцип работы строковых операций и формат выхода из видеопамяти
Хоть mashuly и нестудент, но учебник по-ассемблеру читать по-любому нужно, здесь список книг, которые "на раз" находятся в инете
0
4086 / 1800 / 211
Регистрация: 06.10.2010
Сообщений: 4,030
18.09.2013, 06:20 15
формат выхода из видеопамяти
http://www.frolov-lib.ru/books/bsp/v21/ch3_2.htm

Для кодирования каждого знакоместа экрана (символа) используются два байта. Первый из них содержит ASCII-код отображаемого символа, а второй - атрибуты символа (рис. 3.3). Атрибуты символа определяют его цвет и цвет фона.
0
217 / 53 / 4
Регистрация: 03.08.2013
Сообщений: 278
19.09.2013, 12:08  [ТС] 16
Assembler
1
2
3
4
5
6
7
mov edi, text_bufer ;куда записываем
xor al, al  ;Обнуляем
Cld    ;Сбросить флаг
rep scasb  ;Сканируем
mov esi, 0xB8000  ;Откуда начинаем копирование
mov ecx,6  ;Число копируемых символов*2
rep movsb ;Копируем байты
но вместо 'abc' выдает 'a◊b◊c◊'.хотя этого достаточно.есть ли способ сравнить подобную строку?
0
4086 / 1800 / 211
Регистрация: 06.10.2010
Сообщений: 4,030
19.09.2013, 12:23 17
Assembler
1
2
3
4
mov ecx,6
@@:mov al,[0xB8000+ecx*2-2]
   mov [text_bufer+ecx-1],al
loop @b
1
217 / 53 / 4
Регистрация: 03.08.2013
Сообщений: 278
20.09.2013, 23:47  [ТС] 18
ну и последний вопрос,каков атрибут черного фона и белого цвета символа? 07h?
0
Ушел с форума
Автор FAQ
15029 / 7224 / 899
Регистрация: 11.11.2010
Сообщений: 12,974
21.09.2013, 05:14 19
Цитата Сообщение от mashuly Посмотреть сообщение
каков атрибут черного фона и белого цвета символа? 07h?
07h это серый на черном, белый на черном - 0Fh
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2013, 05:14

Как считать строку?
Зачем надо при считывания переменной типа string надо писать getline(cin, ...)? Зачем там cin? ...

Как считать строку из Мemo?
Привет всем. У меня такая проблема, я писал проги в консольном режыме после чего мо препод сказал...

Как правильно считать строку?
У меня в файле лежит некое число. Далее я считываю строку и записываю ее в переменную. При...

Как считать нужную строку?
Нужно считать определенную строку из файла. System.IO.FileStream files=new...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru