0 / 0 / 0
Регистрация: 04.09.2014
Сообщений: 34

Чтение байта по адресу

05.09.2014, 00:03. Показов 11497. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне нужно прочитать значение байта по адресу F000:FFFE.

Не знаю, как это возможно сделать

Вот пробую вот так:

C++
1
2
3
4
5
6
char *p;
    char b;
    p=(char*)0xF000FFFE;
    b=*p;
 
    cout<<b;

После запуска программа сразу вылитает (

В чём может быть проблема ? Что не так сделано? (

Подскажите, пожалуйста . Заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.09.2014, 00:03
Ответы с готовыми решениями:

Чтение и запись значения по известному адресу
Нужно реализовать чтение и запись переменной по адресу. Конкретно: есть флеш-игра, есть программа Cheat Engine, и есть значение в этой...

Чтение байта из ПЗУ по адресу
Здравствуйте . Нужно прочитать байт из ПЗУ по адресу F000:FFFEh. Например, в этом байте могут лежать значения FFH,FEH, FDH ,FCH и...

Записать два байта по адресу $0015:$0321 в память компьютера
записать два байта по адресу $0015:$0321 в память компьютера

27
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
05.09.2014, 15:03
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Alex5 Посмотреть сообщение
А так можно узнать значение самого указателя
C++
1
std::cout<< "\ * *p == " << p << std::endl;
Если только это указатель не на char.
1
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
05.09.2014, 15:49
Kastaneda, да. Т.е. физически это получается адрес 0xFFFFE.
0
05.09.2014, 16:07

Не по теме:

Цитата Сообщение от Alex5 Посмотреть сообщение
(Проверочное слово: "лететь".
Сообщение от GNA
программа сразу вылетает
si, fly

0
0 / 0 / 0
Регистрация: 04.09.2014
Сообщений: 34
05.09.2014, 19:35  [ТС]
Да, я читал о дальних уазателях , но там просто С используется :

C++
1
2
3
char far * uk;
uk=( char far * ) 0xF000FFFE;
                b=* uk;
но так не работает , не видит этот far никак
0
62 / 187 / 31
Регистрация: 14.02.2013
Сообщений: 1,715
05.09.2014, 21:48
Вам бы для начало нужно изучить что такое операционная система, как в ней выполняются программы.
Нельзя вот так просто взять и обратится к какому то диапазону оперативной памяти.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
06.09.2014, 11:13
Еще раз говорю: в ОС Windows это работать НЕ будет.
И не 0xF000FFFE, а 0xFFFFE.
0
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
06.09.2014, 13:15
Цитата Сообщение от GNA Посмотреть сообщение
Мне нужно прочитать значение байта по адресу F000:FFFE.
Цитата Сообщение от GNA Посмотреть сообщение
но так не работает , не видит этот far никак
GNA, Вам объяснил castaway (сообщения 18, 26), в чём причина. F000:FFFE и 0xF000FFFE - это разные адреса. Вы пытались читать не тот байт, который Вам нужен.

F000:FFFE это 0xF000*16+0xFFFE,

0xF000FFFE это 0xF000*65536+0xFFFE
0
 Аватар для Kastaneda
5232 / 3206 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
06.09.2014, 15:22
0xF000FFFE - это 32 битный адрес и (допустим дело происходит в protected mode) при обращении к этому адресу будет добавлена база сегмента (дескриптор сегмента возьмется из DS) и все это дело выльется в совершенно другой адрес. А (опять же если мы говорим о protected mode) этот адрес уже будет разложен на биты для вычисления нужной страницы, которая будет находиться уже по другому физическому адресу.
Поэтому если речь о real mode, то как найти нужный адрес уже подсказали, а если нет, то (как уже не однократно писали) это бесполезная затея.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.09.2014, 15:22

Вывести на экран содержимое байта по адресу ‘perem’ в виде двух шестнадцатеричных чисел
Вывести на экран содержимое байта по адресу ‘perem’ в виде двух шестнадцатеричных чисел: TITLE example_8 .MODEL SMALL ...

По битное чтение байта
Здравствуйте. У меня есть массив байт, мне нужно просматривать по очереди каждый бит и если бит &quot;1&quot; выполнять одно условие, а...

Чтение из файла по 4 байта
подскажите как нужно изменить код. У меня выполнялось чтение по 1 байту и записывалось в массив. А нужно читать по 4 байта и писать в...

Чтение бита из байта
Написал для проверки простой метод определения конкретного бита из байта. В качестве байта число 232:D = 0xE8:H = 11101000. ...

Чтение байта в режиме SPI 9 битов
Разбираюсь с интерфейсом SPI 9 битов, возник вопрос по чтению из дисплея от Nokia. При записи в дисплей команды/данных посылаем 9 битов,...


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

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

Новые блоги и статьи
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru