Cтраница 1
Команды сложения и вычитания всегда выполняются между первым числом, находящимся в аккумуляторе, и вторым числом, находящимся в регистре или в памяти. Результат помещается в аккумулятор. Команды ADD R ( где R-любой регистр) складывают содержимое аккумулятора и регистра, команды SUB R вычитают из содержимого аккумулятора содержимое регистра, команды INR R увеличивают содержимое регистра на единицу, команды DCR R уменьшают содержимое регистра на единицу. Все эти команды допускают косвенную адресацию, как и команды пересылки. [1]
Команда сложения с переносом, код операции которой 0000101101 ( 2), складывает содержимое бита С с содержимым приемника. Биты N и Z устанавливаются обычным образом, бит V устанавливается в единицу, если в исходный момент в приемнике содержалось число 077777 ( 8) и бит С был равен единице, а бит С устанавливается в единицу, ели в исходный момент в приемнике содержалось число 177777 ( 8) и бит С был равен единице. [2]
Команда сложения полуслов АН образует в общем регистре сумму по модулю 232 кода, находившегося в регистре, и удлиненного влево кода из полуслова, указанного адресом на поле второго операнда. [3]
Команда сложения в строке 5 отличается от команды сложения в строке 4 лишь тем, что после выравнивания порядков и сложения мантисс результат нормализуется лишь в том случае, если сумма мантисс оказалась больше единицы. [4]
Команды сложения, вычитания и сравнения - двухадресные. [5]
Команды сложения программируются в любом разряде зоны включенной программы и выполняются включением любой пусковой клавиши, кроме итоговых клавиш. Для выполнения этих команд с помощью итоговых клавиш в зоне программных символов необходимо соединить ( без диода) гнезда с координатами а. [6]
Команды сложения и вычитания целых и вещественных значений не всегда удобны для выработки признака результата. Команды сложения и вычитания, вырабатывая признак результата, одновременно изменяют первый операнд. [7]
Пример многобайтного сложения на языке ассемблера. [8] |
Примеры команд сложения и вычитания показаны на рис. 6.7. Команды, прибавляющие или вычитающие значения флажка переноса, могут быть использованы для сложения и вычитания операндов, длина которых более одного байта. В случае вычитания флажок переноса представляет скорее заем, а не перенос. На рис. 6.8 показано, как в языке ассемблера микрокомпьютера Intel 8085 используется команда ADC для выполнения многобайтного сложения. [9]
Для команд сложения и умножения порядок записи адресов не имеет значения. [10]
Рассмотрим две команды сложения целых значений. [11]
При выполнении команды сложения с кодом 41 округление результата производится, как и при команде 01, но результат не нормализуется. [12]
При выполнении команд сложения и вычитания вначале производится выравнивание порядков обоих чисел, поступивших в АУ из ячеек al и аа МОЗУ. Выравнивание порядков происходит путем сдвига вправо мантиссы числа, имеющего меньший порядок. При этом часть младших разрядов этой мантиссы выходит за пределы разрядной сетки АУ и теряется. [13]
Переполнение при вычитании Xj. [14] |
При выполнении команды сложения с переносом к младшему разряду суммы, полученной в результате обычного сложения, добавляется значение флага переноса С ( 0 или 1), которое он имел до исполнения команды. Эта команда необходима при сложении чисел, разрядность которых превышает разрядность аккумулятора. [15]