169 похожих чатов

Подскажите, почему выводятся лишь нули? Данная программа должна считать элементы

в массив и после вывести их

17 ответов

32 просмотра
Diamond- Автор вопроса

поправочка, выводится пять нулей, скриншот был сделан в отладчике не доходя до последнего шага

Судя по всему в 12 строке ты хотел lea. Но не видя реализации макросов сложно что-то утверждать.

print_dec портит rcx?

Diamond- Автор вопроса
Diamond
Нет

почему делаешь add rcx,4 и [arr+4*rcx] ???

Diamond- Автор вопроса
Diamond
Нет

как проверил?

Aiwan \ (•◡•) / _bot
как проверил?

Ну пять же нулей, ну.

Diamond
screenshot c lea еще веселее)

Покажи макросы тогда. Но это уже лучше, чем нули.

Diamond- Автор вопроса
Aiwan \ (•◡•) / _bot
почему делаешь add rcx,4 и [arr+4*rcx] ???

add rcx, 4 по сути счетчик до "конца" массива, т.е цикл завершается при достижении 20

Diamond- Автор вопроса
Aiwan \ (•◡•) / _bot
почему делаешь add rcx,4 и [arr+4*rcx] ???

a второе для сдвига по массиву на 4 байта

Diamond- Автор вопроса
s54820
Покажи макросы тогда. Но это уже лучше, чем нули.

так это вроде стандартная библиотека для насма разве нет?

Diamond
add rcx, 4 по сути счетчик до "конца" массива, т.е...

а зачем тогда rcx еще раз умножать на 4? на 4й итерации rcx у тя уже будет 16, а ты еще умножаешь на 4, в итоге там смещение от начала массива уже будет 64 байта, если разбить по элементам в 4 байт, то адресуется уже 16 элементов. а у тя их там вроже 5

Diamond
screenshot c lea еще веселее)

Судя по всему там нужно get_dec 4,[array+rcx], так же и print_dec. Ну и про инкременты Aiwan уже сказал.

s54820
Судя по всему там нужно get_dec 4,[array+rcx], так...

думаю достаточно сделать вместо add rcx,4 - inc rcx. и цикл до 5ти

Похожие вопросы

Обсуждают сегодня

И ещё вопрос: можно ли типа как на дос как-то запариться и с помощью прерываний выводить текст, вместо функции printf ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
34
Ладно, ещё тупого спрошу. Код должен банально вывести значение регистра на консоль, на деле же не выводя ничего, просто оставляя нерабочую консоль (открыта, ничего не написан...
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
25
здравствуйте. пытаюсь проверить, содержится ли в десятичном представлении инта некоторая цифра. совершаю: strstr(x, "5") != NULL) получаю ошибку с фото (заведомо неработающий ...
Катя Шевчук🪇
17
Что там вообще с кроссплатформенностью?
🄼🄰🄺🅉🄰🄸
23
{ char buff = *start; *start = *end; *end = buff; } Из-за этой строчки? Что каждый символ через перем бафф? Как вариант использовать другие со...
Wenks
12
#include <stdio.h> #include <string.h> int main() { char *str = "Hello World"; char *ptr; int i = 0; for(char *end = str + strlen(str) - 1; end = str; ptr++, ...
Wenks
9
а я правильно понимаю что в винде сетевые диски выполнены на уровне юзерспейс драйвера? ну я про те которые webDAV, SMB и прочие высокоуровневые
Mixail Frolov
9
Доброй ночи. Вопрос знатокам. Имеется некая таблица, результат которой выведен в DBGrid на форме. И есть форма, с помощью которой можно как добавить запись, так и отредактиров...
Евгений
28
Кстати, а я вот тут подумал. Допустим, у нас имеется цикл который выполняет огромное количество итераций, но мы хотим, чтобы какие-то действия исполнилось только один раз. В Я...
The Bird of Hermes
23
а всё почему? потому что ассемблер в отличии от яву порождает множество пагубных привычек, среди которых например можно отметить использование глобальных переменных для всего ...
Mixail Frolov
35
Карта сайта