Ceci est une continuation de Dernière fois (Nand2Tetris Chapitre 5 Partie 2).
Je l'ai utilisé comme référence. Seul Nand2Tetris / Hiraku
J'ai écrit quelque chose comme une impression dans le commentaire. juste un peu.
Je pense qu'il a fallu une heure pour reconnaître le constructeur comme __init__
. .. ..
Il m'a fallu un certain temps pour réaliser le concept de création d'une classe.
Je n'ai pas écrit ce genre de code depuis un moment, donc
Je ne me souvenais même pas du code de base, donc ça va J'ai recherché quelque chose comme "remplacement de chaîne Python".
input("plz_input:", filename)
J'ai aussi fait des choses étranges comme ça. Même si c'est Python. memo
-** Symbole **
Dans le monde de l'assemblage, au lieu des commandes LOAD, R3, 7
, GOTO, 250
, vous pouvez utiliser des symboles pour écrire LOAD, R3, weight
, GOTO, LOOP
. Cependant, il est nécessaire de définir ce qu'indique «LOOP».
Méthode de réglage
/*1+2+3+...+100*/
i = 1
sum = 0
LOOP:
if i = 101 goto END
sum = sum + i
goto LOOP
END:
goto END //Bouclez l'ordinateur à l'infini et terminez l'exécution
Nom du symbole | Nom d'adresse |
---|---|
i | 1024 |
sum | 1025 |
LOOP | 2 |
END | 6 |
Pour les convertir en code sans symboles
Code qui a effectué la résolution de symboles
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
Cette méthode doit noter ce qui suit ・ Jusqu'à 1024 codes de programme peuvent être stockés -La zone mémoire des commandes et des variables source est exprimée en un seul mot. Dans le cas d'un convertisseur également, il est nécessaire de concevoir en tenant compte de la largeur de mot de la variable.
End of script - Comparison ended succesfully
Cela a pris 11 heures et 30 minutes. Progress repository_GitHub
Recommended Posts