|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.08.2020, 17:19 | #1 |
Новичок
Джуниор
Регистрация: 08.08.2020
Сообщений: 8
|
Где в бинарнике хранится информация по org 0x7C00 ?
Здравствуйте, только начал изучать язык ассемблера.
Имеется строка Код:
Просмотрел hex редактором, но увидел только основные инструкции, без намёков на Код:
|
08.08.2020, 18:36 | #2 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Нигде не хранится. Это влияет только на процесс ассемблирования
|
08.08.2020, 21:32 | #3 |
Новичок
Джуниор
Регистрация: 08.08.2020
Сообщений: 8
|
Хорошо, тогда почему бинарник с org 0x7C00 и точно такой же бинарник без org 0x7C00 имеют абсолютно одинаковое содержимое в hex редакторе, но загружаются в разные адреса озу ? Где тогда храниться разница ?
|
08.08.2020, 22:27 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
|
09.08.2020, 00:07 | #5 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 472
|
Попробовал генерировать листинг вашего исходника. Но, почему-то NASM, в отличие от MASM+TASM в листинге не отмечает значения констант (и меток в том числе).
Для теста можно загрузить эти константы в регистр и там их наблюдать Код:
Код:
Про загрузку - вы явно ошибаетесь. Загрузку выполняет не сам бинарик, а некая системная программа, в вашем случае - загрузчик из BIOS - который, не глядя, загружает определённый сектор дискеты в определённую область памяти со смещением 7C00h. Именно поэтому в исходнике такая константа при org. Лично вы можете менять значение при org, но программа-загрузчик всё равно будет читать загрузочный сектор дискеты в память со смещением 7C00h. При этом ваш код из загрузочного сектора будет неправильно работать с переменными, строками и прочим. Кстати, у masm листинг более информативен Код:
Код:
Последний раз редактировалось FPaul; 09.08.2020 в 00:19. |
09.08.2020, 12:32 | #6 | |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Цитата:
А это уже от самого кода никак не зависит, только от загрузчика |
|
09.08.2020, 14:52 | #7 |
Новичок
Джуниор
Регистрация: 08.08.2020
Сообщений: 8
|
Вы меня совсем не поняли. Откуда процессор знает, что ему нужно читать программу с носителя именно в адрес 0x7C00 ? Вот я написал в коде
Код:
|
09.08.2020, 15:15 | #8 | |
Новичок
Джуниор
Регистрация: 08.08.2020
Сообщений: 8
|
Цитата:
Вот 2 бинарника, в одном есть смещение, а в другом нет: Код:
Код:
|
|
09.08.2020, 15:36 | #9 |
Новичок
Джуниор
Регистрация: 08.08.2020
Сообщений: 8
|
Открыл другую программу, сравнил бинарники со смещением и без, увидел разницу в 1 байт.
Сейчас открою онлайн дизассемблер и посмотрю на эту инструкцию. Всем большое спасибо, всё понял. Извините за дотошность. Будут вопросы - приду ещё |
09.08.2020, 21:05 | #10 | |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Цитата:
При включение питания процессор переходит на определенный адрес, все остальное делается инструкциями, записанными по этому адресу. Загрузка по адресу 7С00 - не более чем спецификация. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В массиве хранится информация | Борисс | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 11.03.2015 08:44 |
Задача С++. В двумерном массиве хранится информация о количестве учеников. Найти численность самого большого класса | I am Olik | Помощь студентам | 0 | 13.01.2014 18:25 |
В каком месте файла хранится информация о его структуре | hammer4 | Помощь студентам | 4 | 20.08.2010 16:11 |
Пролог - В базе данных лаборатории хранится следующая информация об исследуемых водоемах: | Наталек Павлова | Помощь студентам | 0 | 05.05.2010 20:35 |
Где хранится информация о версии программы? | vrsl | Помощь студентам | 4 | 22.04.2010 15:36 |