Skip to content

kurotakazuki/tinycpuasm2ml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TinyCPU ASM to ML

某広島の大学の情報科学部の授業内で使用したTinyCPUのアセンブリ言語のコードから機械語を出力するプログラムです。

経緯

授業内では手書きで心を無にしながら機械語に変換していたが、心を無にするだけでは変換スピードが遅く、全ての内容を授業内に終わらせられなかったので、自分への戒めとして、自動変換プログラムを作成しました。

使い方

cargo run <ファイル名>

繰り返し処理を用いて1から10までの和を計算するプログラム

L1: PUSH i
    JZ L2 ; i が0のときL2番地に分岐
    PUSH n
    PUSH i
    ADD
    POP n ; n <- n + i
    PUSH i
    PUSHI 1
    SUB
    POP i ; i <- i - 1
    JMP L1 
L2: PUSH n
    OUT ; スタックトップの値をポップし、7セグメントLEDに表示
    HALT ; プログラムの動作を停止
i: 10
n: 0

(2-4.asmファイルがディレクトリ内に存在する場合の)cargo run 2-4.asmの出力結果

000:200E
001:500B
002:200F
003:200E
004:F000
005:300F
006:200E
007:1001
008:F001
009:300E
00A:4000
00B:200F
00C:E000
00D:0000
00E:000A
00F:0000

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages