stack machineを愛でる。 その8


概要

stack machineが、好きだ。
練習問題、やってみた。

練習問題

fizzbuzzを、表示せよ。

考え方

剰余の求め方
iの3の剰余が0ならばskip0へ飛ぶ。

  push  "i"
  get
  push  "3"
  %
  push  "1"
  >
  if  skip0

サンプルコード

  push  "x"
  push  ""
  set
  push  "i"
  push  "0"
  set
loop  push  "i"
  push  "i"
  get
  ++
  set
  get
  push  "i"
  get
  push  "15"
  %
  push  "1"
  >
  if  skip2
  push  "i"
  get
  push  "5"
  %
  push  "1"
  >
  if  skip1
  push  "i"
  get
  push  "3"
  %
  push  "1"
  >
  if  skip0
  push  "x"
  push  "x"
  get
  push  "i"
  get
  add
  set
  push  "x"
  push  "x"
  get
  push  " "
  jp  skip3
skip0  push  "x"
  push  "x"
  get
  push  "fizz "
  jp  skip3
skip1  push  "x"
  push  "x"
  get
  push  "buzz "
  jp  skip3
skip2  push  "x"
  push  "x"
  get
  push  "fizzbuzz "
skip3  add
  set
  push  "i"
  get
  push  "100"
  >
  if  loop
  end


成果物

以上。