Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Jmp - команда безусловного перехода. Формат команды: jmp [модификатор] адрес_перехода
Можно выделить три варианта внутрисегментного использования команды jmp: прямой короткий; прямой; косвенный.
near ptr прямой переход на метку внутри текущего сегмента кода. Модифицируется только регистр eip/ip (use16 или use32) на основе указанного в команде адреса (метки);
far ptr прямой переход на метку в другом сегменте кода. Адрес перехода задается в виде непосредственного операнда или адреса (метки) и состоит из 16-битного селектора и 16/32-битного смещения, которые загружаются, соответственно, в регистры cs и ip/eip;
word ptr косвенный переход на метку внутри текущего сегмента кода. Модифицируется только eip/ip. Размер смещения 16 или 32 бит;
dword ptr косвенный переход на метку в другом сегменте кода. Модифицируются оба регистра, cs и eip/ip. Первое слово/двойное слово этого адреса представляет смещение и загружается в ip/eip; второе/третье слово загружается в cs.
CALL - вызов процедуры. Формат команды: CALL имя_процедуры
RET - возврат из процедуры.
Команда CALL осуществляет функции запоминания адреса возврата и передачи управления процедуре.
Команда RET извлекает из стека адрес возврата.
Для облегчения
ориентации в многочисленных функциях DOS, осуществляющих
операции над файлами, каталогами и дисками, их удобно разбить на
смысловые группы.
1. Создание, открытие и закрытие файла:
3Ch - создать файл;
5Ah - создать временный файл;
5Bh - создать новый файл;
3Dh - открыть файл; 3Eh - закрыть файл;
68h - сбросить файл на диск;
4lh - удалить файл.
2. Запись и чтение данных:
42h - установить указатель;
3Fh - читать из файла или устройства;
40h - записать в файл или устройство.
3. Изменение характеристик файла: 4
3h - получить или установить атрибуты файла;
56h - переименовать файл;
57h - получить или установить дату и 'время создания файла.
4. Поиск файла:
lAh - установить адрес области передачи данных (DTA);
2Fh - получить адрес области передачи данных (DTA);
4Eh - найти первый файл;
4Fh - найти следующий файл.
5. Операции над каталогами;
39h - создать каталог;
3Ah - удалить каталог;
3Bh - сменить текущий каталог:
47h - получить текущий каталог.
6. Операции над дисками:
19h - получить текущий диск;
0Eh - сменить текущий диск;
36h - получить информацию о диске.
машинных инструкций и/или данных, в зависимости от параметров макрокоманды и/или состояния компиляции.
процедура же - это жёсткая последовательность машинных инструкций и/или данных.
язык должен отличаться гибкостью. значит, для создания языка подходят макрокоманды.
Команды делятся на две группы. Логические команды сдвигают операнд, не считаясь с его знаком. Арифметические команды сохраняют старший, знаковый бит операнда.
Общий формат команд сдвига: коп операнд, счетчик
Команды сдвига и циклического сдвига имеют два операнда: приемник и счетчик. Приемником может быть 8, 16 или 32-битовый регистр общего назначения или ячейка памяти. Счетчик может быть непосредственное значение или значением без знака в регистре CL.
SAL - арифметический сдвиг влево.
SAR - арифметический сдвиг вправо.
Команды сдвигают числа со знаком. Команда SAR сохраняет знак операнда. Команда SAL - не сохраняет знак, но заносит 1 во флаг переполнения OF в случае изменения знака операнда.
При каждом сдвиге операнда команда SAL заносит 0 в вакантный нулевой бит этого операнда.
SHL логический сдвиг влево.
SHR логический сдвиг вправо.
Команды сдвигают числа без знака. Команда SHL идентична команде SAL. Команда SHR аналогична команде SHL, но сдвигает число вправо. При каждом сдвиге операнда команда SHR заносит ноль в вакантный старший бит этого операнда (бит 7, бит 15 или бит 31).
Состояние флагов после выполнения команд: Изменяются значения флагов OF, SF, ZF, PF, CF.
Поскольку сдвиг операнда на один бит влево удваивает значение операнда (умножение на 2), а сдвиг на один бит вправо уменьшает значение операнда вдвое (деление на 2), то команды сдвига можно использовать в качестве команд быстрого умножения и деления.