поправочка, выводится пять нулей, скриншот был сделан в отладчике не доходя до последнего шага
Судя по всему в 12 строке ты хотел lea. Но не видя реализации макросов сложно что-то утверждать.
print_dec портит rcx?
почему делаешь add rcx,4 и [arr+4*rcx] ???
как проверил?
Ну пять же нулей, ну.
Покажи макросы тогда. Но это уже лучше, чем нули.
add rcx, 4 по сути счетчик до "конца" массива, т.е цикл завершается при достижении 20
a второе для сдвига по массиву на 4 байта
так это вроде стандартная библиотека для насма разве нет?
а зачем тогда rcx еще раз умножать на 4? на 4й итерации rcx у тя уже будет 16, а ты еще умножаешь на 4, в итоге там смещение от начала массива уже будет 64 байта, если разбить по элементам в 4 байт, то адресуется уже 16 элементов. а у тя их там вроже 5
Судя по всему там нужно get_dec 4,[array+rcx], так же и print_dec. Ну и про инкременты Aiwan уже сказал.
думаю достаточно сделать вместо add rcx,4 - inc rcx. и цикл до 5ти
Обсуждают сегодня