Introduction to x64 Assembly | Cerca per titolo, autore, parola chiave | ||||||||
Introduction to x64 Assembly Documento PDF. Nell'imparare a programmare in assembly per una determinata piattaforma, è necessario, prima di tutto, imparare il set di registri disponibili. x64 è il nome generico dato alle estensioni a 64 bit del set di istruzioni a 32 bit dei sistemi x86 di Intel ( EMT64 ) e di AMD ( AMD64 ). Esistono alcune piccole incompatibilità tra le due versioni, ma la gran parte del codice sorgente funziona bene su entrambe. Definiamo x64 proprio questa area di intersezione tra le due versioni. Nessuna delle due, comunque, deve essere confusa con l'architettura a 64 bit Intel® Itanium®, che era chiamata IA64. x64 prevede ben 16 registri "general purpose" ( che possono contenere sia dati che indirizzi di memoria ) a 64 bit: RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP, R8, R9, R10, R11, R12, R13, R14, R15. Per ciascuno dei primi otto registri a 64 bit, è possibile accedere ai 32 bit più bassi, sostituendo la lettera R con la lettera E ( EAX, EBX, ECX, EDX, EBP, ESI, EDI, ESP ). In modo analogo, per i registri a 64 bit RAX, RBX, RCX e RDX, è possibile accedere ai 16 bit più bassi, eliminando la lettera R: AX, BX, CX e DX. Per ciascuno di questi registri a 16 bit, quindi, è possibile accedere agli 8 bit più bassi ( AL, BL, CL e DL ) e agli 8 bit più alti ( AH, BH, CH e DH ). E' possibile accedere, in modo simile, anche ai nuovi registri, che vanno da R8 a R15. Per esempio: R8 ( 64 bit ), R8D ( i 32 bit più bassi ), R8W ( i 16 bit più bassi ), R8B ( gli 8 bit più bassi: R8L in stile Intel ). Non c'è R8H ( gli 8 bit più alti, corrispondenti ai registri AH, BH, etc. dei primi 4 registri ).
|
|||||||||
Introduction to x64 Assembly | Disclaimer: questo è un link a contenuti ospitati su server esterni. |