Синтаксис ассемблерных команд
Операции встроенного ассемблера
Операция | Комментарий |
---|---|
& | Перекрытие идентификатора |
0 | Подвыражение |
[ ] | Ссылка на память |
. (точка) | Селектор структуры |
HIGH LOW |
Доступ к байту в слове |
: |
Унарные операции задания знака |
OFFSET | Перекрытие сегмента |
SEG |
|
TYPE |
|
PTR |
|
* / |
|
MOD |
|
SHL SHR |
|
+ - | Бинарные операции |
NOT AND OR XOR | Операции над битами |
Операция &
Осуществляет перекрытие идентификатора: следующий за знаком & идентификатор считается определенным в программе, даже если он совпадает с зарезервированным словом. Например:
var Ch: Byte; ……. mov ch,0 {Посылаем 0 в регистр СН} mov &Ch,0 {Посылаем 0 в переменную Ch}
Операция 0
Круглые скобки используются обычным для Паскаля образом – для изменения порядка исчисления выражения (подвыражение, ограниченное скобками, вычисляется в первую очередь). Если перед скобками стоит имя типа, все выражение приобретает указанный тип. Например:
mov ах,((1+2)*3+4)*5 {АХ = 65} mov bх,1+2*3+4*5 {ВХ = 27}
Операция [ ]
Определяет ссылку на память. Выражение внутри скобок вычисляется в первую очередь. Обычно оно связывается с регистрами BX, BP,SI, DI и может использовать операции + и - для указания индексации. Например:
mov ah,100 mov ah,[100] {АН = 100} {Загружаем в АН содержимое байта по адресу DS-0.100}
Операция. (точка).
Селектор элемента структуры. Результат – сумма выражений до и после точки с типом второго выражения. Например:
var R: record X: Word; У: Byte end; ……. mov ax, R. X mov R.Y,al