
лабораторная работа / лабораторные работы по ASSAMBLER / lab3 вариант 10
.doc
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РФ
САРАТОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
БАЛАКОВСКИЙ ИНСТИТУТ ТЕХНИКИ, ТЕХНОЛОГИИ И УПРАВЛЕНИЯ
факультет: иженерно-строительный
кафедра: управление и информатика в технических системах
Лабораторная работа №3
по дисциплине: СПО
Вариант №10
Выполнил ст. гр. УИТ-32
Есипов С.В.
Принял:
Стельмах И.В.
2006 г.
Цель работы: ознакомление и изучение цепочных команд, используемых для обработки символьных данных.
Задание:
-
Определить символьную строку в области данных, соответствующую вашему имени и фамилии, чередуя строчные и прописные символы.
-
Составить алгоритм программы, выполняющей действия с символьной строкой согласно № варианта (см. табл.).
-
Написать программу на языке ассемблер, реализующей данный алгоритм.
-
Отладить и выполнить программу.
Задание:
10 |
Найти в строке символ ‘a’ и заменить его символом ‘# ’, а символ ‘o ‘ на ‘*’ |
Листинг программы:
DOSSEG
.MODEL small
.stack 100h
.data
strar DB 'EsiPov Sergei VasIleviCh (NewDracon)'
.code
mov ax,@data
mov ds,ax
mov cx,36
lea bx,strar
m1:
mov al,[bx]
cmp al,'a'
jne m2 ; если символ не “a”, то следующая проверка
mov ah,'#'
mov [bx],ah ; иначе замениять на “#”
m2:
cmp al,'o'
jne m3
mov ah,'*'
mov [bx],ah
m3:
inc bx
loop m1 ; конец цикла
mov ah,4ch
int 21h
END
Вывод:
Из окна Dump отладчика видно, что символы в памяти заменены согласно заданию, значит программа написана верно.