Size: a a a

Ассемблер

2020 May 11

A

Aleksandr in Ассемблер
у тебя в конце в EAX загружается значение по адресу 3
источник

A

Aleksandr in Ассемблер
вообще оно падать должно
источник

A

Aleksandr in Ассемблер
но не суть. суть в том, что ты не знаешь что по этому адресу
источник

VR

Vartan RedMan in Ассемблер
Вот вот
источник

VR

Vartan RedMan in Ассемблер
До этого куска кода он вроде как не должен дойти
источник

A

Aleksandr in Ассемблер
хотя, нет
источник

A

Aleksandr in Ассемблер
глупость сказал
источник

A

Aleksandr in Ассемблер
не значение по адресу, а рассчитывает пдрес
источник

A

Aleksandr in Ассемблер
адрес
источник

A

Aleksandr in Ассемблер
а так как тут рекурсия, то оно n раз рассчитывает n+2*n
источник

VR

Vartan RedMan in Ассемблер
я так написал но как я понял он всегда 1 печатает и не до ходит до куска где адрес памяти присваивает для eax
источник

AG

Alexander Galileev in Ассемблер
А постановка задачи вообще какая? Что вывести нужно?
источник

A

Aleksandr in Ассемблер
else потерял
источник

A

Aleksandr in Ассемблер
if(a)REC(a); else a=1;
источник

A

Aleksandr in Ассемблер
ой, нет
источник

A

Aleksandr in Ассемблер
if(a) a=REC(a); else a=1;
источник

VR

Vartan RedMan in Ассемблер
Alexander Galileev
А постановка задачи вообще какая? Что вывести нужно?
просто дают код на асм и говорят перевести в Си
источник

AG

Alexander Galileev in Ассемблер
Мне кажется, функция REC тут вообще не нужна - нужно просто рекурсивно вызвать F() с сопутствующими манипуляциями. В асмовом коде REC не вызывается (командой call), это просто метка.
источник

VR

Vartan RedMan in Ассемблер
Aleksandr
if(a) a=REC(a); else a=1;
а есть смысл else писать ?
источник

A

Aleksandr in Ассемблер
как-то так
источник