Ввести символы 'I' или 'P', вывести результат - Assembler
Формулировка задачи:
Программа предлагает ввести символы 'I' или 'P'. При введении символа 'I' - выводит на экран ваше имя. При введении символа 'P' - выводит вашу фамилию. После этого программа завершается. В случае введения другого символа - выводит сообщение об ошибке и предлагает ввести символ еще раз.
Решение задачи: «Ввести символы 'I' или 'P', вывести результат»
textual
Листинг программы
.model small .386 .data n db 'Ivan$' f db 'Ivanov$' e db 'Error!$' .code start: mov ax,@data mov ds,ax input: mov ah,08h int 21h cmp al,'I' je pName cmp al,'P' je pFam mov ah,09h lea dx,e int 21h jmp input pName: mov ah,09h lea dx,n int 21h jmp exit pFam: mov ah,09h lea dx,f int 21h exit: mov ah,4Ch mov al,00h int 21h end start
Объяснение кода листинга программы
- В первой строке кода указывается модель сегментной памяти, в данном случае — small, что означает 16-битный режим.
- Вторая строка кода — это определение сегмента, в котором будет располагаться код программы (cs), и сегмента данных (ds).
- Далее идёт объявление переменных: n, f, e. Значения переменных можно увидеть в кавычках после объявления.
- После объявления переменных начинается код программы.
- Первая команда в коде перемещает указатель на сегмент данных в регистр ds.
- Вторая команда в коде является циклом, который продолжается до тех пор, пока не будет введено 'I' или 'P'.
- Если введено 'I', то выполняется блок кода с комментарием
pName
, иначе выполняется блок кода с комментариемpFam
. - В блоке
pName
выводится на экран строка, которая была обозначена как n (Иван). - В блоке
pFam
выводится на экран строка, которая была обозначена как f (Иванов). - Если введено что-то другое, выводится сообщение об ошибке (строка e — Error!).
- Цикл продолжается до тех пор, пока не будет введено 'I' или 'P'.
- В конце программы выводится сообщение об успешном завершении работы программы (00h — Ok!).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д