Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по ТСА.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
914.94 Кб
Скачать

2.1.2.Система команд микропроцессора.

Команды МП можно разделить на 4 категории:

  • Команды пересылки данных (см. Табл. 0- – Табл. 0-).

Эти команды приводят к перемещению элементов информации между регистрами или между регистром и ячейкой памяти (портом ввода/вывода). Общее число таких команд велико, т. к. имеется много видов адресации, а также большое число ограничений на форматы команд, обусловленное небольшой длиной слова процессора. Это приводит к усложнению архитектуры.

  • Арифметические и логические команды (см. Табл. 0- – Табл. 0-).

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

  • Команды передачи управления (см. Табл. 0- – Табл. 0-).

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

  • Команды различного назначения (специальные команды, см. Табл. 0-).

К данному классу относятся команды, которые нельзя точно классифицировать.

2.1.2.1Команды пересылки данных.

Команды пересылки "регистр-регистр" – MOV R1, R2. Формат этих команд имеет вид 01 DDD SSS, где DDD – регистр приемник, SSS – регистр источник. Регистры определяются номерами B = 0, C = 1, D = 2, E = 3, H = 4, L = 5, A =7. Таким образом, команда 4С (01001100) означает "переслать содержимое регистра Н в регистр С". Если значение DDD или SSS равно 110, то приемником или источником является ячейка памяти, адрес которой хранится в паре регистров HL (косвенная адресация).

Команда MVI служит для пересылки одного байта в любой из 7 РОН. Формат команды 00 DDD 110. Если DDD = 0, 1, ..., 5, 7, то пересылается константа, следующая в программе за этой командой в регистры B, C, ..., L, A. Если поле DDD = 6, то константа пересылается в ячейку памяти, адрес которой хранится в паре регистров H, L.

Для быстрой загрузки регистров H, L существует команда LXI H, пересылающая следующие за командой LXI H два байта (в программе) в указанную пару регистров. Таким же образом команда LXI D загружает два байта в пару регистров D и Е, а команда (LXI B) – два байта в регистры В и С. Эти команды называются командами непосредственной загрузки.

Существуют команды, выделяющие регистр А для специальных целей. Команды STAX и LDAX служат для передачи данных между регистром А и ячейкой памяти, адрес которой находится либо в паре регистров ВС, либо в паре регистров DЕ, причем STAX B – пересылает содержимое А в ячейку памяти, адрес которой находится в ВС, а LDAX D – осуществляет обратную передачу содержимого ячейки памяти с адресом, записанным в DE в регистр А.

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

К этой же группе команд могут быть отнесены команды ввода/вывода. Команды ввода/вывода IN и OUT осуществляют передачу данных между процессором и каналом ввода/вывода (портом ввода/вывода), номер которого приведен вслед за командой.