vi consiglio caldamente:
1) utilizzare un simulatore di set di istruzioni (alla pari con quello che stai chiedendo). visibilità molto migliore e una migliore possibilità di successo, meno frustrazione, meno possibilità di rinunciare.
2) NON apprendere prima il gruppo x86. (avere l'hardware è una brutta scusa per imparare x86 prima). Architettura pessima, prima apprendi una buona architettura quindi se ti preoccupi di imparare x86, imparalo in un secondo momento e poi impara 8088/86 prima usando uno dei tanti simulatori/emulatori.
3) imparare un paio di set di istruzioni, se si inizia con un buon uno, poi tutti gli altri set di istruzioni e linguaggi di programmazione, anche sono una piccola questione di sintassi.
4) non si stanno imparando le chiamate di sistema che è un cattivo modo per imparare il montaggio, imparare il set di istruzioni e come programmare con esso, le chiamate di sistema è dopo aver imparato l'assembly e scegliere di continuare a programmare le applicazioni in esso .
msp430 (o PDP11/lsi11), braccio, pollice, avr, mico8, e una lista di altri sono molto meglio. salva i mips per dopo averne appreso anche alcuni, ha caratteristiche insolite che possono metterti nella mentalità sbagliata per altre architetture.
se le vostre abilità di programmazione sono forti già allora si può prendere il montaggio nel giro di pochi giorni e hanno pochi a molti set di istruzioni in una questione di settimane.Se segui questa guida e impari alcuni insiemi di istruzioni (buoni) non collegati, allora inizia a guardare x86 vedrai esattamente perché sto raccomandando di apprenderlo per ultimo o mai. Come 6502 e Pic e alcuni altri ha un valore educativo storico, ma a causa della natura della storia della famiglia non si può trarre molto da una prospettiva di programmazione/programmazione. In realtà consiglio di leggere The Zen of Assembly e ricordare anche quando è stato scritto su come pensare alla codifica delle prestazioni in generale, non sull'ottimizzazione delle prestazioni 8088/86.
Un buon modo per apprendere veramente l'assemblaggio è la scrittura di un disassemblatore, il problema è che la maggior parte dei set di istruzioni sono a lunghezza di parola variabile e i disassemblatori a lunghezza di parola variabile rappresentano un problema di programmazione avanzato. ARM e thumb (not thumb2) sono a lunghezza di parola fissa e molto facili da scrivere per i disassemblatori.
È possibile utilizzare come CPU a 64 bit con codice a 32 bit senza problemi. Non c'è bisogno di usare una VM – Gunner