Тема : « Составление asm-модулей с вводом/выводом строк ».
Краткая аннотация : данная работа посвящена составлению ассемблерных модулей, предназначенных для выполнения операций ввода/вывода строк текста на экран.
Студент должен научиться составлять ассемблерные модули, в которых те или иные действия завершаются выводом соответствующего результата на экран.
Приобретенный в ходе выполнения работы опыт должен позволить в последующем ориентироваться в решении задач, так или иначе связанных с выводом информации на экран.
ЦЕЛЬ : Приобретение навыков составления ассемблерных модулей, предназначенных для выполнения операций:
знакомство с приёмами обработки введённой с клавиатуры строки;
Студент должен освоить приёмы использования функций ввода/вывода строк.
Приобретенный в ходе выполнения работы опыт должен позволить в последующем ориентироваться в листингах ассемблерных модулей.
Вывод строки на экран монитора осуществляется с помощью 9 -ой функции прерывания 21h операционной системы MS DOS.
В регистре DX задаётся адрес выводимой строки . Ограничителем символов выводимой строки является знак $ (ASCII-код знака $ равен 24h ).
В регистре AH задаётся номер функции прерывания 21h : 9 -ая функция .
Ниже представлен листинг программы (ассемблерного модуля), предназначенного для вывода строки текста на экран.
Ввод строки с клавиатуры осуществляется с помощью 10-ой функции прерывания 21h операционной системы MS DOS.
В регистре DX задаётся адрес буфера вводимой строки . Ограничитель количества вводимых с клавиатуры символов строки вносится в первую ячейку буфера.
Количество вводимых с клавиатуры символов на 1 меньше значения ограничителя.
В регистре AH задаётся номер функции прерывания 21h : 10-ая функция .
Ниже представлен листинг программы (ассемблерного модуля), предназначенной для ввода строки с клавиатуры.
Ввод строки с клавиатуры и вывод обработанной строки на экран:
Запросить имя. Ввести это имя. Вывести именное приветствие.
Ниже представлен листинг программы (ассемблерного модуля), предназначенного для решения поставленной задачи.
Изучить содержание лабораторной работы ( в часы самоподготовки ).
Повторить выполнение рассмотренных примеров ( в часы самоподготовки ).
Составить ассемблерные модули для решения следующих задач:
1. Абель П. Язык ассемблера для IBM PC и программирования. - М.: Высшая школа, 1992.- 447 с.
2. Лямин Л.В. Макроассемблер MASM . - М.: Радио и связь, 1994.- 320 с.
3. Нортон П., Соухэ Д. Язык ассемблера для IBM PC. – М.: "Компьютер", Финансы и статистика, 1992. –352 с.
4. Сван Т. Освоение Turbo Assembler . – Киев: "Диалектика", 1996.
6. Юров В., Хорошенко С. Assembler : учебный курс.-Санкт-Петербург: Питер, 1999. -672
7. Юров В. Assembler : Специальный справочник. – СПб: Питер, 2000.
8. Юров В. ASSEMBLER : практикум. (с дискетой).-Санкт-Петербург: Питер, 2002. -400
9. Юров В. Assembler : практикум – СПб: Питер, 2003.- 400 с.
10. Пирогов В.Ю. Ассемблер на примерах. - СПб.: БХВ-Петербург, 2005. - 416 с.
11. Пирогов В.Ю. Ассемблер для Windows . - 3-е изд. - СПб.: БХВ-Петербург, 2005. - 864 с.
12. Шнайдер О. Язык ассемблера для персонального компьютера фирмы IBM. Пер. с англ. под ред. Е.К.Масловского.-Москва: Мир, 1988. -405C.
13. Юров В.И. Assembler . Учебник для вузов. 2-ое изд. – СПб: Питер, 2005. - 637 с.
14. Использование Turbo Assembler при разработке программ. – Киев: "Диалектика", 1994. - 288 с.