Реферат: Разработка программы на Ассемблере
NN = $ - text; NN = длине строки text (количеству байтов
в этой строке). Не путать часть строки '..NN..' и константу NN!
2. @data - адрес начала сегмента данных.
....
mov ax,@data
mov ds,ax;
в сегментном регистре DS теперь адрес сегмента данных.
3. ??date, ??time, ??filename - эти имена во время трансляции заменяются, соответственно на текущие дату, время и имя файла в формате ASCII.
ОПЕРАТОРЫ
1. () - скобки, определяют порядок вычислений
2. [] - например [BX] означает содержимое ячейки памяти с адресом в регистре bx. Признак косвенной адресации.
3. +, -, *, / - операторы сложения, вычитания, умножения и деления.
mov ax, (2 * 3 + 8 / 2) - 2; в регистр ax будет помещено число 8.
4. MOD - деление по модулю. Даёт остаток.
5. SHL,SHR - сдвиг операнда влево, вправо.
mov si, 01010101b SHR 3; в регистр SI будет загружено число 0Ah (00001010).
6. NOT - побитовая инверсия.
7. AND,OR,XOR - операции "И","ИЛИ","ИСКЛ.ИЛИ".
mov dl, (10d OR 5d) XOR 7d; (dl) будет равно 8.
8. : - переназначение сегмента.
mov dl,[es:bx]; поместить в dl байт данных из сегмента es и отстоящий от его начала на (bx) байтов (смещение).
9. OFFSET - оператор получения смещения адреса относительно начала сегмента (то есть количества байтов от начала сегмента до идентификатора адреса).
mov bx, OFFSET table
ДИРЕКТИВЫ (ПСЕВДООПЕРАТОРЫ)
1. : - определяет близкую метку (в пределах сегмента).
jmp lbl .... ....
lbl: ....
2 . = - присваивает символическому имени значение выражения.
videoram = 0B800h; присвоение videoram = 0B000h;
3. .CODE - определяет начало кодового сегмента, то есть сегмента, где располагаются коды программы.