Синтаксис ассемблерных команд
Операции встроенного ассемблера
| Операция | Комментарий |
|---|---|
| & | Перекрытие идентификатора |
| 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
