Wednesday 6 February 2019

Fortran Program Sheet

ハンドアセンブラ用に使っていたみたい。これは、カセットへの書出しルーチンだな。

GAMEで書いたアセンブラができるまではハンドアセンブルだった。

Z80ではCP/MのEdit80/Macro80使いだったので、アセンブラ書きに走ったらしい。

アスキーにも6809のアセンブラは載ったのですが検索ルーチン部分は機械語。自分のはIndexで実装されてました。

  1000 K=L:X)-"A" X=X+1
  1010 ;=K>26+(K<0) "MISS LABEL" X=X-1 @ X=X+1 @=(L:X)&$DF=0) #=20000
  1020 Y=I(K)
  1025 J=-1 @ J=J+1 D=L:X+J) @=(D<"0").(D>"Z").(J=5) ;=#J V=0 #=1040
  1030 ;=L:X)>Y:0) @ Y=Y+7 @=(L:X)<=Y:0))
  1035 V=-1 @ V=V+1 @=(L:X+V)<>Y:V)).(V=J) ;=L:X+V)>Y:V)&(V<J) Y=Y+7 #=1035
  1040 ;=V>4+(Y:V)=" ") "multi defnition" #=20000
  1050 ;=K<25 J=K+1,25 I(J)=I(J)+7 @=J+1
  1060 G=H H=H+7 V=Y-G/2 J=0 @ J=J-1 H(J)=G(J) @=(J<V)
  1070 J=0,4 ;=L:X)>"/" Y:J)=L:X) X=X+1 #=1090
  1080 Y:J)=" "
  1090 @=J+1 Y=Y+J Y(0)=A ]

ここが検索ルーチンらしいが、目がつぶれる感じ。良く動いたな。

No comments: