Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




КО Коды РОН

КО Коды РОН

       
   


                         


РОН
Данные Данные
   

Рисунок 12 – Регистровая адресация

При косвенной адресации данные содержатся в ячейках ОЗУ, шестнадцатиразрядные адреса этих ячеек – в паре РОН, а их коды – в команде. Старший бит адреса памяти записан в первом РОН пары, младший – во втором регистре пары РОН. Обычно используется пара регистров HL, иногда ВС и DE. Команда однобайтовая (рис. 13).

 

       
   


                         


РОН
В С
В Е
Адрес Адрес
H L

ОЗУ
 
Данные
 

Рисунок 13 – Косвенная адресация

Таблица 6- Данные косвенной адресации

Регистр Код Пара регистров Код
А   ВС  
В   DE  
С   HL  
D   SP (стек)  
Е 01l    
Н      
L      
М (ОЗУ)      

По функциональному признаку все команды могут быть разби­ты на пять групп: команды пересылки данных, логические команды, арифметические команды, команды переходов, команды работы со стеком, ввода-вывода и управления МП.

Список основных команд приведен в таблице 7. Полный список команд можно найти в специальной литературе.

 

Таблица 7 – Список основных команд

Группа команд Мнемокод команд Восьмеричный код команды Содержание команды Число байт Признаки результата операций
Z S P C AC
Команды пересылки MOV D,S 1DS (D)(S)   - - - - -
MVI D,d 0D6 (D1)d   - - - - -
LXI rp, d 0D11 (D1)D   - - - - -
LDA a   (A) (a)   - - - - -
STA a   (a) (A)   - - - - -
LHLD a   L(a), H(a+1)   - - - - -
SHLD a   (a)L, (a+1) (H)   - - - - -
LDAX rp 0D22 A(rp)   - - - - -
STAX rp 0D23 ((rp))A   - - - - -
XCHG   (H)<->(D), (L)<->(E)   - - - - -
Арифметические команды ADD S 20S (A) (A)+(S)   + + + + +
ADI d   (A) (A)+d   + + + + +
ADC S 21S (A) (A)+(S)+(C)   + + + + +
ACI d   (A) (A)+d+(C)   + + + + +
DAD rp 0D41 (HL) (HL)+(rp)   - - - + -
SUB S 22S (A) (A)-(S)   + + + + +
SUI d   (A) (A)-d   + + + + +
SBB S 23S (A) (A)-(S)-(C)   + + + + +
SBI d   (A) (A)-d-(C)   + + + + +
INR D 0S4 (D) (D)+1   + + + + +
INX rp 0D53 (rp) (rp)+1   - - - - -
DRC D 0D5 (D) (D)-1   + + + - +
DRC rp 0D25 (rp) (rp)-1   - - - - -
DAA   Десятичная коррекция   + + + + +

 

Продолжение таблицы 7

Группа команд Мнемокод команд Восьмеричный код команды Содержание команды Число байт Признаки результата операций
Z S P C AC
Логические команды ANA S 24S (A)(A)^(S)   + + +   +
ANI d   (A)(A)^d   + + +   +
XRA S 25S (A)(A)Å(S)   + + +    
XRI d   (A)(A) Åd   + + +    
ORA S 26S (A)(A)V(S)   + + +    
ORI d   (A)(A)Vd   + + +    
CMP s 27S (A)-(S)   + + + + +
CMI d   (A)-d   + + + + +
RLC   (An+1) (An), (A0) (A7), (C) (A7)   - - - + -
RRC   (An+1) (An), (AT) (A0)   - - - + -
RAL   (An) (An+1), (C) (A7), (A0) (C),   - - - + -
RAR   (An+1) (An), (C) (A0), (A7) (C),   - - - + -
STC   (C) 1   - - -   -
CMC   (C) (OC)   - - - + -
CMA   (A) (OA)   - - - - -
Команды переходов JMP a   (PC) a   - - - - -
Jc a   (PC) a, если условие ССС в поле С истинно   - - - - -
CALL a   (РС) а   - - - - -
Cc a   (РС) а, если условие ССС в поле С истинно   - - - - -
RET   Возврат из подпрограммы   - - - - -
Rc   Возврат из одпрограммы, если условие ССС в поле С истинно   - - - - -
PCHL   (PC) (H,L)   - - - - -
RST n 3n7 Команда повторного старта   - - - - -
Команды ввода-вывода IN P   (A) (P)   - - - - -
OUT P   (P) (A)   - - - - -
PUSH rp 3D65 ((SP)) (rp)   - - - - -
PUSH PSW   ((SP)) (A) u (Z,S,P,C,AC)   - - - - -
POP rp 3D61 (rp) ((SP))   - - - - -
POP PSW   (Z,S,P,C,AC) u (A) ((SP))   + + + + +
XTHL   (HL)<->((SP))   - - - - -
SPHL   (SP)<->(HL)   - - - - -
E1   Разрешение прерывания   - - - - -
D1   Запрещение прерывания   - - - - -
HLT   Остановка   - - - - -
NOP   Нет операции   - - - - -

