> инвертирует регистр прописных в заглавные. Игнорирует заглавные и побочные символы.
То есть, не должна вообще изменять текст. А ваша программа меняет строчные латинские буквы на прописные латинские.
На всякий случай: Прописная буква.
Программа, собранная из трёх ваших фрагментов, написанных, кстати, для разных ассемблеров, с необходимыми правками. Компилятор MASM.
.model tiny
.386
.code
org 100h
start:
mov ax,3D02h
mov dx,offset file_name
int 21h
jnc @F
call error_msg
jmp exit
@@:
mov bx,ax
mov ah,3Fh
mov dx,offset buffer
mov cx,8000h
int 21h
jnc @F
call error_msg
jmp close_file
@@:
lea si,buffer
mov cx,ax
mov f_size,ax
m1:
lodsb
push cx
mov cx,26
lea di,tab
repne scasb
jnz short m2
and al,11011111b
mov [si-1],al
m2:
pop cx
loop m1
mov ax,4200h
xor cx,cx
mov dx,cx
int 21h
jnc save_file
jmp exit
save_file:
mov ah,40h
mov cx,[f_size]
mov dx,offset buffer
int 21h
jnc close_file
call error_msg
jmp exit
close_file:
mov ah,3Eh
int 21h
jnc exit
call error_msg
exit:
ret
error_msg:
mov ah,9
mov dx,offset s_error
int 21h
mov ah,9
mov dx,offset s_pak
int 21h
xor ah,ah
int 16h
ret
file_name db 'text.txt',0
s_error db 'Ошибка при выполнении операции с файлом$'
s_pak db 10,'Press any key...$'
tab db 'abcdefghijklmnopqrstuvwxyz'
f_size dw ?
buffer equ $
end start
P.S. Обрабатываемый текст должен находится в файле text.txt в одном каталоге с программой. Размер файла ограничен 32 килобайтами. Файл длиннее будет усечён до этой величины.
В случае ошибки дисковых операций в консоль выводится сообщение без расшифровки ошибки.
Другие языки программирования и технологии
Прошу помощи добить файловый in-out для готовой проги. Ассемблер
Похожие вопросы
- Паскаль ABC (нач. курс) прошу помощи, прога внутри и вопрос
- нужна помощь. найти сумму квадратов чётных элементов на языке ассемблер используя арифметические команды
- Вводится последовательность чисел, 0 – конец последовательности. Найти два наибольших числа (VB) прошу помощи
- Прошу помощи у понимающих в программировании людей
- Прошу помощи в Turbo pASCAL.
- Очень прошу помощи
- Проблема с дисководом (прошу помощи)
- Для тех кто знает c++ прошу помощи...
- Прошу помощи с заданиями по С++, помогите написать программки.
- Прошу помощи. нужно что бы при запуске программы, к примеру Опера, система спрашивала пароль, как это можно сделать?