Упрощенно говоря, адресное выражение предусматривает задание операнда команды в памяти, а абсолютное предполагает наличия операнда в коде самой команды.
Только учтите, что есть и понятие Адресного Абсолютного выражения и Адресного Перемещаемого выражения - в зависимости от способа адресации к ячейке.
Другие языки программирования и технологии
Чем отличается Адресное Выражение от Абсолютного? в Ассемблере
Я думаю, что абсолютное выражение не зависит от той области памяти в которую загружена программа. ТО есть абсолютное выражение не меняется в зависимости от значений базовых регистров.
Адресное выражение зависит от значений базовых регистров, то есть от того, в какую область памяти загружена программа.
Например, для 16-битового режима адрес
0000:0002
является абсолютным выражением,
в то время как выражение
cs:0002
является адресным выражением, так как конечное значение зависит от содержимого регистра cs.
Адресное выражение зависит от значений базовых регистров, то есть от того, в какую область памяти загружена программа.
Например, для 16-битового режима адрес
0000:0002
является абсолютным выражением,
в то время как выражение
cs:0002
является адресным выражением, так как конечное значение зависит от содержимого регистра cs.
На примере оператора указания типа PTR:
(от pointer, указатель) , который записывается следующим образом:
<тип> PTR <выражение>
где <тип> - это BYTE, WORD или DWORD (есть и другие варианты, но мы их пока не рассматриваем) , а выражение может быть константным или адресным. Если указано константное выражение, то оператор указывает на то, что значение этого выражения (число) должно рассматриваться ассемблером как величина указанного типа (размера) ; например, BYTE PTR 0 - это ноль как байт, а WORD PTR 0 - это ноль как слово (запись BYTE PTR 300 ошибочна, т. к. число 300 не может быть байтом) . Отметим, что в этом случае оператор PTR относится к константным выражениям. Если же в PTR указано адресное выражение, то оператор «говорит» , что адрес, являющийся значением выражения, должен восприниматься ассемблером как адрес ячейки указанного типа (размера) ; например: WORD PTR A - адрес А обозначает слово (байты с адресами А и А+1). В данном случае оператор PTR относится к адресным выражениям.
(от pointer, указатель) , который записывается следующим образом:
<тип> PTR <выражение>
где <тип> - это BYTE, WORD или DWORD (есть и другие варианты, но мы их пока не рассматриваем) , а выражение может быть константным или адресным. Если указано константное выражение, то оператор указывает на то, что значение этого выражения (число) должно рассматриваться ассемблером как величина указанного типа (размера) ; например, BYTE PTR 0 - это ноль как байт, а WORD PTR 0 - это ноль как слово (запись BYTE PTR 300 ошибочна, т. к. число 300 не может быть байтом) . Отметим, что в этом случае оператор PTR относится к константным выражениям. Если же в PTR указано адресное выражение, то оператор «говорит» , что адрес, являющийся значением выражения, должен восприниматься ассемблером как адрес ячейки указанного типа (размера) ; например: WORD PTR A - адрес А обозначает слово (байты с адресами А и А+1). В данном случае оператор PTR относится к адресным выражениям.
+1 к Watson
Похожие вопросы
- "a+b/a-c" нужно решить выражение, чтобы работало в ассемблере )
- "a+b/a-c"(дробь) нужно решить выражение, чтобы работало в ассемблере )
- Что может ассемблер?
- Почему многие программисты ненавидят ассемблер?Ведь у него куча плюсов!Он позволяет максимально задействовать
- Решение выражения на Ассемблере.
- Ассемблер. Написать маленькую программу вычисления арифметического выражения. Подробности внутри.
- Вопрос по изучению языка Ассемблера под MS DOS. (Нужны советы по программному обеспечению/программированию)
- С помощью команд fpu вычислить площадь круга, исходя из введѐнного диаметра. Ассемблер...
- Ассемблер сегодня и завтра.
- стоит ли изучать ассемблер, если программирую на Делфи? и вообще реально ли что нибудь хорошее, дельное, нужное написать