Dachte ich nur, wie Maschinen-interpreter-binary-code? Alles was ich verstehe ist dein code bekommen, der sich in 1 und 0 ist, so dass die Maschine Sie verstehen kann, aber wie tun Sie das? Ist es nur eine normale text, um binäre übersetzung?
InformationsquelleAutor TheBlueCat | 2012-03-03
Erste, "Binär" bedeutet nicht, was Sie denken, es bedeutet (keine Daten auf dem computer, einschließlich text ist bereits binären, es ist nur die Art, wie wir entscheiden, zum anzeigen und verarbeiten, ist unterschiedlich).
Zweite Zusammenstellung ist keine einfache transformation, um lustige Charaktere (wenn es so wäre, würden wir nicht brauchen, andere Compiler für verschiedene Sprachen). Tatsächlich haben einige Verständnis von machine code, die Sie brauchen, um zu verstehen, die Architektur, die it-Ziele. Es gibt viele computer-Architekturen, die Ihren PC ist nur einer von Ihnen. Es ist ein sehr breites Thema und braucht gutes Verständnis von computer-Architektur zu fassen.
Werde ich zeigen ein Beispiel einer MIPS-Instruktionen. Wenn Sie interessiert sind, können Sie Lesen Sie weiter und bekommen einige echte wissen über das Thema, versuchen, die links am Ende meines posts.
MIPS ist eine beliebte einleitende Thema, weil seine Anweisung format ist eines der besser verdaulich lieben. MIPS-Instruktionen sind 32 bit breit. Es gibt 3 Arten von Anweisungen in MIPS: "R", "I" und "J". Wir werfen einen Blick auf die "I" - Anweisungen.
Wenn der Prozessor bekommt eine Anweisung (32-bit-Daten) liest er es und entscheidet, was zu tun. "Ich" - Anweisungen wie folgt Aussehen:
Sinne dieser:
Einem konkreten Beispiel, das hinzufügen einer unmittelbaren, um eine gespeicherte Nummer in einem register:
In diesem Beispiel, brach ich den Unterricht in teilen wie oben. Die Bedeutung der Werte ist folgende:
001000
bedeutetaddi
oder "sofort".00001
ist1
in dezimal, so dass dieser Teil der Anleitung teilt dem Prozessor mit, dass wir verwenden wollen, registrieren Sie sich 1 als rs.00010
ist2
im dezimal -, gleiche Idee wie mit der rs.0000000000000011
ist3
im Dezimalsystem.Den
addi
Anweisung funktioniert wie folgt: es nimmt den Wert in rs und fügt die unmittelbaren Wert zu. Danach legt das Ergebnis in rd. Also, wenn die Anleitung fertig ist, rd enthalten 3+2=5.In einer nussschale, Compiler analysieren Ihren text und Anweisungen erzeugen, um das target-Prozessor, der tut die gleiche Sache, die Sie tun, mit Ihrem Programm. Wie Sie sehen können, gibt es eine riesige Lücke zwischen der textuellen Darstellung des Programms, das uns die Programmierer schreiben, und der ausführbaren Maschinen-code.
Einige nützlichen Ressourcen auf MIPS-und computer-Architektur:
InformationsquelleAutor Tamás Szelei
Es ist ein riesiges Thema, was Ihr bittet. Empfehlen möchte ich das ausgezeichnete Buch Die Elemente von it-Systemen für einen überblick über die Funktionsweise von Computern und Compilern gebaut werden, im Prinzip. Es ist ziemlich einfach zu Folgen und die übungen sind Spaß zu tun. Das meiste davon ist online verfügbar unter dem link zur Verfügung gestellt.
Diese Frage hat auch ein paar gute links zum Thema.
InformationsquelleAutor Dervall
Denken Sie an es auf diese Weise. Sie haben 8 power-Schalter jeder Schalter hat entweder off(0) oder on(1). Der computer wird sehen Sie alle 8 Schalter als 1. Es ist Jetzt ähnlich wie ein Zahlenschloss. Jedes Symbol auf deiner Tastatur hat es auf die Kombination.
InformationsquelleAutor CRC3