Ввод 5 символов с использованием цикла - Assembler
Формулировка задачи:
Нужно написать программу на машинном языке с помощью 01h функции в обработчике прерываний int 21h.
У меня получается либо бесконечный цикл либо dosbox просто вылетает
Что я упускаю?
B4 01 CD 21 E2 FE B4 4C CD 21
Решение задачи: «Ввод 5 символов с использованием цикла»
textual
Листинг программы
.model tiny .code org 100h Start: mov cx, 5 Wait_key: mov ah, 01h int 21h loop Wait_key int 20h end Start
Объяснение кода листинга программы
В данном коде выполняется следующая последовательность действий:
- Установка модели памяти в
tiny
с помощью команды .model. - Определение кода с помощью команды .code.
- Установка сегментного смещения на 100h с помощью команды org 100h.
- Определение точки входа в программу с помощью команды Start:.
- Установка счётчика циклов на 5 с помощью команды mov cx, 5.
- Определение процедуры ожидания нажатия клавиши с помощью команды Wait_key:.
- Передача в качестве параметра в функцию int 21h регистеру ah значение 01h с помощью команды mov ah, 01h.
- Вызов функции int 21h.
- Установка условия для цикла while в значение истины с помощью команды loop Wait_key.
- Вызов функции int 20h.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д