PDA

View Full Version : Dal codice ad alto livello al codice macchina


songohan
04-09-2012, 23:11
Ciao,

sto re-iniziando un percorso di studi in IT e mi ha sempre affascinato un argomento in particolare: la traduzione delle istruzioni ad alto livello di un qualsiasi linguaggio di programmazione nel linguaggio macchina del processore target.
In particolare, mi ha sempre affascinato conoscere quale sia esattamente il codice macchina di una particolare istruzione di basso livello.
Per esempio, data l'ISA x86 e l'istruzione MOV qual è l'effettivo codice operativo - ovvero la sequenza di bit - eseguito dalla cpu?
Qualcuno sa darmi delle risorse sul web a riguardo?
Grazie :)

Giulio.

cdimauro
05-09-2012, 07:04
http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html

Il volume 2 è quello che ti serve.

songohan
05-09-2012, 09:32
Ciao cdimauro,

esattamente quale è? Non l'ho capito :)

Grazie!

Giulio.

cdimauro
05-09-2012, 10:41
E' questo (http://download.intel.com/products/processor/manual/325383.pdf).

Un altro comodo e veloce riferimento e' quest'altro (http://ref.x86asm.net/geek64.html).

Tesinevb
07-09-2012, 19:44
Ciao,

sto re-iniziando un percorso di studi in IT e mi ha sempre affascinato un argomento in particolare: la traduzione delle istruzioni ad alto livello di un qualsiasi linguaggio di programmazione nel linguaggio macchina del processore target.
In particolare, mi ha sempre affascinato conoscere quale sia esattamente il codice macchina di una particolare istruzione di basso livello.
Per esempio, data l'ISA x86 e l'istruzione MOV qual è l'effettivo codice operativo - ovvero la sequenza di bit - eseguito dalla cpu?
Qualcuno sa darmi delle risorse sul web a riguardo?
Grazie :)

Giulio.

vai qui che è spiegato molto bene e in modo dettagliato:
http://xoomer.virgilio.it/ramsoft/

Nel menu a sinistra clicca su "Assembly base"
poi su "Assembly base con nasm e tasm"
e poi clicca sul capitolo 11

buona lettura

songohan
08-09-2012, 08:34
Hey,

gran bel sito! Grazie mille :)

P.S. quale ambiente usare? MASM, NASM...?

Grazie :)

Giulio.

cdimauro
08-09-2012, 09:20
Prova NASM o YASM: sono fra gli assemblatori più gettonati.

Tesinevb
11-09-2012, 06:42
Hey,

gran bel sito! Grazie mille :)

P.S. quale ambiente usare? MASM, NASM...?

Grazie :)

Giulio.

scaricati masm32 io lavoravo con tasm 5.0 un pochino con masm32. cmq masm32 è in corso tuttora mentre il tasm è si è fermato. gli eseguibili nasm lavorano su + svariate piattaforme, linu win ecc ecc

ciao