Assembler x64 ( pomoc s domácím úkolem)
Napsal: 22 dub 2018 14:48
Zdravím.
Dělám úkol z assembleru a nevím si rady.
Problém je v tom, že nevím, jak zapsat do pole.
Například mám pole pojmenované "hist" a chtěl bych do pole přiřadit nulu ( na místo, kde mám zrovna pointer).
Takže si pointer nastavím na začátek pole
lea rbx, hist[rip] /* pointer na začátek pole histogram,*/
A v cyklu mu přiřazuju 0.
cycle:
mov [rbx], 0 /* prvku pole přiřaď nulu */ -- tenhle řádek je špatně
add rbx,8 /* posun ukazatele*/
dec rcx /* zmenšení iterátoru* i++(respektive v našem případě i--)/
jnz cycle /* skok na cyklus*/
a prostě nevím, jak to zapsat zkoušel jsem ještě: mov, hist[rbx]... mov, hist[rip].. prostě nevím, jak tohle zapsat a vygooglit se mi taky moc nic nepodařilo.
Budu vděčný za každou radu.
Dělám úkol z assembleru a nevím si rady.
Problém je v tom, že nevím, jak zapsat do pole.
Například mám pole pojmenované "hist" a chtěl bych do pole přiřadit nulu ( na místo, kde mám zrovna pointer).
Takže si pointer nastavím na začátek pole
lea rbx, hist[rip] /* pointer na začátek pole histogram,*/
A v cyklu mu přiřazuju 0.
cycle:
mov [rbx], 0 /* prvku pole přiřaď nulu */ -- tenhle řádek je špatně
add rbx,8 /* posun ukazatele*/
dec rcx /* zmenšení iterátoru* i++(respektive v našem případě i--)/
jnz cycle /* skok na cyklus*/
a prostě nevím, jak to zapsat zkoušel jsem ještě: mov, hist[rbx]... mov, hist[rip].. prostě nevím, jak tohle zapsat a vygooglit se mi taky moc nic nepodařilo.
Budu vděčný za každou radu.