В таблице 7 приняты следующие обозначения:

rp – регистровая пара;

S – регистр-источник (source);

D – регистр-приемник (destination). Если на позиции S или D стоит 0,1,2,3,4, 5,6,7, то регистрами являются РОН В, С, D, Е, Н, L и М, А соответственно, где М – регистр в памяти (memory), A – аккуму­лятор;

d – (data) - восьми или шестнадцатибитное данное;

а – (address) - шестнадцатибитный адрес памяти;

(...) – содержимое ячейки памяти РОН МП;

(SP) – содержимое указателя стековой памяти;

((SP)) – содержимое ячейки стековой памяти;

D1 = 0, 2, 4, 6 для соответственных регистров РОН В, D, Н, SP;

D2 = 1, 3 для пар регистров ВС, DE;

D3 = 0, 2 для пар регистров ВС, DE;

D4 = 1, 3, 5, 7 для пар регистров ВС, DE, HL, SP;

D5 = 0, 2, 4, 6 для регистров В, D, Н, HL;

D6 = 0, 2, 4 для пар регистров ВС, DE, HL;

n – номер команды повторного старта, n равно от 0 до 7;

р – (port) - 8-битный адрес ПУ;

С – (condition) - условие;

ССС – трехбитный код признака, используемого в командах передачи (табл.8). Цифры в графе 3, записанные в восьмеричном коде, в программе должны представляться в двоичном коде, т.е. 1=001, 2=010, З=011,…,7=111. Символы V, ^, О, Å - логические операции И, ИЛИ, НЕ, исключающее ИЛИ, AC - перенос 1 из младшей тетрады при сложении, «+» - формируется по результату операции, «-» - не изме­няется, «О» -очищается, «1» - устанавливается.

Таблица 8

Код Признак С Значение признаков
ССС
  NZ Z=0, результат не равен 0
  Z Z=1, результат равен 0
  NC С=0, нет переноса
Oil С С=1, есть перенос
  РО Р=0, результат четный
  РЕ Р=1, результат нечетный
  Р S=0, результат положительный
  М S=1, результат отрицательный

 

 

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

 

Пример 1.

MOV D,S - команда пересылает данные из регистра S - источника в регистр D - приемника.

В качестве S могут выступать следующие РОН: В, С, D, Н, L или аккумулятор А. Формат команды приведен на рисунке 12.

<B1>     D D D S S S MOV D,S

а)

<B1>           S S S MOV M,S

KO (M) (S)

в)

Рисунок 14 – Форматы команд MOV D,S, и MOV M,S

Если D и S поставить коды РОН из таблицы 6, получится, например, команда 01 010 001, где 01 – код команды из таблицы 7. (IDS) – 1 в двоичном коде соответствует 01, 010 – код регистра-приемника D, соответствующий РОН D (см. табл. 6), 001 – код регистра источника S, соответствующий РОН С, т.е. восьмеричный код команды 121. Таким образом, по данной команде произойдет пересылка данных из регистра С в регистр D, при этом содержимое С сохраняется.

Пример 2.

MOV MS – команда пересылает данные из регистра S (которым могут быть А, В, С, D, H, L) в ячейку памяти М (код в таблице 6), указанной в регистровой паре HL (рис. 14).

Пример 3.

MOV D,M – команда пересылает данные из ячейки памяти М адрес которой указан в HL, в регистр D, т.е. А и РОН В, С, D, H, L (рисунок 15).

 

<B1>     D D D       MOV D,M

KO (D) (M)

 

Рисунок 15 – Формат команды MOV D,M

Арифметические команды служат для выполнения арифметических операций над данными, хранящимися в РОН и ячейках памяти М, при этом она оказывает влияние на состояние признаков ССС (таблица 8), появляющихся в регистрах специального флагового регистра ФР – регистра состояний. Признаки ССС формируются АЛУ.

Пример 1.

ADD S – команда выполняет сложение содержимого регистра S с содержимым регистра-аккумулятора А, результат помещается в А.

В кодах команда записывается как, например, 10 000 001, где 10 000 – код ADD из таблицы 7 (20S) – 2 в двоичной системе соответствует 10, 0 соответствует 000, вместо S стоит 001, т.е. регистр С (рис. 16). Следовательно, при выполнении команды ADD С содержимое С при­бавляется к содержимому А. Восьмеричный код команды – 201.

 

<B1>           S S S ADD S




Поделиться с друзьями:


Дата добавления: 2015-04-29; Просмотров: 481; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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