アプリ版:「スタンプのみでお礼する」機能のリリースについて

ポケコン(Z-1GR)でのアセンブリ言語の記述方法について。

いつもお世話になっております。

小生、只今Z-1GRというポケコンを使用し、x86のアセンブリ言語を習得しようとしています。
そこで、先輩方に質問なのですが、私のもっている3種類のポケコンでアセンブリ言語を入力する際、必ず先に使用するメモリの量を指定しなければいけません。

かといって、私の今のスキルでは、どのくらいのプログラムの量になるかはわかりませんので、最初に指定するメモリの量もわかりません。

先輩方はこのような時、まず、紙などにプログラムを書き、それでメモリの量などを計算していらしたのでしょうか?

それとも、最初から各ニーモニックを機械語に変換した際のバイト数を把握した上でメモリ量を指定されていたのでしょうか?

私はまだまだ、ニーモニックから機械語に変換するスキルを持っていないので、先に紙に書き、書いたニーモニックを機械語に自分で翻訳し、プログラムのバイト量を計算しようと思っています。
この方法以外にも、ポケコンでアセンブリ言語をプログラムする際の便利な考え方があればご教示願います。

お忙しい中申し訳ございませんが、先輩方ご教示宜しくお願い致します。

A 回答 (2件)

例えば機械語で、2ヵ所のメモリーの数値を足して新たなメモリーに転送するとすると、2バイトの命令文で2ステップ必要です。


If文のような条件分岐を実現するのには、3ステップ必要です。
繰り返しを記述するとすると、初期設定を含めて4ステップ必要です。
さらに変数と配列の個数分と文字列領域の長さ分だけのメモリーが必要になるでしょう。何度も作っているとプログラムの大きさの大体の見当が付くようになるでしょう。
それはちょうど、物書きが説明したい内容にふさわしい文章量を予想したり、アナウンサーが残り時間を計算しながら話をまとめたりするのと同じ能力だと思います。

ちなみに機械語・アセンブラ学習のための教材を作っていますので、よかったら次のURLから取って使ってみて下さい。
http://www.vector.co.jp/soft/win95/edu/se453553. …

情報処理技術者試験用の機械語・アセンブラ学習のためのシミュレータであるWCASL-IIを次のURLから取って実習してみると理解が深まるでしょう。
http://www.vector.co.jp/soft/win95/prog/se184950 …
    • good
    • 0
この回答へのお礼

seastar3さん、2度もご教示頂き誠に感謝申し上げます。

ご教示頂いた、
>例えば機械語で、2ヵ所のメモリーの数値を足して新たなメモリーに転送するとすると、2バイトの命令文で2ステップ必要です。
>If文のような条件分岐を実現するのには、3ステップ必要です。
>繰り返しを記述するとすると、初期設定を含めて4ステップ必要です。

大変、勉強になりました。

そして、
>何度も作っているとプログラムの大きさの大体の見当が付くようになるでしょう。

このお言葉に大変勇気付けられました。

seastar3さんの作成されたツールも拝見させて頂いたところ、
自分の力になるツールでした。

本当に沢山のご教示頂き、ありがとうございました!

お礼日時:2010/05/18 10:06

カシオのFX-890Pの学校向け機種と言うことで、以下のようなサイトが参考になりそうです。




http://www.sharkpp.net/pokecom/pclink/casio.html
http://www16.ocn.ne.jp/~ver0/pc/index.html#z1

エミュレータでパソコン上で作って、RS-232Cケーブルで転送するのでしょう。
使用するメモリーの量については、たぶんプログラム用のメモリー容量以内であれば、作りたいプログラムの記述が余るぐらいとってもよいでしょう。それだけの範囲を初期クリアするための設定だと思います。また、複数のモジュールを書き込みたい場合は、後続のモジュールの先頭番地をふさわしい位置に設定できるはずです。
シャープ機は機械語操作したこともあるのですが、カシオ機は操作したことがないのであくまで推測のアドパイスです。

この回答への補足

seastar3さん、ご回答頂き誠に感謝申しあげます。

>使用するメモリーの量については、たぶんプログラム用のメモリー容量以内であれば、作りたいプログラムの記述が余るぐらいとってもよいでしょう。それだけの範囲を初期クリアするための設定だと思います。

上記のご教示大変参考になりました。
しかし、先にプログラムの量が分かる為には、やはり各ニーモニックを機械語に変換した際のバイト数+オペランドのバイト数が分かった方がメモリを確保しやすいのではないでしょうか??

お忙しい中、申し訳ございませんが、もう一度だけでいいですのでご教示宜しくお願い致します。

補足日時:2010/05/16 19:41
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!