Команды циклического сдвига через флаг переносаRCL –сдвиг влево RCR –сдвиг вправо Сначала забирается старое значение флага CF, а потом уже берется новое. Эти команды используются для сдвига длинных чисел. (новое значение)
15. Команды пересылки и сравнения строк. Команда LODS загружает строку. Просто помещает из памяти а регистр ал байт, в ax – слово. Адрес, из которого производится загрузка, хранится в паре DS:SI. В зависимости от состояния флага DFоперация также уменьшается или увеличивается в SI на 1 при перемещении байта. STOS сохранение строки. Сохраняет содержимое AL AXв память. Адреса в памяти всегда содержатся в паре ES:DI. В зависимости от состояния флага Df инструкция так же увеличивается или уменьшается на 1. Инструкция сравнения строк CMPS. Сравнивает содержимое одного элемента данных с содержимым другого. В зависимости от состояния флага DF, CMPS увеличивает или уменьшает значения в SI DI на 1. Операция завершается при ожидаемом результате сравнения или в случаи, когда в CX оказывается нулевое значение.
19. Команды организации вызова процедур При организации многомодульной программы необходимо решить 2 проблемы: 1. Обеспечить обращение к подпрограмме и возврат из подпрограммы. 2. Обеспечить передачу данных в подпрограмму и обеспечить передачу результата из неё. Для решения первой проблемы предназначены команды вызова процедуры и возврата из процедуры. Точка вызова – оператор вызова + следующий оператор Нужно решить проблему: во время вызова необходимо передать процедуре метку, куда она будет возвращаться. Для нормальной организации вызова процедуры необходимо произвести вызов процедуры, передать в процедуру адрес возврата и перейти по окончании процедуры по заданному адресу. Для решения этих проблем предназначены команды: вызов: CALL возврат: RET В IBM PC существуют два вызова процедур: 1. Внутрисегментный (ближний) 2. Межсегментный (дальний) Соответственно, существуют команды ближнего/дальнего вызова и ближнего/дальнего возврата. Эти команды используются в паре ближний/дальний.
|