Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник по Микропроцессорам_МИА.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Вариант 7.

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

1. пять слов со значениями: 324Ah, 765Eh, AEF1h, 45CDh, 8685h;

2. цепочка символов 'толкнха';

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

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

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

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

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

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

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

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

Вариант 8.

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

1. шесть байт со значениями: 45h, 16h, 22h, 21h, 3Ch, F1h;

2. два слова со значениями: АА33h, 44F4h;

3. цепочка символов 'ТАПЕМХСК';

4. три байта без инициализации и один со значением '$'.

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

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

2. из второго слова последовательности (2) вычитает третье слово последовательности (1), старший байт результата уменьшенный на величину 50h записывает во второй байт последовательности (4);

3. первое слово последовательности (1) складывает со вторым словом последовательности (2), от младшего байта полученного результата вычитается значение 32h и результат записывается в третий байт последовательности (4), старший байт результата уменьшенный на 56h заносится в первый байт последовательности (4).

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

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

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

Вариант 9.

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

1. четыре слова со значениями: 1245h, FAC1h, 12C1h, 45C6h;

2. три байта со значениями 35h, 33h, F4h

3. цепочка символов 'таэпомхшк';

4. три байта без инициализации и один со значением '$'.

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

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

2. складывает первое и третье слова последовательности (1) , младший байт результата записывает во второй байт последовательности (4), старший байт результата уменьшенный на 23h заносит в первый байт последовательности (4);

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

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

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

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