Обнуления массива слов - Assembler

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

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

Задание такое: Написать программу обнуления массива слов длинною 100 элементов, используя все возможные режимы адресации. Написал код:
Листинг программы
  1. data segment
  2. massiv dw 1,-2,3,4,5,6,7,8,9
  3. data ends
  4. code segment
  5. assume es:data, cs:code
  6. start:
  7. push ds
  8. pop es
  9. lea di,massiv
  10. xor ax,ax
  11. mov ax,3
  12. int 10h
  13. code ends
  14. end start
Подскажите, пожалуйста, правильно ли я написал код? И почему когда я в dos-box'е tlink этого кода то выбивает Warning: No stack?

Решение задачи: «Обнуления массива слов»

textual
Листинг программы
  1. mov al, [si]
  2. cbw
  3. call OutInt

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

  1. Переменная si содержит смещение в памяти, где хранится значение, которое нужно обнулить.
  2. Команда mov al, [si] загружает это значение в регистр al.
  3. Затем команда cbw переносит значение из регистра al в регистр bx.
  4. И наконец, команда call OutInt вызывает функцию OutInt, которая выводит значение регистра bx на экран.
  5. В результате выполнения этого кода, значение, хранящееся по указанному смещению в памяти, будет обнулено и выведено на экран.

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


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

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

7   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы