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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
dampir_sanek
150 / 148 / 21
Регистрация: 09.02.2010
Сообщений: 407
#1

Моделирование перемещающего загрузчика - C++

03.05.2011, 13:08. Просмотров 1003. Ответов 3

Здравствуйте, есть следующее задание.
Первая часть:
Разработать приложение по Windows 32 моделирующее работу перемещающего загрузчика. Программа считывает двоичный файл следующей структуры:
N A1..AN D0 D1 … Dk-1 Dk
Где:
N – количество ячеек с адресами данных
А1 .. АN – ячейки с адресами данных
D0 .. Dk – ячейки с данными

Необходимо изменить значение по адресам А1 .. АN на некоторую величину M вводимую с клавиатуры. В программе предусмотреть обработку ошибок.
В лабораторной работе, все ячейки - шестнадцати разрядные.

Подскажите, пожалуйста, с чего начать в плане например формирования файла;я вижу это так
Файл
1 // одно значение
0x0000fad0 // адрес ячейки
12 // значение в ячейке

Вопрос: как в программе реализововать выделение памяти по адресу считанному из файла? И к переменную какого типа считывать шестнадцатеричный адрес ячейки?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2011, 13:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Моделирование перемещающего загрузчика (C++):

Перемещающий конструктор и оператор перемещающего присваивания - C++
Правильно у меня написаны перемещающий конструктор и оператор присваивания? И исправьте ошибку в операторе "ссылка rvalue не может быть...

Как сделать переменную глобальной для загрузчика? - C++
#include <iostream> #include <string> using namespace std; //extern int i; int analys(){ extern int i; cout<<"i="<<i<<endl; ...

Восстановление загрузчика - Windows
Здравствуйте!!! Помогите пожалуйста разобраться с ниженаписанной проблемой. На компе стоят 2 винчестера. На обеих винчиках по 2...

Восстановление загрузчика - Ремонт ноутбуков
С дуру сделал активным раздел С с ОС на жестком диске (ОС одна на жестком диске, диск ни на что не разбит: есть только раздел...

Восстановление загрузчика - Windows 10
Доброго времени суток. Мой ноутбук очень жутко лагал и я сделал восстановление системы. Но точки восстановления не было и теперь при...

Восстановление загрузчика - Windows 7
В общем решил я себе в дополнение к Windows поставить Ubuntu, и сдуру что-то напартачил при установке, в общем результате затёрся загрузчик...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ValeryLaptev
Эксперт С++
1041 / 820 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
03.05.2011, 13:36 #2
1. Диапазон адресов? У нас же модель, а не реальный пентиум?
2. Выделяешь динамический массив большого объема. Адрес - это индекс в этом массиве.
Туда и кладешь.
3. Изменение адреса - изменение индекса в этом массиве.
1
dampir_sanek
150 / 148 / 21
Регистрация: 09.02.2010
Сообщений: 407
03.05.2011, 16:02  [ТС] #3
хм, идея - да, так просто реализовать. Адреса не меняются, меняются значения. Ок, спасибо за подсказку, именно такой подсказки и не хватало. Тут делов на 15 минут.

Добавлено через 2 часа 18 минут
ValeryLaptev, еще вопрос - тогда если в файле лежат шестнадцатеричные адреса - в программе преобразовывать эти значения в int, правильно понимаю?
Например, адрес ячейки - 0х00003ED, то в программе преобразуется в int = 1005, и это будет индекс массива, верно?
0
ValeryLaptev
Эксперт С++
1041 / 820 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
03.05.2011, 16:04 #4
Цитата Сообщение от dampir_sanek Посмотреть сообщение
ValeryLaptev, еще вопрос - тогда если в файле лежат шестнадцатеричные адреса - в программе преобразовывать эти значения в int, правильно понимаю?
Например, адрес ячейки - 0х00003ED, то в программе преобразуется в int = 1005, и это будет индекс массива, верно?
Первое - это просто в шестнадцатеричной системе. Второе - в десятичной. А в памяти - это одно двоичное число.
Так что можешь и шестнадцатеричными пользоваться свободно - С++ это позволяет...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2011, 16:04
Привет! Вот еще темы с ответами:

Установка загрузчика - Mac OS
Доброго времени суток, кратко опишу свою проблему : у меня стоит две ОС на одном HDD "Windows 10" и "OS X 10.11.4" , и при установки...

Восстановление загрузчика - Windows 7
нифига не въеду... стояла и стоит 7 но не загружается, кто-то пытался установить ХР, но все заканчивалось вроде-бы 3-мя разными БСОДами...

Откат загрузчика ОС - Windows 10
Добрый день! Основная система W-7 Установил W-10, но удалил её в загрузчике. И поэтому не могу W-10 открыть. Как вернуть в загрузчике...

настройка загрузчика - Ubuntu Linux
Подскажите, пожалуйста, как настроить груб, чтобы при выборе ос, убунта не загружалась автоматически без подтверждения?


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.05.2011, 16:04
Ответ Создать тему
Опции темы

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