PDA

View Full Version : Assembly consigli per partire


3025
24-07-2024, 10:22
Buongiorno a tutti,

vorrei fare esperienza in programmazione assembly ma ho molti dubbi, non so come partire e scrivo per chiedere consigli.

Sapendo che tutto dipende dalla coppia Sistema_Operativo\Processore invio info su cosa ho a disposizione:

sistema: Microsoft Windows XP Professional Versione 2002 service Pack 3 (su portatile)
processore: Intel(R) Core 2 Duo CPU T520 @ 1.50 GHz

Intendo utilizzare questo portatile perchè posso fare tutti i disastri che voglio senza rischiare anche se la scelta impone limitazioni\problemi.

Provo a sintetizzare\fissare le domande (ma mi accorgo che è difficile anche fare le domande):

+credo che il processore <Core 2 Duo> sia a 32 bit (è un Merom?) e quindi un x86 ma chiedo conferma e poi a quale ISA fare riferimento?
(non riesco a trovare nulla in rete con l’informazione T520 ... trovo T5200

+non capisco quale assembly utilizzare credo che NASM sia ok (è FOSS + DOS\WINDOWS + Sviluppo Attivo) ma su wikipedia sia it che en viene riportato:
“Può essere usato per scrivere programmi a 16 bit, 32 bit (IA-32) ed a 64 bit (x86-64)”.
“It can be used to write 16-bit, 32-bit (IA-32) and 64-bit (x86-64) programs”.
Mi pare impossibile ma mi è venuto il dubbio che il 32 bit sia limitato solo all’IA-32 che mi pare faccia storia a se nell’universo x86.
Ho provato a registrarmi al NASM forum ma, a distanza di un paio di settimane, non mi hanno ancora registrato.

potete darmi una mano per partire?
Chiaramente 1000 grazie!!!

!fazz
26-07-2024, 10:42
secondo me se vuoi fare esperienza con assembler non partirei da x86
secondo me ti conviene prendere confidenza con processori più datati ma con set di istruzioni più semplici e solo dopo passare ad x86

ad esempio puoi iniziare dal caro e vecchio z80 (trovi una marea di simulatori online) o un mips ( vedi ad esempio il glorioso https://spimsimulator.sourceforge.net/ ) e solo dopo passare ad x86

le rare volte che ho usato assembler su x86 io utilizzavo un editor c++ dove embeddavo la parte di assembler grazie alla funzione asm

https://en.cppreference.com/w/cpp/language/asm

ovviamente per solo scopo formativo assembler lo uso professionalmente, su micro o plc (qualcosa di simile all'assembler non formalizziamoci) ma li uso ide specifici per le varie piattaforme tipo ad esempio mplabx su schede microchip

3025
26-07-2024, 11:46
Intanto grazie per la risposta e per il consiglio.
Provo a verificare l'ipotesi z80.
Credo comunque di avere risolto il problema NASM\IA-32, confondevo IA-32 con Itanium (grande confusione sic!)

Strappo ancora una consulenza, NASM va bene sullo z80?
Ci sono assembler\versioni particolari?

ancora grazie 1000 e buon lavoro
3025

!fazz
26-07-2024, 20:13
Intanto grazie per la risposta e per il consiglio.
Provo a verificare l'ipotesi z80.
Credo comunque di avere risolto il problema NASM\IA-32, confondevo IA-32 con Itanium (grande confusione sic!)

Strappo ancora una consulenza, NASM va bene sullo z80?
Ci sono assembler\versioni particolari?

ancora grazie 1000 e buon lavoro
3025

no nasm lavora solo su x86 per z80 devi usare un emulatore (il che è anche meglio visto che non rischi di bsodare il pc :D