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, ' '
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