Допустимые типы операндов - как в команде AND.
И здесь результат записывается на место первого операнда, причем i-й бит результата равен 0, если i-e биты операндов совпадают, и равен 1, если эти биты различны (см. таблицу). Например:
MOV CL,1100b
XOR CL,1010b ;CL=00000110b
В обычной речи эта операция соответствует фразе "или то, или другое, но не то и другое одновременно", т. е. исключается случай, когда оба операнда истинны. Отсюда и название "исключающее ИЛИ".
Отметим одну особенность операции XOR: когда операнды команды XOR совпадают, результатом будет нулевое слово. Например, при любом значении АХ имеем:
XOR АХ,АХ ;АХ:=0
Этот прием часто используется для обнуления регистров; по сравнению с дру-гими приемами (MOV АХ,0 или SUB AX,AX) он выполняется быстрее.
Задание:
Написать программу, выполняющую арифметические действия:
2a+a*b-b/a, где a=2Dh, b=4Eh
Порядок выполнения работы:
1. Составить блок-схему алгоритма
2. Написать программу на языке Ассемблера
3. Отладить программу TurboDebuger
4. Заполнить таблицу с ошибками:
№ | Допущенная ошибка | Сообщение об ошибке |
Контрольные вопросы:
1. Какие команды позволяют манипулировать отдельными битами?
2. Состояние каких флагов нужно контролировать программисту во время вычислительного процесса?
3. С помощью каких команд возможно проверить значение отдельного бита в операнде. Приведите пример.
Практическая работа №8
Архитектура ЭВМ и вычислительных систем
Тема: Программирование переходов
Цель работы: Изучить команды условных и безусловных переходов.
Средства: Turbo Assembler, Turbo Debuger
Литература:
Юров В.И. Assembler. Практикум. – Спб.: Питер, 2001 г.
Краткие теоретические сведения:
Переходы бывают условными и безусловными. Если переход делается только тогда, когда выполнено некоторое условие, то такой переход называется условным, а если он делается независимо от каких-либо условий, то это безусловный переход.
В ПК имеется несколько машинных команд безусловного перехода, но они все обозначаются одинаково:
Безусловный переход (jump): JMP op
Здесь операнд тем или иным способом указывает адрес перехода, т. е. адрес команды, которая должна быть выполнена следующей. Рассмотрим, что это за способы.