[PYTHON] [Ich habe es versucht] Nand2 Tetris Kapitel 6

Letztes Mal (Nand2Tetris Kapitel 5 Teil 2) ist eine Fortsetzung.

Ich habe es als Referenz verwendet. Alone Nand2Tetris / Hiraku

In diesem Buch werden folgende Themen behandelt, während Sie tatsächlich die Hände bewegen. * Hardware * Die Architektur * Betriebssystem * Programmiersprache * Compiler * Datenstruktur und Algorithmus * Softwareentwicklung <-now
Ich habe es in die Fußzeile geschrieben, aber es hat 11 Stunden und 30 Minuten gedauert. hart gearbeitet. # Kapitel 6 Assembler Die zweite Hälfte dieses Buches von hier. Die erste Hälfte war Hardware, aber die zweite Hälfte scheint Software zu sein.

Ich habe so etwas wie einen Eindruck in den Kommentar geschrieben. nur ein wenig. Ich glaube, es hat eine Stunde gedauert, den Konstruktor als "init" zu erkennen. .. .. Ich habe eine Weile gebraucht, um das Konzept der Schaffung einer Klasse zu verwirklichen. Ich habe diese Art von Code schon eine Weile nicht mehr geschrieben

Ich konnte mich nicht einmal an den Basiscode erinnern, also ist es in Ordnung Ich habe nach etwas wie "Python String Replacement" gesucht.

input("plz_input:", filename)

Ich habe auch so seltsame Dinge gemacht. Obwohl es Python ist. memo

/*1+2+3+...+100*/
  i = 1
  sum = 0
LOOP:
  if i = 101 goto END
  sum = sum + i
  goto LOOP
END:
  goto END //Endlosschleife des Computers und Beenden der Ausführung
Symbolname Adressname
i 1024
sum 1025
LOOP 2
END 6

Um diese in Code ohne Symbole umzuwandeln

Code, der die Symbolauflösung durchgeführt hat


M[1024] = 1
M[1025] = 0
if M[1024] = 101 goto 6
M[1025] = M[1025] + M[1024]
M[1024] = M[1024] + 1
goto 2
goto 6

Diese Methode sollte Folgendes beachten ・ Bis zu 1024 Programmcodes können gespeichert werden -Der Speicherbereich von Quellbefehlen und -variablen wird in einem Wort ausgedrückt. Auch bei einem Konverter muss die Wortbreite der Variablen berücksichtigt werden.


End of script - Comparison ended succesfully

Es dauerte 11 Stunden und 30 Minuten. Progress repository_GitHub

Recommended Posts

[Ich habe es versucht] Nand2 Tetris Kapitel 6
Ich habe versucht, 100 Sprachverarbeitung klopfen 2020: Kapitel 3
Ich habe versucht, 100 Sprachverarbeitung klopfen 2020: Kapitel 1
Ich habe versucht, 100 Sprachverarbeitung zu klopfen 2020: Kapitel 2
Ich habe versucht, 100 Sprachverarbeitung zu klopfen 2020: Kapitel 4
Ich habe PyQ ausprobiert
Ich habe AutoKeras ausprobiert
Ich habe es mit Papiermühle versucht
Ich habe versucht, Django-Slack
Ich habe es mit Django versucht
Ich habe es mit Spleeter versucht
Ich habe es mit cgo versucht
Ich habe versucht, Argparse zu verwenden
Ich habe versucht, anytree zu verwenden
Ich habe versucht, aiomysql zu verwenden
Ich habe versucht, Summpy zu verwenden
Ich habe versucht, Coturn zu verwenden
Ich habe versucht, "Anvil" zu verwenden.
Ich habe versucht, Hubot zu verwenden
Ich habe versucht, ESPCN zu verwenden
Ich habe PyCaret2.0 (pycaret-nightly) ausprobiert.
Ich habe versucht, tief zu lernen
Ich habe AWS CDK ausprobiert!
Ich habe versucht, Ipython zu verwenden
Ich habe versucht zu debuggen.
Ich habe versucht, PyCaret zu verwenden
Ich habe versucht, Cron zu verwenden
Ich habe Kivys Kartenansicht ausprobiert
Ich habe versucht, ngrok zu verwenden
Ich habe versucht, face_recognition zu verwenden
Ich habe versucht, Jupyter zu verwenden
Ich habe versucht, EfficientDet zu verschieben
Ich habe versucht, Shell zu programmieren
Ich habe versucht, doctest zu verwenden
Ich habe Python> Decorator ausprobiert
Ich habe versucht, TensorFlow auszuführen
Ich habe Auto Gluon ausprobiert
Ich habe versucht, Folium zu verwenden
Ich habe versucht, jinja2 zu verwenden
Ich habe AWS Iot ausprobiert
Ich habe die Bayes'sche Optimierung ausprobiert!
Ich habe versucht, Folium zu verwenden
Ich habe versucht, das Zeitfenster zu verwenden
Ich habe Value Iteration Networks ausprobiert
Ich habe fp-Wachstum mit Python versucht
Ich habe versucht, mit Python zu kratzen
Ich habe die Bildklassifizierung von AutoGluon ausprobiert
Ich habe versucht, mit Elasticsearch Ranking zu lernen!
[Ich habe versucht, Pythonista 3 zu verwenden] Einführung
Ich habe versucht, easydict (Memo) zu verwenden.
Ich habe versucht, SVM zu organisieren.
Ich habe versucht, das Gesicht mit Face ++ zu erkennen
Ich habe versucht, RandomForest zu verwenden
Ich habe versucht, mit PyCaret zu clustern
Ich habe versucht, BigQuery ML zu verwenden
Ich habe "K-Fold Target Encoding" ausprobiert.
Ich habe versucht, PCANet zu implementieren