Я пытаюсь добавить от 1 до 10 с помощью сборки, и мне нужно использовать регистр DI - PullRequest
0 голосов
/ 05 мая 2020

Не знаю, можно ли спрашивать здесь свой отчет. В моем классе системного программирования я использую эмулятор dos box 0.74.

   MAIN SEGMENT
   ASSUME CS:MAIN, DS:MAIN
   MOV AX, CS
   MOV DS, AX
   TABLE DB 1
   DB 2
   DB 3
   DB 4
   DB 5
   DB 6
   DB 7
   DB 8
   DB 9
   DB 10
   LOOP1: MOV DI, 0;
   MOV AL, TABLE[DI];
   INC DI
   CMP DI, 9
   JBE LOOP1;
   MOV SUM, AL

   MOV AH, 4CH
   INT 21H

   SUM DB ?
  MAIN ENDS
   END

Это мой код. А его сборка f ie. Ссылка в порядке. но exe не отвечает. Я не знаю, что происходит.

1 Ответ

1 голос
/ 05 мая 2020

У вас бесконечное l oop. Вы устанавливаете DI обратно в ноль в вашем l oop, поэтому он всегда равен 0. Переместите инструкцию, которая инициализирует DI, до метки LOOP1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...