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


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




[19]

L$1 MOV #BLOCK2,R7

CMP @R6+,0(R7)

JNZ ERROR

INCD R7 DEC R5 JNZ L$1

;начальный адрес BLOCK2 ;в регистр R7 ;сравнение содержимого ;ячеек и инкремент R6 ;если не равны, переход ;к метке ERROR ;если равны инкремент R7 ;декрементировать R5 ;если сравнение не заверше-;но - продолжить

Сравниваются байты в ОЗУ, адресованные метками EDE и TONI. Если они одинаковы, выполнение программы продолжается с метки EQUAL.

CMP.B EDE, TONI;MEM(EDE)=MEM(TONI)?

JEQ EQUAL ;Да,переход к метке EQUAL

*DADC[.W]

Десятичное сложение переноса с получателем

*DADC.B

Десятичное сложение переноса с получателем

Синтаксис

DADC dst или DADC.W src,dst

DADC.B dst

Операция

dst + C - dst (десятичное)

Эмуляция

DADD #0, dst

DADD.B #0, dst

Описание

Бит переноса (С) десятично прибавляется к получателю

Биты статуса

Устанавливается, если MSB равен «1»

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

Устанавливается, если получатель инкрементируется от 9999 до 0000; в противном случае сбрасывается. Устанавливается, если получатель инкрементируется от 99 до 00; в противном случае сбрасывается

V: Не определено

Биты режима

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

Десятичное число из четырех цифр, содержащееся в регистре R5 прибавляется к десятичному числу из восьми цифр, указанному в регистре R8.

CLRC ;сброс переноса

;стартовое условие для следующих

;команд задано DADD R5,0(R8) ;сложение LCDs и переноса DADC 2(R8) ;прибавление переноса к MSD

Десятичное число из двух цифр, содержащееся в регистре R5 прибавляется к десятичному числу из четырех цифр, указанному в регистре R8.

CLRC ;сброс переноса

;стартовое условие для следующих

;команд задано DADD.B R5,0(R8) ;сложение LCDs и переноса DADC 1(R8) ;прибавление переноса к MSD


DADD[.W]

Десятичное сложение источника, переноса и получателя

Десятичное сложение источника, переноса и получателя

Синтаксис

DADD src,dst или DADD.W src,dst

DADD.B src, dst

Операция

src + dst + C - dst (десятичное)

Описание

Операнды источника и получателя обрабатываются как четыре двоично-десятичных числа (BCD - Binary Coded Decimal) с положительными знаками. Операнд источника и бит переноса (С) десятично прибавляются к операнду получателя. Операнд источника не изменяется. Предыдущее содержимое получателя теряется. Для чисел, представленных не в BCD-формате, результат не определен.

Биты статуса

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

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

Устанавливается, если результат превышает 9999Устанавливается, если результат превышает 99

Не определено

Биты режима

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

BCD-число из восьми цифр, содержащееся в регистрах R5 и R6, десятично прибавляется к BCD-числу из восьми цифр, содержащемуся в регистрах R3 и R4 (регистры R6 и R4 содержат MSD).

CLRC ;очистка переноса

DADD R5,R3 ;сложение LSDs

DADD R6,R4 ;сложение MSDs и переноса

JC OVERFLOW ;если произошел перенос, выполняется

;переход в подпрограмму обработки

;ошибок

Десятичный счетчик из двух цифр в байте ОЗУ с меткой «CNT» инкременти-руется на единицу.

CLRC ;сброс переноса

DADD.B #1,CNT ;инкремент десятичного счетчика или

DADD.B #0,CNT ;= DADC.B CNT

*DEC[.W]

Декремент получателя

Декремент получателя

Синтаксис

DEC dst или DEC.W dst

DEC.B dst

Операция

dst - 1 - dst

Эмуляция

SUB #1, dst

SUB.B #1, dst


Описание

Операнд получателя уменьшается (декрементируется) на единицу. Исходное содержимое теряется.

Биты статуса

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

Устанавливается, если dst содержал «1»; в противном случае сбрасывается

Сбрасывается, если получатель содержал «0»; в противном случае устанавливается

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

Устанавливается, если исходное значение получателя было 08000h, в противном случае сбрасывается;

Устанавливается, если исходное значение получателя было 080h, в противном случае сбрасывается

Биты режима

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

Содержимое регистра R10 декрементируется на 1.

DEC R10 ;декремент R10

Пересылка блока из 255 байт, расположенного в памяти начиная с адреса, указанного меткой EDE, в область памяти, начало которой указано меткой TONI. Таблицы не должны наложиться: стартовый адрес назначения TONI должен находиться вне диапазона от EDE до EDE+0FEh.

MOV #EDE,R6 MOV #255,R10 L$1 MOV.B @R6+,TONI-EDE-1(R6) DEC R10 JNZ L$1

Не следует перемещать таблицы, используя приведенную выше подпрограмму; с перекрытием, показанным на рис. 3.12.

EDE+254

T0NI+254 I

Рис. 3-12. Перекрытие (наложение) при декременте



[стр.Начало] [стр.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]