Machine Code in x86 | Cerca per titolo, autore, parola chiave | ||||||||
Machine Code in x86 CS301: Assembly Language Programming Lecture, Dr. Lawlor, UNIVERSITY OF ALASKA FAIRBANKS, Department of Computer Science. Con il codice macchina, l'idea di base è di rappresentare una qualsiasi computazione con una sequenza di byte binari. I byte cambiano a seconda del computer in uso, ma le macchine Intel x86 usano "0xc3" per rappresentare l'istruzione "ret" e "0xb8" per rappresentare l'istruzione "load a 32-bit constant into eax" (carica una costante a 32 bit nel registro EAX). MOV è un'istruzione che ha bisogno di un argomento: per cui i successivi 4 byte rappresentano la costante da mettere in EAX: 0: b8 05 00 00 00 0: mov eax,0x5 The opcode 0xb9 moves a constant into ecx. 0xba moves a constant into edx: 0: b9 05 00 00 00 0: mov ecx,0x5 5: ba 05 00 00 00 5: mov edx,0x5 x86 identifica le diverse dimensioni di un registro usando dei byte di prefisso. Per esempio: 0: 48 b8 12 00 00 00 00 00 00 00 0: mov rax,0x12 a: b8 12 00 00 00 a: mov eax,0x12 f: 66 b8 12 00 f: mov ax,0x12 13: b0 12 13: mov al,0x12
|
|||||||||
Machine Code in x86 | Disclaimer: questo è un link a contenuti ospitati su server esterni. |