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


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




[23]

;в регистре R10 для ;обеих таблиц

;Декремент счетчика

;Содержимое

;счетчика#0, ;копирование ;продолжается ;Копирование закончено

Нет операции

Синтаксис

Операция

не выполняется

Эмуляция

MOV #0, R3

Описание

Никакая операция не выполняется. Команда может использоваться для исключения команд в ходе проверки программного обеспечения или для задания необходимого времени ожидания.

Биты статуса

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

Команда NOP главным образом используется в двух случаях:

-сохранение одного, двух или трех слов памяти;

-корректировка программных временных интервалов. Примечание: эмуляция команды NOP.

Другие команды могут эмулировать функцию NOP, позволяя получать различное количество циклов команды и слов кода. Ниже представлены некоторые примеры:

MOV#0,R3;1 цикл, 1 слово

MOV0(R4),0(R4);6 циклов, 3 слова

MOV@R4,0(R4);5 циклов, 2 слова

BIC#0,EDE(R4);4 цикла, 2 слова

JMP$+2;2 цикла, 1 слово

BIC#0,R5;1 цикл, 1 слово

Однако, нужно соблюдать осторожность при использовании этих примеров, чтобы избежать непредсказуемых результатов. К примеру, при использовании команды MOV 0(R4), 0(R4), когда R4 содержит значение 120h, произойдет нарушение защиты сторожевого таймера (адрес 120h), потому что не будет

использован ключ защиты.

*POP[.W]

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

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

Синтаксис

POP dst POP.B dst

@SP - temp

Операция

SP + 2 - SP

temp - dst


Эмуляция

MOV @SP+, dst или MOV.W @SP+, dst MOV.B @SP+, dst

Описание

Содержимое стека, на которое указывает указатель стека (TOS) помещается в получатель. Затем указатель стека инкрементируется на два.

Биты статуса

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

Восстановление из стека содержимого регистра R7 и регистра статуса.

POP R7 ;Восстановление R7

POP SR ;Восстановление регистра статуса

Восстановление из стека содержимого байта ОЗУ LEO.

POP.B LEO ;Младший байт помещается из стека в LEO

Восстановление из стека содержимого регистра R7.

POP.B R7 ;Младший байт помещается из стека в R7, ;старший байт регистра R7 равен 00h

Восстановление из стека содержимого ячейки памяти, указанной в регистре R7 и содержимого регистра статуса.

POP.B 0(R7) ;Младший байт помещается из стека

;в байт, который указан в регистре R7 ;Пример: R7=203h

; Mem(R7) = младший байт ; системного стека

;Пример: R7=20Ah

; Mem(R7) = младший байт ; системного стека

POP SR

Примечание: указатель системного стека

Указатель системного стека (SP) всегда инкрементируется на два, независимо от наличия суффикса байта.

PUSH[.W]

Помещение слова в стек

Помещение байта в стек

Синтаксис

PUSH src или PUSH.W src PUSH.B src

Операция

SP - 2 - SP

src - @SP

Описание

Указатель стека декрементируется на два, затем операнд источника помещается в слово ОЗУ, адрес которого содержит указатель стека (TOS).

Биты статуса

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

Биты режима

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

Содержимое регистра статуса и регистра R8 сохраняются в стеке.

PUSH SR ;сохранение регистра статуса PUSH R8 ;сохранение регистра R8

Сохранение содержимого периферии TCDAT в стеке.

PUSH.B &TCDAT ;сохранение в стеке данных

;из 8-разрядного периферийного ;модуля, адресованного TCDAT

Примечание: указатель системного стека

Указатель системного стека (SP) всегда декрементируется на два, независимо от наличия суффикса байта.


Возврат из подпрограммы

Синтаксис

Операция

@SP - PC

SP + 2 - SP

Эмуляция

MOV @SP+, PC

Описание

Адрес возврата, помещенный в стек командой CALL посылается в счетчик команд. Программа продолжается с адреса кода, следующего за адресом команды вызова подпрограммы.

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

Возврат из прерывания

Синтаксис

Операция

TOS - SR, SP + 2 - SP, TOS - PC, SP + 2 - SP

Описание

Регистр состояния восстанавливает свое исходное значение, существовавшее до начала процедуры обработки прерывания, замещая текущее содержимое SR содержимым TOS. Указатель стека (SP) инкрементируется на два. Счетчик команд восстанавливает свое исходное значение, имевшееся до начала обработки прерывания. Это следующий шаг после прерывания нормального хода программы. Восстановление выполняется путем замещения текущего содержимого PC содержимым TOS. Указатель стека (SP) инкрементируется.

Биты статуса

восстанавливается из системного стека

восстанавливается из системного стека

восстанавливается из системного стека

восстанавливается из системного стека

Биты режима

Биты OSCOFF, CPUOFF и GIE восстанавливаются из системного стека

*RLA[.W]

Арифметическая ротация влево

Арифметическая ротация влево

Синтаксис

RLA dst или RLA.W dst

RLA.B dst

Операция

C MSB MSB-1 ... LSB+1 LSB 0

Эмуляция

ADD dst, dst

ADD.B dst, dst

Описание

Операнд получателя сдвигается влево на одну позицию, как показано на рис. 3.14. Старший бит MSB сдвигается в бит переноса (С), а в младший бит LSB записывается «0». Команда RLA действует как умножение со знаком на 2. Переполнение происходит, если dst > 04000h и dst < 0C000h перед выполнением операции: результат меняет знак.



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