Работа со строковыми командами. - Assembler
Формулировка задачи:
Помогите написать 2 программы на Ассемблере.
1) Написать программу обнуления массива слов длинной 100 элементов, использую все возможные режимы адресации.
2) Написать программу пересылки массива байтов длиной 256 элементов к другому массива такой же длины, используя все возможные режимы адресации.
Первую я начал, но все равно не работает. Не понимаю я этот Ассемблер. Помогите, пожалуйста.
STACK_SEG SEGMENT PARA STACK 'STACK' DB 100 DUP(?) STACK_SEG ENDS CODE_SEG SEGMENT PARA 'CODE' ASSUME CS:CODE_SEG, SS:CODE_SEG, DS:CODE_SEG, ES:STACK_SEG NEW_PROC PROC NEAR BEG_: MOV SI, STACK_SEG MOV CX, SI SUB AL, AL REP STOSB NEW_PROC ENDP CODE_SEG ENDS END BEG_
Решение задачи: «Работа со строковыми командами.»
textual
Листинг программы
lea si,mas1 lea di,mas2 mov cx,256 rep movsb
Объяснение кода листинга программы
lea si,mas1
- данная команда выполняет загрузку смещения (index) для регистра si из памяти (mas1).lea di,mas2
- данная команда выполняет загрузку смещения (index) для регистра di из памяти (mas2).mov cx,256
- данная команда выполняет копирование значения 256 в регистр cx.rep movsb
- данная команда выполняет повторение цикла, который состоит из операции перемещения данных (movsb), до тех пор, пока значение регистра cx не станет равным нулю.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д