Domanda

Mi piacerebbe imparare a programmare in Assembler.Ho fatto un po 'di assemblaggio prima (durante la mia A Livello di corso di Informatica), ma che è stato decisamente semplificata "pseudo-assembler'.Ho preso in prestito il mio Padre vecchio Assembler Z80 manuale di riferimento, e che sembra piuttosto interessante, quindi se possibile mi piacerebbe avere un andare con assembler Z80.

Tuttavia, non ho un processore Z80 a mano, e vorrei farlo sul mio PC (ho windows o linux in modo che sia buono).Ho trovato vari assemblatori in giro su internet, ma io non sono particolarmente interessato a montaggio giù per un file hex, voglio solo essere in grado di assemblare qualcosa di più che una sorta di simulatore sul PC.Preferibilmente questo simulatore mi avrebbe mostrato il contenuto di tutti i registri, posizioni di memoria ecc, e facciamo un passo attraverso istruzioni.Ho trovato alcuni pezzi di software che suggeriscono che potrebbero fare questo - ma essi si rifiutano di compilare, o non funzionano correttamente.Qualcuno ha avuto qualche suggerimento?Se ci sono buone simulatore/IDE cose a disposizione per un altro tipo di assembler quindi ho potuto provare che invece (ammesso che ci sia un buon manuale di riferimento online disponibili).

È stato utile?

Soluzione

Ho trovato alcuni pezzi di software che suggeriscono che potrebbero fare questo - ma o si rifiutano di compilare, o non funzionano correttamente.Qualcuno ha avuto qualche suggerimento?

Scrivere uno.È meglio scegliere una bella, semplice set di istruzioni (Z80 deve essere perfette).Mi ricordo che facendo questo come un primo anno di laurea di esercizio - penso che abbiamo scritto il simulatore in C++ e simulato 6800 assemblea, ma in realtà ogni lingua/set di istruzioni farà.

L'idea di "imparare il linguaggio assembly" in questi giorni è quello di farsi un'idea di come funzionano i computer al livello più basso, solo un paio di selezionare (compilatore scrittori, etc.) hanno alcun motivo reale per essere in realtà la scrittura di codice assembly in questi giorni.I moderni processori sono pieno zeppo di funzioni progettate per essere utilizzate dai compilatori per aiutare ad ottimizzare il codice per velocità/esecuzione concorrente/consumo/ecc.... e cercando di scrivere il montaggio a mano per un moderno processore sarebbe un incubo.

Non preoccupatevi di ottenere la vostra applicazione e pronto per la produzione a meno che non si vuole, con tutta probabilità, i bit del software che ho trovato finora sono stati scritti da persone esattamente come te che voleva capire come i lavori dell'assemblea e hanno scritto le loro simulatore, poi si sono resi conto di quanto lavoro sarebbe coinvolto nell'ottenerlo "pronto per la produzione" in modo che il pubblico potesse usarlo.

Altri suggerimenti

Si potrebbe desiderare di check-out open source 8085 simulatore "GnuSim8085"è specificamente pensati per essere utilizzati per scopi educativi, ed è stato in realtà scritto da studente durante la preparazione per gli esami.Funziona sia su Linux e Windows.

Se sei su windows 8085 Simulatore è la scelta migliore.8085 Simulator by J-tech Softwares

