Cтраница 1
Команды сравнения С, СН, CR не прии зодят ник менений ни в общих регистрах, ни в памяти. Они только вырабатывают в регистре СС один из возможных кодов условия: 00, 01, 10 в зависимости от того, равен первый операнд второму, меньше второго или больше второго. CR и С оба операнда являются длинными двоичными числами, а в команде СН первый и второй операнды имеют разную длину. [1]
Команды сравнения вырабатывают признак результата. [2]
Команды сравнения ( CMP, BIT) и проверки ( TST) не меняют содержимого операндов, их действие сводится только к изменению кодов условий Последующий анализ кодов условий ( обычно N и Z) позволяет организовать ветвление. Типичным в задачах автоматизации является использование команд BIT и TST для проверки отдельных разрядов регистров управления и состоянии внешних устройств. [3]
Команды состояния машины. [4] |
Команды сравнения в IBM 1800 обеспечивают нулевой пропуск или пропуск одной-двух команд в зависимости от результата сравнения ( меньше, больше, равно) содержимого накапливающего сумматора с некоторым словом из запоминающего устройства. Фактически такая команда реализуется как вычитание и проверка результата без изменения содержимого накапливающего сумматора. В PDP-8 / I эквивалентная функция требует выполнения серии команд, в ходе которого содержимое сумматора изменяется. [5]
Команды сравнения сравнивают значения операндов и присваивают значение признаку результата, не меняя при этом значений операндов. Среди команд ЕС ЭВМ имеются команды сравнения данных, представленных в разных форматах. [6]
Команды сравнения FCOMP src, FICOM src по выполненным действиям и форматам операндов аналогичны описанным выше. Дополнительное действие этих команд заключается в выталкивании из стека сравниваемого операнда. [7]
Команда сравнения FCOMPP используется без указания операндов. Предполагается, что предварительно они должны быть размещены в двух верхних регистрах стека. [8]
Команды сравнения кодов осуществляют поразрядное сравнение операндов слева направо. [9]
Команда сравнения СМР, как следует из ее названия, позволяет сравнить содержимое двух слов памяти. Команда сообщает ЭВМ о том, что требуется вычесть содержимое приемника из содержимого источника и установить биты кода условий в зависимости от полученной разности. Заметим, что здесь вычитание отличается от производимого командой вычитания. [10]
Записываем команду сравнения и оставляем незаполненным адрес перехода. [11]
Подобно команде сравнения СМР, обсуждавшейся в разд. CMPS ( compare string - сравнить строку) сопоставляет операнд-источник с операндом-приемником и возвращает результат через флаги. Команда CMPS, как и команда СМР, не изменяет значения операндов. [12]
Пользоваться командой сравнения для организации счетчика следует только при выполнении операций над командами и частями команд. [13]
Наконец, команда сравнения ( обозначается СМР) предназначена для сравнения двух входных операндов. По сути, она вычисляет разность этих двух операндов, но выходного операнда не формирует, а всего лишь изменяет биты в регистре состояния процессора ( PSW) по результату этого вычитания. [14]
Каждая из команд сравнения ( табл. 17) анализирует содержимое текущего регистра стека, при необходимости сравнивает его с содержимым других регистров и по результату анализа устанавливает содержимое полей битов условий СЗ, С2, С1 и СО в регистре слова состояния. [15]