Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

and er ikke et hett tips alikevell.

idivl på et register med det du skal ta modulo av feks 100 mod 10

 

vil da

stapp det du skal ha modulo av inn i %eax
cdq   # for å sette korrekte verdier i %eax og %edx
movl $10, %ecx
divl %ecx

%eax vil nå inneholde en verdi og %edx en annen, test litt så finner du av det

Lenke til kommentar
  • 7 år senere...

Både DIV og IDIV legger modulus i edx registeret om du opererer med 32 bits tall, DX hvis 16 bit, AH hvis 8 bit tall og RDX hvis 64 bit tall.

 

Men om du skal kalkulere modulus før du linker programmet og ikke under kjøringen av programmet så kan du bruke modulus operatøren som er innebygd i selve assembleren, men da opererer du kun med konstanter.

 

F.eks: mov eax, 15 MOD 2... nå vil eax inneholde verdien 1.

Endret av LonelyMan
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...