[emu8086] Являются ли буквы в строке упорядоченными по алфавиту - Assembler
Формулировка задачи:
1) Ввести строку, состоящую только из букв, и определить, являются ли буквы в
строке упорядоченными по алфавиту
Ни как не могу решить?
Решение задачи: «[emu8086] Являются ли буквы в строке упорядоченными по алфавиту»
textual
Листинг программы
@stack segment para stack db 1024 dup(?) @stack ends @data segment String db 80, ?, 81 dup(?) Prompt db 'Enter the string:', 0Dh, 0Ah, '$' MsgYes db 'YES', '$' MsgNo db 'NO', '$' 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 ;проверка условия - буквы упорядочены по алфавиту mov bx, 0 ;результат - пока NO mov cx, 0 mov cl, [String+1] jcxz @@NoOrder lea si, [String+2] mov ah, [si] inc si dec cx jcxz @@InOrder @@For: mov al, [si] cmp al, ah jb @@NoOrder mov ah, al inc si loop @@For @@InOrder: mov bx, 1 ;результат - YES @@NoOrder: mov ax, bx ;вывод результата cmp ax, 0 jz @@No @@Yes: mov ah, 09h lea dx, [MsgYes] int 21h jmp @@Exit @@No: mov ah, 09h lea dx, [MsgNo] int 21h @@Exit: ;завершение программы mov ax, 4C00h int 21h main endp @code ends end main
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д