Ввести символы '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!).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д