Вывод символов на четных позициях, введенных с клавиатуры - Assembler
Формулировка задачи:
Разработать программу, ввода строковых данных с клавиатуры. Ввести с клавиатуры строку из 10 символов и вывести введенные символы на четных позициях в обратном порядке по одному символу в строке.
Решение задачи: «Вывод символов на четных позициях, введенных с клавиатуры»
textual
Листинг программы
- mov ah,0Ah
- lea dx,msg
- int 21h
- std
- xor ch,ch
- mov cl,byte ptr [msg+1]
- mov bx,cx
- lea si,[msg+1+bx]
- show:
- mov ah,02h
- mov dl,0Ah
- int 21h
- mov ah,02h
- mov dl,0Dh
- int 21h
- lodsb
- int 29h
- loop show
Объяснение кода листинга программы
- Устанавливаем код сегмента регистра AH равным 0Ah.
- Создаем косвенную адресную ссылку на строку в памяти, используя регистры DX и BX.
- Выводим на экран символ, используя регистры AH=02 и DL=0Ah.
- Выводим на экран символ, используя регистры AH=02 и DL=0Dh.
- Загружаем в регистр AL байт из памяти по адресу, используя SCASB.
- Выполняем выход из цикла при достижении конца строки.
- Повторяем шаги с 3 по 6 для каждого символа в строке.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д