Учебная работа. Реферат: Булевые операции

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (5 оценок, среднее: 4,80 из 5)
Загрузка...
Контрольные рефераты

Учебная работа. Реферат: Булевые операции

Микросхемы MCS-51 содержат в собственном составе “булевый” машина — комплекс технических средств, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач) (либо вычислительной системы) которое делает арифметические и логические операции данные программкой преобразования инфы управляет вычислительным действием и коор (табл.3).

Таблица 3 – Булевы операции

Мнемокод

Описание

CLR С

(С) <- 0

CLR bit

(bit) <- 0

SETB С

(С) <- 1

SETB bit

(bit) <- 1

CPL С

(С) <- NOT(С)

CPL bit

(bit) <- NOT (bit)

ANL С, bit

(С )<- (C) / (bit)

ANL С, /bit

(С) <- (C) / NOT(bit)

ORL С, bit

(С) <- (C) / (bit)

ORL С, /bit

(С) <- (C) / NOT(bit)

MOV С, bit

(С) <- (bit)

MOV bit, C

(bit) <- (C)

Внутреннее ОЗУ имеет 128 прямо адресуемых бит. Место SFR может также поддерживать до 128 битовых полей. Битовые аннотации производят условные переходы, пересылки, сброс, инверсии, операции “И”, “ИЛИ”. Все обозначенные биты доступны в режиме прямой адресации.

бит переноса CF в PSW употребляется как 1-битный аккумулятор булевого микропроцессора.
Аннотации переходов

Адреса операций переходов обозначаются на языке ассемблера меткой или настоящим значением в пространстве памяти программ (табл.4). Адреса условных переходов ассемблируются в относительное смещение – знаковый б, прибавляемый к программному счетчику PC в случае выполнения условия перехода. Границы таковых переходов лежат в границах меж -128 и +127 относительно первого б, последующего за аннотацией. В PSW отсутствует флаг нуля, потому аннотации JZ и JNZ инспектируют условие “равно нулю” тестированием данных в аккуме.

Таблица4.4 –Аннотации переходов

Мнемокод

Описание

LJMP ad16

Длиннющий бесспорный переход по всей памяти

AJMP ad11

Бесспорный переход в границах странички 2 кбайт

SJMP rel

Бесспорный переход в границах странички 256 б

JMP @A+DPTR

Бесспорный переход по косвенному адресу

JZ rel

Переход, если нуль

JNZ rel

Переход, если не нуль

JC rel

Переход, если бит переноса установлен

JNC rel

Переход, если бит переноса не установлен

JB bit, rel

Переход, если бит установлен

JNB bit, rel

Переход, если бит не установлен

JBC bit, rel

Переход, если бит установлен со сбросом бита

DJMZ Rn, rel

Команда цикла

Продолжение табл4.4

DJNZ ad, rel

Команда цикла

CJNE: A, ad, rel

Сопоставление аккума с б и переход,

если не равно

CJME A, #d, rel

Сопоставление аккума с константой и переход, если не равно

CJNE: Rn, #d, rel

Сопоставление регистра с константой и переход,

если не равно

CJNE: @Ri, #d, rel

Сопоставление б памяти с константой и переход, если не равно

LCALL ad16

Длиннющий вызов подпрограммы во всей памяти

ACALL ad11

Вызов подпрограммы в границах странички 2 кбайт

RET

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

RETI

Возврат подпрограммы обработки прерывания

NOP

Пустая операция

Существует три вида команды бесспорного перехода – SJMP, LJMP, AJMP, различающиеся форматом адреса предназначения. {Инструкция} SJMP шифрует адресок как относительное смещение и занимает 2 б. Дальность перехода ограничена спектром от -128 до +127 б относительно аннотации, последующей за SJMP. В аннотации LJMP употребляется адресок предназначения в виде 16-битной константы. Длина команды составляет 3 б. адресок предназначения может размещаться в любом месте памяти программ. Команда AJMP употребляет 11-битную константу адреса. Команда состоит из 2 б. При выполнении данной аннотации младшие 11 бит адресного счетчика замещаются 11-битным адресом из команды. 5 старших бит PC остаются постоянными. Т.е., переход может выполняться снутри двухкилобайтного блока, в каком размещается {инструкция}, последующая за командой AJMP.

Существует два вида команды вызовы подпрограммы – LCALL и ACALL. {Инструкция} LCALL употребляет 16-битный адресок вызываемой подпрограммы. В этом случае подпрограмма быть может размещена в любом месте памяти программ. {Инструкция} ACALL употребляет 11-битный адресок подпрограммы. В этом случае вызываемая подпрограмма обязана быть размещена в одном двухкилобайтном блоке с аннотацией, последующей за ACALL. Оба варианта команды кладут на стек адресок последующей команды и загружают в PC соответственное новое

Подпрограмма заканчивается аннотацией RET, позволяющей возвратиться на аннотацию, последующую за командой CALL. Эта {инструкция} снимает со стека адресок возврата и загружает его в PC. {Инструкция} RETI употребляется для возврата из подпрограмм обработки прерываний. Единственное отличие RETI от RET заключается в том, что RETI информирует систему о том, что обработка прерывания закончилась. Если в момент выполнения RETI нет остальных прерываний, то она схожа RET.

{Инструкция} DJNZ создана для управления циклами. Для выполнения цикла N раз нужно загрузить в счетчик б со значением N и закрыть тело цикла командой DJNZ, указывающей на начало цикла.

Команда CJNE ассоциирует два собственных операнда как беззнаковые целые и производит переход по обозначенному в ней адресу, если сравниваемые операнды не равны. Если 1-ый операнд меньше, чем 2-ой, то бит переноса CF устанавливается в “1”.

]]>