Меню сайта

Урок 19. Регистры адресации

В -процессоре 8088 имеется четыре 16-битовых регистров, которые мо-
— — — гут принимать — участие в адресации операндов. -Один из них является
— — — одновременно регистром общегоназначения — — регистр базы BX. Другие

— — — — — — — — -Microsoft (R) Macro Assembler Version 5.00 — — — — — — — — — — — -11/17/88 21:42:25
— — — — — — — — -Фиг 3.2 Адресация операндов — — — — — — — — — — — — — — — — — — — — — Page -1-1

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — PAGE — — -,132
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — TITLE — -Фиг 3.2 Адресация операндов

— — — — — — — — — -0000 — — — — — — — — — — — — — — — — — CODE — — -SEGMENT

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — ASSUME -CS:CODE,DS:CODE,SS:CODE

— — — — — — — — — -0123 — — — — — — — — — — — — — — — — — — — — — — — ORG — — — -123H
— — — — — — — — — -0123 — ???? — — — — — — — — — — — OPND — — — DW — — — — -?

— — — — — — — — — -0200 — — — — — — — — — — — — — — — — — — — — — — — ORG — — — -200H

— — — — — — — — — -0200 — 43 — — — — — — — — — — — — — — — — — — — — — — — — -INC — — — — BX — — — — — —Увеличение регистра
— — — — — — — — — -0201 — FF 06 0123 R — — — — — — — — — — — — — — -INC — — — — OPND — — — — -Увеличение ячейки памяти
— — — — — — — — — -0205 — FF 07 — — — — — — — — — — — — — — — — INC — — — — WORD PTR[BX] — — — Увеличение слова памяти

— — — — — — — — — -0207 — FF 87 0123 R — — — — — — — — — — — — — — -INC — — — — [OPND+BX] — — — — — -Смещение плюс индекс
— — — — — — — — — -020B — FF 84 0123 R — — — — — — — — — — — — — — -INC — — — — [OPND+SI]
— — — — — — — — — -020F — FF 84 0123 R — — — — — — — — — — — — — — -INC — — — — OPND[SI] — — — — — — -Другой способ — тот же результат
— — — — — — — — — -0213 — FF 85 0123 R — — — — — — — — — — — — — — -INC — — — — OPND + [DI]
— — — — — — — — — -0217 — FF 86 0123 R — — — — — — — — — — — — — — -INC — — — — [OPND] + [BP]

— — — — — — — — — -021B — FF 00 — — — — — — — — — — — — — — — — INC — — — — WORD PTR [BX +SI] — — — — — — База плюс индекс
— — — — — — — — — -021D — FF 03 — — — — — — — — — — — — — — — — INC — — — — WORD PTR [BP] +[DI]

— — — — — — — — — -021F — FF 81 0123 R — — — — — — — — — — — — — — -INC — — — — [OPND + BX + DI] — База +индекс + смещение
— — — — — — — — — -0223 — FF 82 0123 R — — — — — — — — — — — — — — -INC — — — — OPND[BP][SI]

— — — — — — — — — -0227 — — — — — — — — — — — — — — — — — CODE — — -ENDS
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — END

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — Фиг 3.2 Адресация операндов
— — — три — это — — — указатель базы — — — (Base Poiner — — BP), — индекс источника
— — — (Source Index — — SI) и индекс назначения (Destination — Index — DI).
— — — Программа -может — использовать — регистры -BP, — SI — и — DI в качестве
— — — 16-битовых операндов, но отдельные байты вних недоступны. Основное
— — — назначение — — — этих — — регистров — — поставлять — — 16-битовые -значения,
— — — используемые в формировании адресовоперандов.
— — — — — Каждая команда в 8088 задает длявыполнения некоторую операцию.
— — — Разные операции — могут иметь от — нуля додвух — операндов. Например,
— — — команде -разрешения — прерываний — Set -Interrupt — (STI) — операнды не
— — — нужны. Команда увеличения (INC) — требует, чтобы программист опреде-
— — — лил -один опе
ранд, — — регистр — или ячейку -памяти, — который должен
— — — быть увеличен — на еденицу. Команда ADD -(сложение) должна иметь два
— — — операнда — — — — складываемыевеличины. Некоторые — команды неявнозадают
— — — расположение операнда, но большинствокоманд позволяют программисту
— — — выбирать -в качестве — операнда регистр — или ячейку — — — — — памяти.Если — в
— — — качестве операнда — выбран регистр, то — программисту остается только
— — — указать его имя. Для указания же вкачестве операнда участка памяти
— — — у вас есть много различных способов.
— — — — — Хорошим -примером служит — команда INC. — — — Она имеет -единственный
— — — операнд. -На Фиг. — 3.2 изображен — листинг ассемблера — с несколькими
— — — различными вариантами — команды INC. Первая — команда INC называет — в
— — — качестве операнда регистр BX.Заметим, — что в поле операндов в этом
— — — случае кроме BX ничего нет. Остальныекоманды в примере указывают в
— — — качестве операнда ячеку памяти. И — хотя в них иногда появляется имя
— — — регистра BX, — он не является здесь — — — самимоперандом, а используется
— — — для определения его адреса.

Категория: Программирование на Ассемблере | Дата: 21.02.13

Меню раздела
Блок