Лекции.Орг

Поиск:


Устал с поисками информации? Мы тебе поможем!

Косвенная базовая индексная адресация со смещением




Адрес операнда вычисляется как сумма содержимого одного из базовых регистров BX или BP, одного из индексных регистров SI или DI и 8- или 16-разрядного смещения.

Примеры:

mov al,[bp][di+5]

mov bl,[array2+bx+si]

E[BX+5][SI-2]; DATA[BX][SI]; [BX+2][SI]

 


Примеры решения задач:

;программа, использующая косвенную индексную адресацию

;программа обнуления ячеек массива

s_s segment stack "stack"

dw 12 dup(?)

s_s ends

d_s segment

aa db 11,1,2,3,4,5,6,7,8,9 ;массив чисел

d_s ends

c_s segment

assume ss:s_s,ds:d_s,cs:c_s;

begin: mov ax,d_s

mov ds,ax;

mov cx, 10 ;задание количества ячеек массива

mov si,0 ;задание номера первого элемента массива

L1: mov aa[si],0 ; обнуление si-того элемента массива

inc si ; переход к следующему элементу массива

loop L1 ; команда зацикливания

mov ah,4ch

int 21h

c_s ends

end begin


Задание на практическую работу:

1. Реализация программы, использующей различные режимы адресации:

  1. Составить программу согласно условию:

В сегменте данных задана последовательность чисел X: 0, 1, 2, 3, 5, 6, 10. Скопировать ее в последовательность Y, при этом увеличив каждый из элементов на 2.

  1. Транслировать ассемблерный код. В случае нахождения ошибок – устранить их и повторить трансляцию.
  2. Скомпоновать программу редактором связей.
  3. Запустить программу в отладчике, в случае обнаружения ошибок в работе программы исправить их, повторить п.п.2, 3
  4. Показать работу программы преподавателю.

 

2. Реализация программы, использующей различные режимы адресации:

  1. Узнать у преподавателя вариант работы.
  2. Составить программу согласно условию и варианту (таблица 6.1):

В сегменте данных определен массив символов (строка). Выполнить заданное действие согласно заданному условию. Вывести на экран исходный и преобразованный массив.

Символы содержатся в памяти как числа (см. приложение «ASCII коды»). Таким образом, к символам применимы все те операнды и условия, что и для чисел.

Для определения нижней границы массива (или количества элементов массива) можно использовать команду LEA для определения адреса следующей переменной сегмента данных.

  1. Транслировать ассемблерный код. В случае нахождения ошибок – устранить их и повторить трансляцию.
  2. Скомпоновать программу редактором связей.
  3. Запустить программу в консольном режиме, в случае обнаружения ошибок в работе программы исправить их, повторить п.п.2,3
  4. Показать работу программы преподавателю

Таблица 6.1 - данные для реализации согласно варианту

Вариант Исходная сторока Условие Действие
I like read this book! = « » заменить на «_»
I like read this book! > “i” заменить на «*»
I like read this book! >= “i“ заменить на «!»
I like read this book! < “p” увеличить код символа на 5
My favorite film is … <= “m” увеличить код символа на 2
My favorite film is … ≠ “i” увеличить код символа на 1
My favorite film is … = «i» уменьшить код символа на 5
My favorite film is … > “o” уменьшить код символа на 3
I understand this problem. >= “ “ уменьшить код символа на 1
I understand this problem. < “e” заменить на «_»

 

3. Реализация программы, использующей различные режимы адресации:

  1. Составить программу согласно условию:

Задан массив чисел. Определить есть ли в нём число 10.

Массив заполнить произвольными данными.

  1. Транслировать ассемблерный код. В случае нахождения ошибок – устранить их и повторить трансляцию.
  2. Скомпоновать программу редактором связей.
  3. Запустить программу в отладчике, в случае обнаружения ошибок в работе программы исправить их, повторить п.п.2, 3
  4. Показать работу программы преподавателю.

 

4. Реализация программы, использующей различные режимы адресации:

  1. Составить программу согласно условию:

Задана строка символов, содержащая также символы «!». Вывести её на экран исходную строку и ее же, но без знаков «!»

  1. Транслировать ассемблерный код. В случае нахождения ошибок – устранить их и повторить трансляцию.
  2. Скомпоновать программу редактором связей.
  3. Запустить программу в консольном режиме, в случае обнаружения ошибок в работе программы исправить их, повторить п.п.2,3
  4. Показать работу программы преподавателю

 

 

Содержание отчета по практической работе:

1. Титульный лист

2. Цель работы

3. Краткие теоретические сведения

4. Описание реализованных программ

5. Исходный ассемблерный код реализованных программ

6. Входные и выходные данные по программе.

7. Выводы по практической работе.






Дата добавления: 2015-09-20; Мы поможем в написании ваших работ!; просмотров: 414 | Нарушение авторских прав | Изречения для студентов


Читайте также:

Поиск на сайте:

Рекомендуемый контект:





© 2015-2021 lektsii.org - Контакты - Последнее добавление

Ген: 0.004 с.