Si interfaccia utente è eccellente rispetto a qualsiasi altro simulatore.Anche questo simulatore di fornire live visualizza la mappa di memoria molto tempo(anche durante l'esecuzione).

Ma questo non supporta Windows 98 o inferiore che avete bisogno di controllare altri simulatori come "GnuSim8085".

MipSim è GRATUITO

http://www.mipsim.com

Caratteristiche principali di MIPSim 2

  • Built-in editor di codice con le caratteristiche come l'evidenziazione della sintassi e pieghevole
  • Vedere i registri di memoria e di valori differenti rappresentazioni (intero con segno intero senza segno, esadecimale e ASCII)
  • Impostare la dimensione del blocco (full-parola, mezza parola, byte) celle di memoria per facilitare l'esame dei valori di memoria
  • Modificare i valori dei registri e celle di memoria con un solo clic, anche durante la simulazione e il debug
  • Realtime utente-interfaccia di aggiornamento consente di vedere come i valori dei registri e celle di memoria cambiare durante l'esecuzione
  • Debugger integrato con passo-passo le istruzioni di esecuzione, di istruzione, di saltare e di punto di interruzione caratteristiche
  • Strumenti per l'inserimento di ASCII, UNICODE, stringhe e valori interi per memoria per il testing del codice
  • Strumenti per la verifica duplicati o mancanti delle etichette e istruzioni parametri
  • Salvare computer di stato (valori di tutti i registri e le celle di memoria) in modo che la prossima volta che si esegue il simulatore è possibile continuare da dove si è lasciato!
  • Impostare la velocità di simulazione - basse velocità sono grandi per tracciare il codice e vedere come si comporta
  • Codificare le istruzioni per produrre in codice macchina in binario o esadecimale
  • Prendere il tempo di assemblaggio e di errori di runtime
  • Facilitare il debug con dei messaggi di errore descrittivo
  • Design Multi-thread - MIPSim non rimanere bloccati (si spera ;) anche se l'assembly in codice eseguito è erronea o contiene un loop infinito
  • MIPSim API - fare i vostri propri programmi in grado di leggere e scrivere la memoria e i registri di MIPSim, grande flessibilità per il potente di test!

Puntare più in alto!Provare a ottenere un simulatore per un più potente linguaggio assembly.Ricordate, Z80 e 808x erano processori di fascia bassa con fascia bassa e scomoda set di istruzioni.

Qualcosa di simile VAX da dicembre è stato considerato come la Rolls-Royce del set di istruzioni.E poi ci sono pazzo Risc set di istruzioni che fanno davvero cose strane.Forse si può trovare una definizione di quelli in modo che si può avere una crepa al loro attuazione.

Si può essere interessati a questo per Z80 simulatore, e ho avuto buone esperienze con WinAsm.

Si potrebbe anche prendere in considerazione l'apprendimento linguaggio assembly x86, che si potrebbe fare uso di in linea assembler in Visual Studio - anche se è un grande set di istruzioni di Z80, si avrebbe il vantaggio di essere in grado di utilizzare molto meglio gli strumenti che sarebbero disponibili per lo Z80.

Ho anche ricordato che il Keil 8051 e Braccio strumenti dispone di un simulatore in IDE - ci sono dimensioni limitate le versioni disponibili per il download gratuito dal www.keil.com

Se vi capita di sapere già .NET, quindi questo può essere utile:

http://www.viksoe.dk/code/asmil.htm

È un po ' limitato, e può funzionare solo con .NET 1.1, ma si potrebbe almeno usare un "moderno" IDE, e ci sono un sacco di documenti in giro per questo.

<%@ page language="Asm80386" %>
<%
Str:  DB "Testing...", 0

  mov eax, -2
  cmp eax, 2
  jle Label1
  xor eax, eax
Label1:
  lea esi, Str
  push esi
  call "Response.Write(string)"
  pop esi
%>
<br>EAX: <%= eax %>

Un'altra opzione, se si vuole andare "hard core" è ottenere qualcosa di simile FreeDOS e VMWare, e usare quello.Sono sicuro che una vendita di garage (auto vendita boot?cantiere di vendita?) o di seconda mano negozio di libri sarebbe una copia di Peter Norton vecchio DOS interrompe bibbia.:)

Personalmente, ho imparato asm x86 utilizzando il Turbo Pascal (che penso che è ora libero da Borland?), che ha avuto la possibilità di incorporare le istruzioni di montaggio all'interno di una funzione.Ha reso più facile l'installazione di app, e mi ha permesso di concentrarmi sulle cose che volevo fare.In seguito ho utilizzato MacVAX a Auckland Uni, che era ok, ma il VAX è molto morto - come pure si può imparare x86 :)

SimpSim è sicuramente la pena dare un'occhiata.E ' solo per Windows, ma il set di funzionalità è abbastanza decente:

  • La memoria principale e registrare display
  • Built-in editor con evidenziazione della sintassi
  • Corsa, step, e rompere le funzioni

WinApe è un buon emulatore di un Amstrad CPC.L'Amstrad CPC era un Home Computer prodotto negli anni 80.Ha usato un Z80 come CPU.Utilizzando l'emulatore è in grado di visualizzare un sacco di interni durante la programmazione.Include un debugger e un disassembler per Z80 codice.

Questo non avrebbe alcun significato per voi ora, ma solo per le persone di passaggio.Questo è il miglior montaggio codice simulatore mi sono imbattuto con.Veramente la pena!

http://www.emu8086.com/

Guarda Thomas Scherrer Z80 Emulatori per un elenco di potenziali emulatori è possibile utilizzare.

Scrivo z80 asm per lo ZX Spectrum (ancora, lo so :) ) e utilizzare SJasmPlus per il collegamento a una spectrum emulator file.Un sacco di Spettro migliore emulatori come Fusibile e ZXSpin hanno costruito in editori e per il volo di debug e le patch.

Quando ero al college, abbiamo utilizzato PIC microprocessori.Essi sono costituiti da una società chiamata Microchip.Essi hanno anche un ottimo IDE con un chip emulatore/simulatore che può consentire di fare le cose senza avere il chip.

Perché usare un emulatore?

Download MASM o NASM e scrivere del buon vecchio 80386 architettura.Un sacco di esempi e strumenti per l'apprendimento.

Un sacco di nel mondo reale motivo per usare l'assembler!

c'è un simulatore che è Visual6502 per l'insegnamento fundemental di l'architettura di un microprocessore.Ha un editor, assembler, operazione di I/O e l'animazione di come funziona un microprocessore.Io è disponibile al seguente link.

http://www.pcsistem.net/visual/index.htm

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top