読者です 読者をやめる 読者になる 読者になる

レガシーコード生産ガイド

私に教えられることなら

NASM / Linux x86-64でjonesforthを移植してみる 3

asm forth

前回

phaendal/jf64 · GitHub

ようやくワード名を入力して解釈実行するようになった。長かった……

64bitだから8bit * 8で8byteでしょ!と安易にアライメントしてたんだけど、計算が合わなくて苦しんだ。動くようにはなったけど、どう間違ってたかまだわかってないのでどうにかして理解したい。

  • そろそろ不要なコード削除して綺麗にしたい(か、書き直すか)
  • レジスタが噛み合ってなくて無駄にpush/popしてるとこがあるので先に書いておく。文字列はrcxがlengthでrdiがアドレス、とか。
  • ジェダイへの道 Retroのソースを読んでみる2 - こんにちはマイコン制御見てて、Retroのソース読みとVMの実装が面白そうなのでそっちやりたくなってきた。
  • 現状、ワードではなく数字の場合の解釈がないので、そこまでいったら再計画したい。

改行入力あたりにバグあるけど、とりあえず動いた。やったぜ。

(60で60を置くワード、4で4を置くワードを定義してる。。)

$ ./forth
60 4 + emit
@helloworld bye 
Hello, world!
$
広告を非表示にする