Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1_FASM_Команды_МП.doc
Скачиваний:
17
Добавлен:
03.06.2015
Размер:
353.79 Кб
Скачать

7. Задания для самостоятельной работы

Требуется разработать программу в EXE или COM формате. Выполните запуск программы обычным путем для 32х разрядной операционной системе и выполните запуск программы через эмулятор.

Вариант №1. Написать программу для замены первого и последнего символа строки из 10 байтов на символ ‘#’. Вывести на экран исходную строку и преобразованную. Формат программы «COM».

Вариант №2. Написать программу для обмена местами первого и последнего байта строки из 10 символов. Вывести исходную строку и преобразованную. Формат программы «ЕХЕ».

Вариант №3. Написать программу для сравнения двух строки из 10 байтов. Известно, что строки различаются одним байтом. Вывести на экран значение байта. Формат программы «COM».

Вариант №4. Написать программу, которая проверяет нахождение в строке байтов символа «А». Вывести контрольные сообщения. Формат программы «ЕХЕ».

Вариант №5. Задать две строки. Переслать содержимое второй строки в первую. Вывести строки до перезаписи и после. Формат программы «COM».

Вариант №6. Написать программу для замены символов строки на произвольный символ. Вывести исходную строку и преобразованную. Формат программы «EXE».

Вариант №7. Написать программу для замены первой половины символов строки на произвольный символ. Использовать косвенную адресацию со смещением. Вывести исходную строку и преобразованную. Формат программы «COM».

Вариант №8. Написать программу для замены символов строки на произвольный символ. Использовать индексную адресацию. Вывести исходную строку и преобразованную. Формат программы «ЕХЕ».

Вариант №9. Написать программу для замены второй половины строки на произвольный символ. Использовать индексную адресацию со смещением. Вывести исходную строку и преобразованную. Формат программы «COM».

Вариант №10. Известно, что две строки одинаковой длины имеют общий байт. Написать программу, которая выводит значение этого байта на экран. Формат программы «ЕХЕ».

Вариант №11. Задать строку из 10 байтов. Заменить каждый второй байт символом ‘*’. Вывести исходную строку и преобразованную. Формат программы «COM».

Вариант №12. Задать строку, число байтов четно. Выделить из строки первую часть и вторую. Полученные строки вывести на экран. Формат программы «ЕХЕ».

Вариант №13. Задать строку. Вывести на экран значение первого и предпоследнего байтов. Формат программы «COM».

Вариант №14. Задать строку. Число символов четно. В строку поместить код ‘*’. Разделить строку на две по разделителю. Вывести строки на экран. Формат программы «ЕХЕ».

Вариант №15. Дана строка из 7 символов. Выделить из строки каждый второй байт. Значение байтов выводить на экран. Формат программы «COM».

Приложения

Приложение № 1. Некоторые функции системного прерывания 21h Организация ввода с клавиатуры

Функция 01h – ввод символа с эхом.

Вызов: AH=01h

Возврат: AL=байт входных данных.

07h – Ввод символа без эха и без обработки ^+C.

08h – Ввод символа без эха с обработкой ^+C.

Организация вывода

Для вывода на экран одного символа служит функция 02h.

Обращение:

AH=02h

DL=байт данных.

Для вывода последовательности символов служить функция 09h.

Вызов:

AH=09h

DS:DX=адрес выводимой строки.

Последний байт выводимой строки должен хранить код символа ‘$’.

Для формирования строк нужно включать управляющие коды 0Ah(10) и 0Dh(13).

Пример:

mes db ‘Пример многострогчного’,0ah,0dh

db ‘текста на экране’,’$’

Функция 40h.

Служит для вывода заданного количества байтов на требуемое устройство. Для идентификации устройств используются дескрипторы.

При выводе информации на экран служит дескриптор 1.

Вызов:

AH=40h

BX=дескриптор.

CX=количество выводимых байтов.

DS:DX=адрес выводимой строки.

При работе с многострочным текстом можно использовать счетчик текущего адреса для определения количества выводимых байтов.

Пример:

mes db ‘Пример многострочного’,0ah,0dh

db ‘текста на экране’

actlen=$-mes

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]