Заменить строчные буквы на прописные, цифры повторить дважды - Assembler
Формулировка задачи:
Распечатайте введенную строку. В данной строке нужно заменить строчные буквы на прописные и повторить каждый цифр дважды. Все это нужно написать Ассемблере, помогите пожалуйста
Решение задачи: «Заменить строчные буквы на прописные, цифры повторить дважды»
textual
Листинг программы
@stack segment para stack db 1024 dup(?) @stack ends @data segment String db 80, ?, 81 dup(?) Prompt db 'Enter the string:', 0Dh, 0Ah, '$' CrLf db 0Dh, 0Ah, '$' @data ends @code segment assume cs:@code, ds:@data, ss:@stack main proc ;инициализация сегментного регистра данных mov ax, @data mov ds, ax ;ввод строки mov ah, 09h lea dx, [Prompt] int 21h mov ah, 0Ah lea dx, [String] int 21h mov ah, 09h lea dx, [CrLf] int 21h ;вывод строки на экран одновременно с обработкой символов lea si, [String+1] mov cx, 0 mov cl, [si] inc si @@For: mov al, [si] inc si cmp al, 'a' jb @@ShowChar cmp al, 'z' ja @@ShowChar ;замена строчной латинской буквы на прописную add al, 'A'-'a' @@ShowChar: mov ah, 02h mov dl, al int 21h cmp al, '0' jb @@Next cmp al, '9' ja @@Next ;если это цифра - дополнительно вывести её на экран mov ah, 02h mov dl, al int 21h @@Next: loop @@For ;перевод строки mov ah, 09h lea dx, [CrLf] int 21h ;завершение программы mov ax, 4C00h int 21h main endp @code ends end main
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д