Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка1-4.doc
Скачиваний:
23
Добавлен:
01.09.2019
Размер:
306.18 Кб
Скачать
    1. . Индивидуальные задания Вариант 1.

Написать программу, в которой в сегменте данных резервируются:

  1. Пять слов со значениями: 2516Н, 630Н, 1841Н, 3345Н, 123Н.

  2. Цепочка символов “кмпотхд”.

  3. Три байта без инициализации и один со значением ‘$’.

Программа выполняет следующие действия:

  1. Инициализирует сегмент регистр DS.

  2. Из первого слова последовательности (1) вычитает третье слово этой

последовательности, а результат складывает со вторым словом.

  1. Младший байт полученного результата записывается в первый байт последовательности (3), от старшего байта результата вычитается значение 10н, полученное значение заносится во второй байт последовательности (3). В третий байт этой последовательности заносится инкрементированное значение младшего байта результата, полученного в п.2.

  2. В регистр SI заносится значение адреса последовательности (2), в регистр ВХ – значение адреса (3), затем осуществляется обмен содержимым этих регистров.

  3. Используя адрес, хранящийся в SI (косвенную адресацию), три байта последовательности (3) перекодировать, в качестве таблицы перекодировки взять последовательность символов (2).

  4. Перекодированную последовательность вывести на экран, а результат наблюдать в отладчике в альтернативном окне. Вывод на экран строки символов см. приложении.

Вариант 2.

Написать программу, в которой в сегменте данных резервируются:

  1. Пять слов со значениями: 2499Н, 2106Н, 333Н, 1821Н, 3СВ6Н.

  2. Цепочка символов “кмпотхд”.

  3. Три байта без инициализации и один со значением ‘$’.

В программе необходимо предусмотреть выполнение следующих действий:

  1. Инициализирует сегмент регистр DS.

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

  3. Младший байт полученного результата записывается в третий байт последовательности (3), старший байт результата инкрементировать и результата занести в первый байт последовательности (3). Во второй байт этой последовательности заносится декремент значения младшего байта, полученного в п.2.

  4. В регистр DI заносится значение адреса последовательности (2), в регистр BX – значение адреса (3), затем осуществляется обмен содержимым этих регистров.

  5. Используя адрес, хранящийся в SI (косвенную адресацию), три байта последовательности (3) перекодировать, в качестве таблицы перекодировки взять последовательность символов (2).

  6. Перекодированную последовательность вывести на экран, а результат наблюдать в отладчике в альтернативном окне. Вывод на экран строки символов см. в приложении.

Вариант 3.

Написать программу, в которой в сегменте данных резервируются:

  1. Пять слов со значениями: 1389Н, 2145Н, 326Н, 2821Н, 2265Н.

  2. Цепочка символов “кмпотхд”.

  3. Три байта без инициализации и один со значением ‘$’.

В программе необходимо предусмотреть выполнение следующих действий:

  1. Инициализирует сегмент регистр DS.

  2. К второму слову последовательности (1) прибавить третье слово этой последовательности, а из результата вычесть пятое слово.

  3. Младший байт полученного результата записывается в третий байт последовательности (3), из старшего байта результата вычитается значение 2 и результат заносится в первый байт последовательности (3). Во второй байт этой последовательности заносится уменьшенное на 3 значение младшего байта результата, полученного в п.2.

  4. В регистр DI заносится значение адреса последовательности (2), в регистр BX – значение адреса (3), затем осуществляется обмен содержимым этих регистров.

  5. Используя адрес, хранящийся в SI (косвенную адресацию), три байта последовательности (3) перекодировать, в качестве таблицы перекодировки взять последовательность символов (2).

  6. Перекодированную последовательность вывести на экран, а результат наблюдать в отладчике в альтернативном окне. Вывод на экран строки символов см. в приложении.