0 / 0 / 0
Регистрация: 20.07.2017
Сообщений: 2
|
|
1 | |
Найти абсолютный адрес байта30.10.2017, 11:56. Показов 2934. Ответов 7
Метки нет (Все метки)
Даны команды:
1. mov dx, 40h 2. add ax, bx 3. mov al, [si] Для каждой нужно найти абсолютный адрес байта. Как это можно сделать?
0
|
30.10.2017, 11:56 | |
Ответы с готовыми решениями:
7
Абсолютный адрес байта Как преобразовать относительный адрес файла в абсолютный? Как определить абсолютный адрес каталога /WINDOWS/? Как сделать массив-указатель на абсолютный адрес в FLASH? |
3408 / 1827 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
|
30.10.2017, 15:59 | 3 |
В первой тоже может быть адрес, к примеру в сегменте данных выводимая строка начинается с DS : 40h
0
|
Прощай, Мир!
1673 / 831 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
|
|
30.10.2017, 17:04 | 4 |
а еще после векторов прерываний идет область BIOS.. эта область данных начинается с адреса 0040:0000h..
0
|
Модератор
|
|
30.10.2017, 17:35 | 5 |
Возможно, само условие задания сильно сокращено.
Не по теме: Так недавно отвечал на вопрос по обработки строки на асме, а выяснилось, что нужна раздельная компиляция в QuickC c+asm.
0
|
0 / 0 / 0
Регистрация: 20.07.2017
Сообщений: 2
|
|
30.10.2017, 17:52 [ТС] | 6 |
Привести примеры режимов адресации памяти. Для этих примеров вычислить абсолютный адрес байта.
0
|
Прощай, Мир!
1673 / 831 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
|
|
30.10.2017, 17:56 | 7 |
абсолютный адрес = физический адрес = логический адрес сегмента * 16 + логический адрес смещения байта..
0
|
Модератор
|
|
30.10.2017, 20:24 | 8 |
aleksgolovnya, в
https://www.cyberforum.ru/post5323071.html есть раздел "Режимы адресации" Только учтите, там приводятся примеры 32-разрядного кода. Их 16-разрядные аналоги: 1. mov ax, dx 2. mov ax,[4010h] 3. mov ax,[si] 4. mov ax,[si+1000h] 5. mov ax,[bx+di] 6. mov ax,[bx+si+1000h] 7. такого в 16-разрядной системе нет Для каждого случая - тот адрес, что получается при вычислении в скобках это не адрес, а смещение в сегменте. А абсолютный адрес вычисляется по формуле АбсАдрес= Сегмент*16+Смещение Значение Сегмент берётся из сегментного регистра, например, в данных примерах - ds . Но т.к. программы перемещаемые, то само это значение на этапе компиляции не известно. Только при запуске программы операционная система загружает в сегментные регистры конкретные числа.Поэтому, данное задание наполовину лишено смысла - нам неизвестно значение ds.
0
|
30.10.2017, 20:24 | |
30.10.2017, 20:24 | |
Помогаю со студенческими работами здесь
8
Возможно ли в методе server.transfer использовать абсолютный адрес URL и как? Вычислить адрес верхушки стека, адрес следующей команды, адрес переменной, адрес которой содержится в BX Старший бит старшего байта поменять местами с младшим битом младшего байта Найти абсолютный путь к файлу по относительному пути Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |