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


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




[18]

CALL EXEC

CALL &EXEC

CALL R5

CALL @R5

CALL @R5+

CALL X(R5)

Вызов по адресу, содержащемуся в EXEC

SP-2 - SP, PC+2 - @SP, X(PC) - PC

Косвенная адресация

Вызов по адресу, содержащемуся

в абсолютном адресе EXEC

SP-2 - SP, PC+2 - @SP, X(0) - PC

Косвенная адресация

Вызов по адресу, содержащемуся в R5 SP-2 - SP, PC+2 - @SP, R5 - PC Косвенная адресация по содержимому R5 Вызов по адресу, содержащемуся в слове, указанном в регистре R5 SP-2 - SP, PC+2 - @SP, @R5 - PC Косвенная адресация по косвенному содержимому R5

Вызов по адресу, содержащемуся

в слове, указанном в регистре R5

и последующий инкремент указателя в R5.

При следующем использовании указателя R5

программным потоком выполнение программы

может измениться, поскольку будет

использован следующей адрес в таблице,

указанной регистром R5

SP-2 - SP, PC+2 - @SP, @R5 - PC

Косвенная адресация по косвенному

содержимому R5 c автоинкрементом

Вызов по адресу, содержащемуся в адресе,

указанном выражением R5+X (например,

таблица со стартовым адресом X).

«X» может быть адресом или меткой.

SP-2 - SP, PC+2 - @SP, X(R5) - PC

Косвенная адресация по косвенному

содержимому R5 + X

*CLR[.W]

Очистка получателя

Очистка получателя

Синтаксис

CLR dst или CLR.W dst

CLR.B dst

Операция

0 - dst

Эмуляция

MOV #0, dst

MOV.B #0, dst

Описание

Операнд получателя очищается

Биты статуса

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

Очистка слова TONI в ОЗУ:

CLR TONI ;0 - TONI

Очистка регистра R5:

Очистка байта TONI в ОЗУ:

CLR.B TONI ;0 - TONI


Очистка бита переноса

Синтаксис

Операция

Эмуляция

BIC #1, SR

Описание

Бит переноса (С) очищается. Команда очистки переноса - это команда-слово.

Биты статуса

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

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

Очищается

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

Биты режима

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

Прибавление содержимого 16-разрядного десятичного счетчика, указанного в R13 к содержимому 32-разрядного счетчика, указанного в R12:

CLRC ;C=0: определение исходного ;состояния

DADD @R13,0(R12) ;сложение 16-разрядного счетчика ;с младшим словом 32-разрядного ;счетчика

DADC 2(R12) ;прибавление переноса к старшему ;слову 32-разрядного счетчика

Очистка бита отрицания

Синтаксис

Операция

0 - N или (.NOT.src .AND. dst - dst)

Эмуляция

BIC #4, SR

Описание

Константа 04h инвертируется (OFFFBh) и логически умножается (AND) с операндом получателя. Результат помещается в получатель. Команда очистки бита отрицания - это команда-слово.

Биты статуса

Сбрасывается в «0»

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

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

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

Биты режима

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

Бит отрицания в регистре статуса очищается. Это позволяет избежать специальной обработки отрицательных чисел вызываемой подпрограммы.

CALL SUBR

JN SUBRET ;если при входе - отрицательное значение, ;ничего не делается и происходит выход ;из подпрограммы

SUBRET RET


Очистка бита нулевого результата

Синтаксис

Операция

0 - Z или (.NOT.src .AND. dst - dst)

Эмуляция

BIC #2, SR

Описание

Константа 02h инвертируется (0FFFDh) и логически умножается (AND) с операндом получателя. Результат помещается в получатель. Команда очистки бита нуля - это команда-слово.

Биты статуса

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

Сбрасывается в «0»

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

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

Биты режима

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

Бит нуля в регистре статуса очищается.

CMP[.W]

Сравнение источника и получателя

Сравнение источника и получателя

Синтаксис

CMP src,dst или CMP.W src,dst

CMP.B src, dst

Операция

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

Описание

Операнд источника вычитается из операнда получателя. Это выполняется прибавлением дополнения до единицы операнда источника плюс 1. Оба операнда не изменяются, а результат не сохраняется, изменяются только биты статуса.

Биты статуса

Устанавливается, если результат отрицательный; сбрасывается, если положительный (src >= dst)

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

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

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

Биты режима

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

Сравнивается содержимое R5 и R6. Если оно одинаково, выполнение программы продолжается с метки EQUAL.

CMP R5,R6 ;R5=R6?

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

Сравниваются два блока в ОЗУ. Если они не эквивалентны, программа переходит к метке ERROR.

L$1 MOV #NUM, R5 ;количество слов, которые

;будут сравниваться MOV #BLOCK1,R6 ;начальный адрес BLOCK1 ;в регистр R6



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