Assembler hints

Mõned hindid endale mis ikka ja jälle antud keele harva kasutamise tõttu vahel meelest lähevad.

Tegu on siis GNU assembler (as)


value:
.int 10, 20, 30

...

_start:
movl value, %eax # Liigutab label value esimese väärtuse (10) registrisse eax

...

Pointer

value:
.int 10, 20, 30

...

_start:
movl $value, %eax # Liigutab mäluaadressi kus asub label value registrisse eax


...
movl %eax, %edi # Liigutab eax registri väärtuse registrisse edi
...


...
movl %eax, (%edi) # Liigutab registri eax väärtuse mäluaadressile mis on registris edi
...


...
movl %eax, 4(%edi) # Liigutab registri eax väärtuse (mäluaadressile+4byte) mis on registris edi
...


...
movl (%esi), %eax # Liigutab registril esi asuvalt mäluaadressil oleva data registrisse eax
...

Leave a Reply