Найти частоту использования букв в тексте - Assembler
Формулировка задачи:
Доброго времени суток!
Нужна помощь с написанием программы. Её задача заключается в том, чтобы подсчитать частоту потребления букв в введённом тексте ASCII-формата.
Я примерно понимаю, что она должна делать(обработать текст, проверить каждый символ на букву, если буква, то увеличить счётчик, а по окончанию вывести его на кран), а вот как реализовать всю эту жуть на ассемблере - в этом и заключается весь траббль.
Решение задачи: «Найти частоту использования букв в тексте»
textual
Листинг программы
; fasm code..... org 100h ; делаем com-файл jmp start ; mes0 db 13,10,' Введите массив: $' mes1 db 13,10,' Букв в массиве: $' start: mov ah,9 ; запрос на ввод mov dx,mes0 ; int 21h ; xor cx,cx ; очищаем счётчик найденых mov ah,1 ; ввод с эхо средствами DOS save: int 21h ; cmp al,13 ; Enter - закончить ввод! je next ; cmp al,'A' ; пропустить, если меньше заглавной(А) jb digit ; cmp al,'z' ; пропустить, если больше прописной(z) ja digit ; inc cx ; остальные считаем (СХ+1) digit: jmp save ; сл.символ с клавы.. next: push cx ; запомним счётчик в стеке mov ah,9 ; выводим сообщение mov dx,mes1 ; int 21h ; pop ax ; АХ = счётчик со-стека aam ; переводим его в распакованное/десятичное (BCD) add ax,3030h ; делаем из BCD, символы ASCII xchg ah,al ; меняем их местами int 29h ; выводим на экран первую цифру (разряд числа) xchg ah,al ; int 29h ; ..и следом вторую. exit: xor ax,ax ; ждём клавишу.. int 16h ; int 20h ; на выход!
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д