Ввод массива с клавиатуры и вывод - Assembler

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Объявил массив
mas db 4 dup(?)
делаю ввод с клавиатуры:
mov cx,5
xor si,si
c11:
MOV AH,1H
INT 21H
sub al,30h
mov mas[si],al
inc si
loop c11
и вывод:
mov cx,5
xor si,si
c12:
mov ah,02h
mov dl,mas[si]
add dl,30h
int 21h
inc si
loop c12
При вводе вводится 2-3 элемент массива и вылетает, при выводе просит ввод опять же 2-3 символа и закрывается место того чтоб вывести. Подскажите что не так делаю

Решение задачи: «Ввод массива с клавиатуры и вывод»

textual
Листинг программы
     m2:    mov cx,10
            xor ax,ax
            xor si,si
            c1:
                MOV AH,01H
                INT 21H
                mov mas[si],al
                inc si
            loop c1
            mov cx,10
            xor ax,ax
            xor si,si
            c2:
                mov dl,mas[si]
                mov ah,02h
                int 21h
                inc si
            loop c2

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

Выполняемый файл программы, предположительно, на языке Assembler, вводит массив из 10 чисел с клавиатуры и выводит его на экран. Список операций, которые выполняются в коде:

  1. mov cx,10 - установка счётчика циклов на 10.
  2. xor ax,ax — очистка регистра ax.
  3. xor si,si — очистка регистра si.
  4. c1: — начало цикла.
  5. mov AH,01H — подготовка команды ввода числа.
  6. INT 21H — ввод числа с клавиатуры в регистр al.
  7. mov mas[si],al — сохранение введённого числа в массиве по адресу si.
  8. inc si — увеличение индекса на единицу.
  9. loop c1 — повторение цикла.
  10. mov cx,10 - установка счётчика циклов на 10.
  11. xor ax,ax — очистка регистра ax.
  12. xor si,si — очистка регистра si.
  13. c2: — начало цикла.
  14. mov dl,mas[si] — подготовка команды вывода числа.
  15. mov ah,02h — подготовка команды вывода числа.
  16. int 21H — вывод числа с клавиатуры в регистр dl.
  17. inc si — увеличение индекса на единицу.
  18. loop c2 - повторение цикла.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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