как загрузить каждый второй номер в регистр с помощью инструкции 'LODSB'
У меня есть код, где я нахожу сумму 10 чисел из таблицы. Как найти правильную сумму каждого второго числа? Нужно как-то работать с загрузкой каждого второго числа (lodsb) в регистр eax? Или нужно что-то сделать с инструкцией add?
cld
mov esi, OFFSET numbers ; in `numbers` i have 10 numbers
mov edi, esi
mov ecx, 10
myLoop:
push ecx
lodsb ; here i add each digit in turn to the `eax` register
add sum, eax ; here i summarize the numbers
pop ecx
loop myLoop
mov eax, sum
Ответы (1 шт):
Автор решения: Илья К
→ Ссылка
Используй команду lodsb дважды. Команда pop ecx лишняя. в качестве сумматора лучше использовать не ячейку памяти а еще один регистр, так будет быстрей.