Прибавить к элементам массива A единицу и записать результат в массив B - Assembler
Формулировка задачи:
Всем привет. Есть такое задание:
"Дан массив А типа byte. Прибавить к элементам массива A единицу и записать результат в массив B."
Есть решение почти рабочие но только на первом цикле программа зацикливается, а почему ни как не пойму в чем проблема?
a db 1,2,3,4,5,6,7,8,9,10 b db 1,2,3,4,5,6,7,8,9,10 mov ax,0 mov cx,0 mov dx,0 mov si,0 mov di,0 mov cx,0 mov cx,10 // вот здесь начинает зацикливаться l: add a[si],1 inc si dec cx cmp cx,0 jmp l mov dx,0 mov dx,10 n: mov al,a[si] mov b[di],al inc si inc di dec dx cmp dx,0 jmp n
Решение задачи: «Прибавить к элементам массива A единицу и записать результат в массив B»
textual
Листинг программы
a db 1,2,3,4,5,6,7,8,9,10 ; исходное b db 10 dup ? ; итог mov cx,10 ; циклы cld ; направление lea si,a ; адрес исходного lea di,b ; адрес итога Metka: lodsb ; загрузить в AL байт из массива а inc AL ; увеличить на еденицу stosb ; загрузить AL байт в массив b loop Metka
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д