русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Система команд


Дата добавления: 2015-08-06; просмотров: 805; Нарушение авторских прав


Система команд включает 111 команд - однобайтовых (49), двухбайтовых (45) и трехбайтовых (17). Все команды выполняются за 1 или 2 МЦ (12 тактов CLK), за исключением команд умножения и деления MUL и DIV, для выполнения которых требуется 4 МЦ. Большинство двухбайтовых команд - одноцикловые, а все трехбайтовые двухцикловые. За один МЦ в ..ВЕ52 можно вводить до двух байтов программного кода.

В микро-ЭВМ предусмотрена прямая (direct), косвенная (через R0, R1 или DPTR) и непосредственная (# data) адресация элементов DSEG и RSEG, прямая адресация элемента BSEG, косвенная (через R0, R1 или DPTR) адресация XSEG.

Все множество команд разбито на 5 групп: пересылки (28), логические (25), арифметические (24), передачи управления (17) и битового процессора (17).

В Табл. 11.4 – Табл. 11.7 приведены мнемокоды команд, длина команды в МЦ,
HEX-коды и описание команды. В таблицах использованы следующие обозначения:

A,B - аккумулятор, дополнительный аккумулятор;
Rn - регистр общего назначения (n = 0..7);
@Ri - косвенный адрес через Ri (i = 0,1);
direct - прямой адрес DSEG (8 бит);
#data - непосредственный операнд длиной 8 бит;
#data16 - непосредственный операнд длиной 16 бит;
addr11 - адрес перехода длиной 11 бит;
addr16 - адрес перехода длиной 16 бит;
rel - смещение на странице CSEG длиной 8 бит;
bit - прямой адрес BSEG (номер бита).

В командах возможны следующие варианты формирования признаков

[1] - P

[2] - CY, P

[3] - CY, AC, OV, P

[4] - OV, P, CY 0

[5] - CY

В Табл. 11.4 – Табл. 11.7 в описании команд указаны соответствующие обозначения. Отсутствие обозначения говорит о том, что данная команда не меняет значений признаков. Символ в фигурных скобках означает, что он относится ко всем командам блока.



Табл. 11.4. Команды пересылки

  Мнемокод МЦ HEX-коды Описание команды
  MOV A, Rn E8 .. EF A Rn
  MOV A, direct E5 A (direct)
  MOV A, @Ri E6 .. E7 A (Ri)
  MOV A, #data A data
  MOV Rn, A F8 .. FF Rn A
  MOV Rn, direct A8 .. AF Rn (direct)
  MOV Rn, #data 78 .. 7F Rn data
  MOV direct, A F5 (direct) A
  MOV direct, Rn 88 .. 8F (direct) Rn
  MOV direct, direct (direct) (direct)
  MOV direct, @Ri 86 .. 87 (direct) (Ri)
  MOV direct, #data (direct) data
  MOV @Ri, A F6 .. F7 (Ri) A
  MOV @Ri, direct A6 .. A7 (Ri) (direct)
  MOV @Ri, #data 76 .. 77 (Ri) data
  MOV DPTR, #data16 DPTR data16
  MOVC A,@A+DPTR A CSEG(A+DPTR)
  MOVC A,@A+PC A CSEG(A+PC)
  MOVX A, @Ri E2 .. E3 A XSEG(P2.Ri)
  MOVX A, @DPTR E0 A XSEG(DPTR)
  MOVX @Ri, A F2 .. F3 XSEG (P2.Ri) A
  MOVX @DPTR, A F0 XSEG (DPTR) A
  PUSH direct C0 +(SP) (direct)
  POP direct D0 (direct) (SP)-
  XCH A, Rn C8 .. CF A « Rn
  XCH A, direct C5 A « (direct)
  XCH A, @Ri C6 .. C7 A « (Ri)
  XCHD A, @Ri D6 .. D7 A[3:0] « (Ri[3:0])

 

Табл. 11.5. Логические и арифметические команды

  Мнемокод МЦ HEX-коды Описание команды
  ANL A, Rn 58 .. 5F A A & Rn
  ANL A, direct A A & (direct)
  ANL A, @Ri 56 .. 57 A A & (Ri)
  ANL A, #data A A & data
  ANL direct, A (direct) (direct) & A
  ANL direct, #data (direct) (direct) & data
  ORL A, Rn 48 .. 4F A A Ú Rn
  ORL A, direct A A Ú (direct)
  ORL A, @Ri 46 .. 47 A A Ú (Ri)
  ORL A, #data A A Ú data
  ORL direct, A (direct) (direct) Ú A
  ORL direct, #data (direct) (direct) Ú data
  XRL A, Rn 68 .. 6F A A Å Rn
  XRL A, direct A A Å (direct)
  XRL A, @Ri 66 .. 67 A A Å (Ri)
  XRL A, #data A A Å data
  XRL direct, A (direct) (direct) Å A
  XRL direct, #data (direct) (direct) Å data
  CLR A E4 A 0000 0000 (Очистка акк.)
  CLP A F4 A A\ (Инверсия аккумулятора)
  RL A Сдвиг левый циклический
  RLC A Сдвиг левый с переносом
  RR A Сдвиг правый циклический
  RRC A Сдвиг правый с переносом
  SWAP A C4 A[7:4] « A[3:0]
  ADD A, Rn 28 .. 2F A A + Rn
  ADD A, direct A A + (direct)
  ADD A, @Ri 26 .. 27 A A + (Ri)
  ADD A, #data A A + data
  ADDC A, Rn 38 .. 3F A A + Rn + CY
  ADDC A, direct A A + (direct) + CY
  ADDC A, @Ri 36 .. 37 A A + (Ri) + CY
  ADDC A, #data A A + data + CY
  SUBB A, Rn 98 .. 9F A A - Rn - CY
  SUBB A, direct A A - (direct) - CY
  SUBB A, @Ri 96 .. 97 A A - (Ri) - CY
  SUBB A, #data A A - data - CY
  INC A A A + 1
  INC Rn 08 .. 0F Rn Rn + 1
  INC direct (direct) (direct) + 1
  INC @Ri 06 .. 07 (Ri) (Ri) + 1
  INC DPTR A3 DPTR DPTR + 1
  DEC A A A - 1
  DEC Rn 18 .. 1F Rn Rn - 1
  DEC direct (direct) (direct) - 1
  DEC @Ri 16 .. 17 (Ri) (Ri) - 1
  MUL AB A4 B.A A × B
  DIV AB A.B A : B
  DA A Десятичная коррекция сложения

Табл. 11.6. Команды передачи управления

  Мнемокод МЦ HEX-коды Описание команды
  ACALL addr11 aaa10001 +(SP) PC; PC[10:0] adrr11
  LCALL addr16 +(SP) PC; PC adrr16
  RET PC (SP)-
  RETI PC (SP)-; конец прерывания
  AJMP addr11 aaa00001 PC[10:0] adrr11
  LJMP addr16 PC adrr16
  JMP @A + DPTR PC DPTR +A
  SJMP rel PC PC + rel
  JZ rel if A = 0 then PC PC + rel
  JNZ rel if A ¹ 0 then PC PC + rel
  CJNE A, direct, rel B5 if A ¹ (direct) then PC PC + rel
  CJNE A, #data, rel B4 if A ¹ data then PC PC + rel
  CJNE Rn, #data, rel B8 .. BF if Rn ¹ data then PC PC + rel
  CJNE @Ri,#data, rel B6 .. B7 if (Ri) ¹ data then PC PC + rel
  CJNZ Rn,rel D8 .. DF Rn Rn - 1 if Rn ¹ 0 then PC PC + rel
  CJNE direct, rel D5 (direct) (direct) - 1 if (direct) ¹ 0 then PC PC + rel
  NOP  

Табл. 11.7. Булевые команды

  Мнемокод МЦ HEX-коды Описание команды
  MOV C, bit A9 CY BSEG(bit)
  MOV bit, C BSEG(bit) CY
  CLR C C3 CY 0
  CLR bit C2 BSEG(bit) 0
  SETB C D3 CY 1
  SETB bit D2 BSEG(bit) 1
  CPL C B3 CY CY\
  CPL bit B2 BSEG(bit) BSEG(bit)\
  ANL C, bit CY CY & BSEG(bit)
  ANL C, bit\ B0 CY CY & BSEG(bit)\
  ORL C, bit CY CY Ú BSEG(bit)
  ORL C, bit\ A0 CY CY Ú BSEG(bit)\
  JC rel if CY = 1 then PC PC + rel
  JNC rel if CY = 0 then PC PC + rel
  JB bit, rel if BSEG(bit) = 1 then PC PC + rel
  JNB bit, rel if BSEG(bit) = 0 then PC PC + rel
  JBC bit, rel if BSEG(bit) = 1 then PC PC + rel и BSEG(bit) 0

 



<== предыдущая лекция | следующая лекция ==>
Подсистема прерываний | Проблемы и особенности отладки МПС


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.086 сек.