Newsgroup: it.comp.lang
Titolo: [ASSEMBLY] AMD&Pentium assembly

Salve, sono nuovo di questo NG quindi non aggreditemi (oltre la
decenza) se la mia domanda risulta banale. Mi son chiesto come mai,
dopo aver compilato un programma, l'eseguibile gira sia su processori
AMD che Intel. Hanno lo stesso codice macchina ?
--
klein 
**************************************************************
``Dio ha creato gli interi, tutto il resto č opera dell'uomo'' 
**************************************************************

 AMD che Intel. Hanno lo stesso codice macchina ?
Per fortuna si, nel senso che in linea generale le CPU a 32 bit AMD e
quelle Intel hanno lo stesso instruction set, quindi a meno che tu non vada
ad usare estensioni che nella particolare CPU non ci sono, non dovresti
riscontrare problemi
-- 
Lawrence
"ain't nothin' but fun."

 writes:
klein> Salve, sono nuovo di questo NG quindi non aggreditemi (oltre la
klein> decenza) se la mia domanda risulta banale. Mi son chiesto come
klein> mai, dopo aver compilato un programma, l'eseguibile gira sia su
klein> processori AMD che Intel. Hanno lo stesso codice macchina ?
Ho visto che ti hanno dato un'altra risposta, ma era imprecisa.
Dei colossi tecnologici citati immagino ti riferisca rispettivamente a
Pentium  e (Athlon)Kn:
hanno un codice macchina di base congruente nell'ambito della famiglia i386,
questa proprieta` ha nome "compatibilita`"(di base).
Entrambe le evoluzioni di entrambe le case produttrici hanno poi aggiunto
delle estensioni nel set di istruzioni/registri e funzionalita`
identificate da delle sigle, ad esempio l'Athlon che ho vicino ha:
 FPU VME DE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36
 MMX FXSR SSE SYSCALL MMXEXT 3DNOWEXT 3DNOW
in particolare 3DNOW e` caratteristica del solo AMD a partire dal K6-3,
mentre intel e` la prima ad aver introdotto MMX (famoso e` il Pentium MMX).
la stragrande maggior parte dei programmi verifica autonomamente la presenza
di questi set di istruzioni aggiuntive nel proseguire il flusso d'esecuzione
di codice macchina. Per questo gli stessi programmi anche piu` evoluti
funzionano su entrambi i microprocessori.
In particolare negli ambienti unix (linux e BSD) l'estensione puo`
essere automatica e dinamica (lo si puo` precisare con alcuni
parametri di compilazione) a livello generico di loader all'atto
dell'esecuzione, cioe` quando il programma viene caricato in memoria
ed ad esso viene associata la libreria base, alcune riferimenti alle
funzioni contenenti le subroutine sono scelte in base al
microprocessore che sta eseguendo il codice.
klein> -- 
klein> klein
klein> **************************************************************
klein> ``Dio ha creato gli interi, tutto il resto è opera dell'uomo''
klein> **************************************************************
E` una frase ad effetto, ma ci mancherebbe..: non esistono solo gli interi,
e l'uomo non ha che intravisto "tutto" il resto.
Saluti,
MARco   
http://mar.i.am/#16465.4004
-- 
x(t),y(t) = th(3t-34.5)*e^[-(3t-34.5)^2]/2-4.3+e^(-1.8/t^2)/(.8*atg(t-
3)+2)(t-1.8)-.3th(5t-42.5),(1.4e^[-(3t-34.5)^2]+1-sgn[|t-8.5|-.5]*1.5*
|sin(pi*t)|^[2e^(-(t-11.5)^2)+.5+e^(-(.6t-3.3)^2)])/(.5+t)+1  ; 0<t<14

~\/~ "MARco" == Usenet MARco 16465 4004 <N0SP...@i.amRemove.invalid> writes:
MARco> la stragrande maggior parte dei programmi verifica
Intendevo riferirmi nell'ambito di quei programmi che intendono
usare le estensioni di funzionalita`. Altrimenti non funzionano
quando girano sulla famiglia diversa da cui sarebbero progettati.
Risaluti,
MARco


N0SP...@i.amRemove.invalid (Usenet MARco 16466.7547) wrote:
[CUT]
Mille grazie per l'attenzione, sei stato chiarissimo.
--
klein