Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[26]

Биты статуса

Не изменяется

Устанавливается

Не изменяется

Не изменяется

Биты режима

Биты OSCOFF, CPUOFF и GIE не изменяются

SUB[.W]

Вычитание источника из получателя

Вычитание источника из получателя

Синтаксис

SUB src, dst или SUB.W src,dst

SUB.B src,dst

Операция

dst + .NOT.src + 1 - dst или [(dst - src - dst)]

Описание

Операнд источника вычитается из операнда получателя путем прибавления дополнения до единицы операнда источника и константы «1» к операнду получателя. Операнд источника не изменяется. Предыдущее содержимое получателя теряется.

Биты статуса

Устанавливается, если результат отрицательный; сбрасывается, если положительный.

Устанавливается, если результат «0», в противном случае сбрасывается.

Устанавливается, если есть перенос из старшего бита MSB результата, в противном случае сбрасывается. Устанавливается в «1», если нет заема; сбрасывается, если был заем.

Устанавливается, если произошло арифметическое переполнение, в противном случае сбрасывается

Биты режима

Биты OSCOFF, CPUOFF и GIE не изменяются

См. пример для команды SBC

См. пример для команды SBC.B

Примечание: обработка заема как .NOT.

Заем обрабатывается как операция .NOT. переноса:

Заем Да Нет Бит переноса 0 1

SDBO[.W],

SBB[.W]

Вычитание источника и заема/.NOT. переноса из получателя

SUBC.B, SBB.B

Вычитание источника и заема/.NOT. переноса из получателя

Синтаксис

SUBC src, dst или SUBC.W src, dst или

SBB src, dst или SBB.W src, dst

SUBC.B src, dst или SBB.B src, dst

Операция

dst + .NOT.src + C - dst или [(dst - src - 1 + C -


Описание

Операнд источника вычитается из операнда получателя путем прибавления дополнения до единицы операнда источника и бита переноса (С) к операнду получателя. Операнд источника не изменяется. Предыдущее содержимое получателя теряется.

Биты статуса

Устанавливается, если результат отрицательный; сбрасывается, если положительный.

Устанавливается, если результат «0», в противном случае сбрасывается.

Устанавливается, если есть перенос из старшего бита MSB результата, в противном случае сбрасывается.Устанавливается в «1», если нет заема; сбрасывается, если был заем.

Устанавливается, если произошло арифметическое переполнение, в противном случае сбрасывается

Биты режима

Биты OSCOFF, CPUOFF и GIE не изменяются

Вычитаются две мантиссы (24-разрядные) с плавающей точкой. Младшие байты LSB находятся в R13 и R10, старшие байты MSB находятся в R12 и R9.

SUB.W R13,R10 ;16-разрядная часть, LSB SUBC.B R12,R9 ;8-разрядная часть, MSB

Содержимое 16-разрядного счетчика, указанного в R13, вычитается из 16-разрядного счетчика, находящегося в регистрах R10 и R11(MSD).

SUB.B @R13+,R10 ;Вычитание младших байтов LSB без ;переноса

SUBC.B @R13,R11 ;Вычитание старших байтов MSB

;с переносом, . ;возникшим в результате

;выполнения

. ;операции над младшими байтами LSB

Примечание: реализация заема

Заем обрабатывается как операция .NOT. переноса:

ЗаемДа Нет

Бит переноса 01

Обмен байтами

Синтаксис

SWPB dst

Операция

Биты с 15 по 8 « биты с 7 по 0

Описание

Старший и младший байты операнда получателя меняется местами, как показано на рис. 3.18

Биты статуса

Биты статуса не изменяются

Биты режима

Биты OSCOFF, CPUOFF и GIE не изменяются

MOV #040BFh,R7 ;0100000010111111 - R7

SWPB R7 ;1011111101000000 в R7


Содержимое R5 умножается на 255. Результат сохраняется в R5, R4.

SWPB R5 MOV R5, R4

BIC #0FF00h, R5 BIC #00FFh, R4

;копирование значения после обмена ;в R4

корректировка результата корректировка результата

Рис. 3-18. Обмен байтов в операнде получателя

Распространение знака

Синтаксис

SXT dst

Операция

Бит 7 - в биты с 8 по 15

Описание

Знак младшего байта распространяется в старшем байте, как показано на рис. 3.19.

Биты статуса

Биты статуса не изменяются

Биты статуса

Устанавливается, если результат отрицательный; сбрасывается, если положительный.

Устанавливается, если результат «0», в противном случае сбрасывается.

Устанавливается, если результат не ноль, в противном случае сбрасывается (.NOT. Zero)

Сбрасывается

Биты режима

Биты OSCOFF, CPUOFF и GIE не изменяются

В R7 загружается значение P1IN. Команда распространения знака выполняет операцию развертывания значения бита 7 в биты с 8 по 15.

MOV.B &P1IN,R7 ;P1IN = 080h: ........ 1000 0000

SXT R7 ;R7 = 0FF80h: 1111 1111 1000 0000



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98] [стр.99] [стр.100] [стр.101] [стр.102] [стр.103] [стр.104] [стр.105] [стр.106] [стр.107] [стр.108] [стр.109] [стр.110] [стр.111] [стр.112] [стр.113] [стр.114] [стр.115] [стр.116] [стр.117] [стр.118] [стр.119] [стр.120]