Сохранение введенного символа - Assembler
Формулировка задачи:
можно ли как-нибудь взять отсюда введенный знак(я имею ввиду на каком моменте введенный символ и где будет сохранен?)?
или есть ли какие-нибудь функции, чтобы введенный символ был явно в каком-либо регистре/стеке
push cx mov cx,ax mov ah,0Ah mov [buffer],al mov byte[buffer+1],0 mov dx,buffer int 21h mov al,[buffer+1] mov ah,ch pop cx ret
Решение задачи: «Сохранение введенного символа»
textual
Листинг программы
MOV AH,1 ; ввод с эхо средствами DOS INT 21h ; символ в AL MOV AH,0 ; ввод без эхо средствами BIOS INT 16h ; символ в AL MOV SI,buff ; SI указывает на адрес строки в памяти LODSB ; символ в AL
Объяснение кода листинга программы
- MOV AH,1 — устанавливает значение регистра AH равным 1, используется для ввода с эхо средствами DOS.
- INT 21h — выполняет ввод с эхо средствами DOS, символ вводится в регистр AL.
- MOV AH,0 — устанавливает значение регистра AH равным 0, используется для ввода без эхо средствами BIOS.
- INT 16h — выполняет ввод без эхо средствами BIOS, символ вводится в регистр AL.
- MOV SI,buff — устанавливает значение регистра SI равным адресу строки в памяти, куда будет записан символ.
- LODSB — выполняет ввод одного символа из стандартного ввода в регистр AL и обновляет регистр SI для указания следующего байта в строке.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д