Ввод 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

Объяснение кода листинга программы

В данном коде выполняется следующая последовательность действий:

  1. Установка модели памяти в tiny с помощью команды .model.
  2. Определение кода с помощью команды .code.
  3. Установка сегментного смещения на 100h с помощью команды org 100h.
  4. Определение точки входа в программу с помощью команды Start:.
  5. Установка счётчика циклов на 5 с помощью команды mov cx, 5.
  6. Определение процедуры ожидания нажатия клавиши с помощью команды Wait_key:.
  7. Передача в качестве параметра в функцию int 21h регистеру ah значение 01h с помощью команды mov ah, 01h.
  8. Вызов функции int 21h.
  9. Установка условия для цикла while в значение истины с помощью команды loop Wait_key.
  10. Вызов функции int 20h.
  11. Конец программы.

Оцени полезность:

14   голосов , оценка 4.143 из 5
Похожие ответы