Обнуления массива слов - Assembler
Формулировка задачи:
Задание такое:
Написать программу обнуления массива слов длинною 100 элементов, используя все возможные режимы адресации.
Написал код:
Подскажите, пожалуйста, правильно ли я написал код? И почему когда я в dos-box'е tlink этого кода то выбивает Warning: No stack?
Листинг программы
- data segment
- massiv dw 1,-2,3,4,5,6,7,8,9
- data ends
- code segment
- assume es:data, cs:code
- start:
- push ds
- pop es
- lea di,massiv
- xor ax,ax
- mov ax,3
- int 10h
- code ends
- end start
Решение задачи: «Обнуления массива слов»
textual
Листинг программы
- mov al, [si]
- cbw
- call OutInt
Объяснение кода листинга программы
- Переменная
si
содержит смещение в памяти, где хранится значение, которое нужно обнулить. - Команда
mov al, [si]
загружает это значение в регистрal
. - Затем команда
cbw
переносит значение из регистраal
в регистрbx
. - И наконец, команда
call OutInt
вызывает функциюOutInt
, которая выводит значение регистраbx
на экран. - В результате выполнения этого кода, значение, хранящееся по указанному смещению в памяти, будет обнулено и выведено на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д