Главная -> Книги

(0) (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) (121) (122) (123) (124) (7)

старший байт с младшим в регистре R1. Некоторые процессоры имеют команды обмена (exchange), которые обменивают содержимое двух регистров, ячеек памяти или регистра и памяти. В МП КР580 команда обмена XCHG обменивает содержимое регистровых пар Н, L и D, Е.

Команды пересылки кодов между процессором и памятью. По командам этой группы выполняют запоминание данных из регистров процессора в памяти - store (ST) и загрузку регистров процессора данными из памяти - load (LD), однако имеются разновидности мнемоники команд. В процессорах СМ используется мнемоника MOV(B) для передачи в обоих направлениях, так как MOV(B) является двухадресной командой, в которой поля S и D в зависимости от режима адресации кодируют регистр или ячейку памяти, что также обеспечивает передачи типа память- память. Некоторые команды содержат вместо адреса памяти и регистра данное, передаваемое в процессор или память при использовании непосредственного режима адресации. Иногда адрес ячейки памяти указывается неявным образом путем использования косвенной регистровой адресации. В МП КР580 команда MOV г, М (рис. 2-5, й) передает данное из памяти в регистр г, указанный в поле D. Адрес ячейки памяти хранится в регистрах процессора Н, L, которые предварительно необходимо загрузить требуемым адресом. Большинство современных мик-

Память

Регистр

Режим

Адрес,

null

(регистр)

аЬмена

оЬмена

функи,ия

Адрес Функции

г) 7

В8од (вывод)

Адрес

Рие. 2-5. Форматы команд передачи данных: а - между регистром и па.мятью в МП КР580; б - обобщенный формат командыввода-вывода; е -команды ввода-вывода мини-ЭВМ «Электроника-100»; г -МП в микро-ЭВМ СМ-1800



ро- и МИНИ-ЭВМ имеет команды включения данных в стек и извлечения из стека. Например, в МП КР580 команды PUSH гр и POP гр обеспечивают включение в стек и извлечение из стека данных в регистровые пары В и С, D и Е, И и L. В качестве указателя стека используется специальный регистр - указатель стека. Для включения и извлечения содержимого аккумулятора и флажков используются отдельные команды PUSH PSW и POP PSW.

Команды передачи кодов между процессором и периферийными устройствами. В различных моделях малых ЭВМ процедура обмена кодов реализуется посредством команд ввода и вывода, содержащих в общем случае поля, приведенные на рис. 2-5, б. Иногда отдельные команды не используются, а буферные регистры периферийных устройств рассматриваются как часть адресного пространства памяти, что применяется в процессорах СМ. Поля команд ввода-вывода определяют следующие действия (рис. 2-5,6):

1. КОП определяет вид операции обмена с периферийным устройством.

2. Поле памяти (регистра) определяет использование регистра в качестве источника (приемника) информации или в качестве адреса ячеек памяти.

3. Поле регистра обмена кодирует номер регистра, выполняющего одну из вышеназванных функций.

4. Поле режима обмена определяет, что необходимо выполнять: ввод, вывод, управление или проверку состояния периферийных устройств.

5. Поле «адрес периферийного устройства и функция» определяет, какое устройство должно быть выбрано и какие действия необходимо выполнить. Примерами функций, которые необходимо выполнять в режимах управления и проверки периферийных устройств, являются следующие: установить или сбросить «флажки» готовности, проанализировать значение флажка, инициировать операцию, выполнить перемотку, разрешить или запретить прерывание и др. В некоторых ЭВМ поля «адрес» и «функция» не выделяются отдельно, а код данных полей определяет устройства и выполняемую функцию. Данный подход более универсален по сравнению с разделением полей, но требует более сложных схем декодирования в интерфейсных модулях периферийных устройств. В мини- и микро-ЭВМ имеется множество разновидностей обобщенного формата команды обмена. Команды обмена процессора с периферийными устройствами для микро-ЭВМ СМ-1800 и мини-ЭВМ «Электроника-100» приведены на рис. 2-5, в, г.



в СМ.-1800 адрес команд ввода и вывода (PORT) определяет адрес периферийного устройства и выполняемую функцию (см. пример интерфейса СМ-1800 с АЦП в § 4-2), обмен всегда выполняется только с аккумулятором. В ЭВМ «Электроника-100» разряды О-2 идентифицируют КОП обмена ПО, разряды 3-8 определяют адрес устройства, а разряды 9-11 указывают, какую функцию необходимо выполнять в адресуемом устройстве.

2-4. КОМАНДЫ ОБРАБОТКИ ДАННЫХ

Данную группу команд с точки зрения выполняемых над данными операций можно подразделить на арифметические, логические команды и команды сдвига, а по числу используемых операндов их можно классифицировать на одно- и двухоперандные операции. Операнды двухоперандных команд хранятся в регистрах процессора или в регистре и памяти, а при использовании непосредственной адресации один из операндов указывается в самой команде. Результат формируется в регистре-приемнике или в аккумуляторе. Команды данной группы формируют признаки результатов: перенос из старшего разряда, переполнение результата, нулевой результат и др.

Вазовой арифметической командой в любой ЭВМ является команда двоичного сложения, имеющая следующий формат: ADD dst, src, где src - источник операнда, а dst - приемник результата. Большинство ЭВМ имеет команду вычитания SUB dst, src, которая обеспечивает вычитание операнда-источника из операнда-приемника с запоминанием результата в приемнике. В командах сложения (вычитания) с непосредственным операндом к содержимому регистра или ячейки памяти прибавляется (вычитается) константа, определенная в специальном поле команды. Например, в процессорах СМ 16-битный операнд является вторым словом команды, а в 8-битном МП КР580 - вторым байтом.

При выполнении арифметических операций сложения (вычитания) с многократной точностью перенос (заем) должен распространяться от младших разрядов к старшим. Эти операции упрощаются при использовании команд сложения с переносом ADC dst, src и вычитания с займом SBB dst, src. Например, команда ADC dst, src складывает два операнда и добавляет единицу, если С= 1 до выполнения команды. В некоторых ЭВМ источником одного из опе-



(0) (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) (121) (122) (123) (124)