パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

初めて作った自作プログラムは?」記事へのコメント

  • 3e xx 01 xx xx 11 xx xx 21 xx xx cd xx xx c9 こげな感じ。
    • 20年たった今でもそらで覚えています。
      21 00 F3 32 41 77
      機種はPC-8001です。
      さてどんなプログラムでしょう。
      --
      AVG anti-virus data base out of date
      • それじゃあたしもちょっと出題してみましょう――

        3E 16 CD 12 00

        機種は MZ-80K シリーズ。

        # 定石中の定石だったんで脳味噌の片隅に今もこびりついてました。

        • はい、画面クリア。

          SP-5030で表現すると、

          10 PRINT "C"
          (Cは反転文字)

          と機能的に等価ですね。

          個人的には当時使ってたアセンブラがLD A,Rに
          対応してなかったのでED 5Fを定石として覚えてました。
          • 正解です♪ こういう話題で反応して頂けるとみょ~に嬉しいですね。

            ご存知でない方のために軽く説明しときましょう(でも記憶が曖昧なんで用語は不正確かも)。

            まずコードは:
            LD A,16h
            CALL 0012h
            になります。

            MZ-80K シリーズのアドレス $0000 から 4kB は ROM が載ってまして、 その先頭の方には C3 n m (JP mn)命令が沢山並んでました(こういうの、 ジャンプテーブルって呼ぶんでしたっけ?)。 飛び先は ROM 内の各種サブルーチンで、 ROM のバージョンが変わってルーチンの先頭アドレスがずれても、 このジャンプ命令の位置は変更されないので互換性を保ってたわけですね。

            # 全くの余談: この部分をそのまま音階発生ルーチンに順番に渡すと、
            # 結構面白い音楽になりました。

            アドレス $0012 は、 A レジスタの内容を文字として現在のカーソル位置に表示するルーチンへの入り口でした。

            何故これが画面クリアになるかというと、 まぁ要するに 16h がそういうコントロールキャラクタだったからなんですね。 この画面クリアを行う CLR(16h)の他に、 カーソルを 0,0 に戻す HOME(15h だったと思いますが……)と、 現在位置から上下左右に移動する(キャラクタコード完全に忘れました)のがありあました。

            で、 このコントロールキャラクタを表記する文字があって、 C、H、上下左右の矢印を、 それぞれ白黒反転したものでした。 SP-50x0 BASIC では PRINT 文のダブルクォーテーションの中でこれ等のキャラクタを使うことが出来ました。 確か 5020 までは CURSOR 命令がなくて、 カーソル移動はこの方法しかなかったんじゃなかったかな?

            # 正確には一行編集中にダブルクォーテーションの入力回数が奇数か偶数かで、
            # コントロールコードが入力されるか、それともそれが実際に効力を持つかが決まって、
            # 編集中の行もろとも画面を消しちゃったりとかしたんですが。
            # ダブルクォーテーションを DELETE で消しちゃってもそれは追跡してくれなかったので
            # 慣れるまではよく混乱しましたね。

            親コメント
            • by Oyajikusai (1187) on 2002年10月08日 11時31分 (#179446)
              >確か 5020 までは CURSOR 命令がなくて、カーソル移動は
              >この方法しかなかったんじゃなかったかな

              カーソルコントロールをビジュアルに表現する方法は、PET2001のBASICから影響じゃないかと思います。MZ-80K2Eあたりまでは、いかにも和製PETのような雰囲気だったんですが、MZ-80B以降でその面影がなくなっちゃったんですね。筐体からもBASICからも。

              ######
              超マニヤッククイズ・・・
              以下は詩の一部です。原典は何でしょう? 


              ギリシア神話にでてくるあの若者も、
              そうやって宇宙海に広がる光の夢を織っていたのだ。
              やがて、彼らは金羊毛を探して船出した。目指すは未来。


              ヒント1:彼らはアルゴ船で船出しました。
              ヒント2:伝説的なプログラミング教本です。
              親コメント

にわかな奴ほど語りたがる -- あるハッカー

処理中...