2023-06-09から1日間の記事一覧

アセンブラを作る / 最終版を作る

Chapter 6 これでPart I Hardware全6章が終わり。最初はここ。 from Parser import * from Code import * from Symbol_Table import * class Hack_Assember: def __init__(self, input_file_path): # 出力ファイル名は入力ファイル名の拡張子を.hackに変えた…

アセンブラ / ファーストパス、セカンドパス / 非公式訳

pp.108-109 ファーストパス: 行番号の順に1行ずつ最初から最後までアセンブリプログラム全体を見てゆきます。行番号は0から始めて、A命令またはC命令の見つかったときに1増やしますが、コメントまたはラベル宣言のときには増やしません。ラベル宣言(xxx)の見…

アセンブラを作る / シンボルテーブルを作る

Chapter 6 これもテキストの手順どおりに作る。ここでは辞書を使った。 class Symbol_Table: def __init__(self, num_registers=16): self.symbols = {"SP":0, "LCL":1, "ARG":2, "THIS":3, "THAT":4} self.ram_last_address = num_registers - 1 # 疑似汎用…