обход обязателен, иначе поле ind
.code ... jmp met1 ; обход обязателен, иначе поле ind будет трактоваться ;как очередная команда ind db 5 ;описание поля данных в сегменте команд met1: ... mov al,cs:ind ;переопределение сегмента позволяет работать с ;данными, определенными внутри сегмента кода
|
Рис. 11. Синтаксис оператора переопределения сегмента
Оператор именования типа . (точка) также заставляет транслятор производить определенные вычисления, если он встречается в выражении.
Оператор получения сегментной составляющей адреса выражения
seg возвращает физический адрес сегмента для выражения (рис. 12), в качестве которого могут выступать метка, переменная, имя сегмента, имя группы или некоторое символическое имя.
Рис. 12. Синтаксис оператора получения сегментной составляющей
Оператор получения смещения выражения offset
позволяет получить значение смещения выражения (рис. 13) в байтах относительно начала того сегмента, в котором выражение определено.
Рис. 13. Синтаксис оператора получения смещения
Например,
.data pole dw 5 ... .code ... mov ax,seg pole mov es,ax mov dx,offset pole ;теперь в паре es:dx полный адрес pole
|
Как и в языках высокого уровня, выполнение операторов ассемблера при вычислении выражений осуществляется в соответствии с их приоритетами (см. табл. 2). Операции с одинаковыми приоритетами выполняются последовательно слева направо. Изменение порядка выполнения возможно путем расстановки круглых скобок, которые имеют наивысший приоритет.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий