Добавил:
@requali Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АбрамоваИванов0392_Пр2.pdf
Скачиваний:
4
Добавлен:
08.09.2024
Размер:
64.46 Кб
Скачать

2. Разработка программы.

Разработаем программу, ввода строковых данных с клавиатуры. В веденной строке удалим пробелы, а все строчные символы «а» заменим на прописные «А» и выведем результирующую строку на экран.

2.1. Написание кода

Для создания файла воспользуемся командой echo:

CMD>> echo pract2 > pract2.asm

Теперь в созданном файле (F4) впишем код ввода строковых данных с клавиатуры. В

веденной строке удалить пробелы, а все строчные символы «а» заменим на прописные

«А», результат выводится к консоль.

CODE SEGMENT

ASSUME CS:CODE, DS:CODE, SS:CODE

ORG 100H

START:

XOR AX, AX

MOV AH, 0AH

LEA DX, BUFFER

INT 21H

MOV AL, [BUFFER+1]

TEST AL, AL

JZ EXIT

XOR CX, CX

MOV CL, AL

LEA SI, BUFFER+2

MOV DI, SI

LEA BX, [BUFFER+1]

MOV [BX], BYTE PTR 0

CYCLE: ; проверяем символ

MOV AL, [SI]

CMP AL, ' '

4

JE SKIP

CMP AL, 'a'

JNE PUT

ADD AL, 'A''a'

PUT:

; вставка символа

MOV [DI], AL

 

INC DI

 

ADD [BX], BYTE PTR 1

 

SKIP:

; удаление пробела

INC SI

 

LOOP CYCLE

 

MOV [DI], BYTE PTR '$'

 

MOV AH, 09H

 

LEA DX, NL

 

INT 21H

 

MOV AH, 09H

 

LEA DX, BUFFER+2

 

INT 21H

 

EXIT:

 

MOV AH, 4CH

 

INT 21H

 

BUFFER DB 128, 128 DUP('$')

 

NL DB 0AH, 0AH, 0DH, '$'

 

CODE ENDS

 

END START

 

 

 

2.2. Создание исполняемого .com файла

Воспользуемся методикой из Пр1:

CMD>> masm pract2.asm

CMD>> link pract2.obj

CMD>> exetobin pract2.exe pract2.com

5