N88-BASICの場合はGOTOの飛び先は実行時にポインタに変換されるはずで、ここは気をつけなくても高速になります。普通の行番号BASICでは分岐先は線形探索されるものの、ループはFOR-NEXTやWHILE-WENDを使えば良く、サブルーチンは直後に書けば良いので、それほど気になりません。結局、すぐに出来る高速化は、変数の出現順を工夫するだけとなり、これはプログラムを書いた後でも簡単に調整できます。
ですから、当時のマニアは機械語を何とか使おうと苦心したものです。BASICからはCLEAR文で領域確保し、POKE文で機械語をメモリに書き、CALL文またはUSR関数で呼び出します。少なくとも別途アセンブラは必要で、市販品はあったようですが私は使ったことがありません。Z80の機械語自体の学習はそれほど困難は無いですが、ジャンプ命令の飛び先のラベルや変数格納場所のアドレスなどは自動管理しないとやってられません。それとスクリーンエディタは欲しいです。N88-BASICで組めるかな。
機械語からはテキスト画面やグラフィック画面は容易に参照できるはずで、ここは魅力のひとつです。しかし浮動小数点演算一つとっても容易ではなく、文字列処理も煩わしいです。グラフィックでは直線一つ引くのに苦労しますし、サウンドもサブルーチン集を作らないといけません。
第一、アセンブラ自体が生産性が低くて、だからBASICが用意されたのです。計算機言語といっても、B言語程度だと中間言語コンパイラを想定するとそれほど難しくはありませんし、まずまず高速です。が、浮動小数点演算などの問題はそのままです。やれと言われれば、作る自信は私にはありますが、その暇と意欲は別のことに使った方が良いような気がします。ゲームなどに必要なユーティリティも充実させたいし。
などと考えて行くと、結局は備え付けのN88-BASICを素直に使うのが何かとお得、となります。