Исключающее ИЛИ (exclusive OR): XOR opl,op2

Допустимые типы операндов - как в команде 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

Здесь операнд тем или иным способом указывает адрес перехода, т. е. адрес команды, которая должна быть выполнена следующей. Рассмотрим, что это за способы.