ポケコン(Z-1GR)でのアセンブリ言語の記述方法について。
いつもお世話になっております。
小生、只今Z-1GRというポケコンを使用し、x86のアセンブリ言語を習得しようとしています。
そこで、先輩方に質問なのですが、私のもっている3種類のポケコンでアセンブリ言語を入力する際、必ず先に使用するメモリの量を指定しなければいけません。
かといって、私の今のスキルでは、どのくらいのプログラムの量になるかはわかりませんので、最初に指定するメモリの量もわかりません。
先輩方はこのような時、まず、紙などにプログラムを書き、それでメモリの量などを計算していらしたのでしょうか?
それとも、最初から各ニーモニックを機械語に変換した際のバイト数を把握した上でメモリ量を指定されていたのでしょうか?
私はまだまだ、ニーモニックから機械語に変換するスキルを持っていないので、先に紙に書き、書いたニーモニックを機械語に自分で翻訳し、プログラムのバイト量を計算しようと思っています。
この方法以外にも、ポケコンでアセンブリ言語をプログラムする際の便利な考え方があればご教示願います。
お忙しい中申し訳ございませんが、先輩方ご教示宜しくお願い致します。
No.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 …
seastar3さん、2度もご教示頂き誠に感謝申し上げます。
ご教示頂いた、
>例えば機械語で、2ヵ所のメモリーの数値を足して新たなメモリーに転送するとすると、2バイトの命令文で2ステップ必要です。
>If文のような条件分岐を実現するのには、3ステップ必要です。
>繰り返しを記述するとすると、初期設定を含めて4ステップ必要です。
大変、勉強になりました。
そして、
>何度も作っているとプログラムの大きさの大体の見当が付くようになるでしょう。
このお言葉に大変勇気付けられました。
seastar3さんの作成されたツールも拝見させて頂いたところ、
自分の力になるツールでした。
本当に沢山のご教示頂き、ありがとうございました!
No.1
- 回答日時:
カシオのFX-890Pの学校向け機種と言うことで、以下のようなサイトが参考になりそうです。
http://www.sharkpp.net/pokecom/pclink/casio.html
http://www16.ocn.ne.jp/~ver0/pc/index.html#z1
エミュレータでパソコン上で作って、RS-232Cケーブルで転送するのでしょう。
使用するメモリーの量については、たぶんプログラム用のメモリー容量以内であれば、作りたいプログラムの記述が余るぐらいとってもよいでしょう。それだけの範囲を初期クリアするための設定だと思います。また、複数のモジュールを書き込みたい場合は、後続のモジュールの先頭番地をふさわしい位置に設定できるはずです。
シャープ機は機械語操作したこともあるのですが、カシオ機は操作したことがないのであくまで推測のアドパイスです。
この回答への補足
seastar3さん、ご回答頂き誠に感謝申しあげます。
>使用するメモリーの量については、たぶんプログラム用のメモリー容量以内であれば、作りたいプログラムの記述が余るぐらいとってもよいでしょう。それだけの範囲を初期クリアするための設定だと思います。
上記のご教示大変参考になりました。
しかし、先にプログラムの量が分かる為には、やはり各ニーモニックを機械語に変換した際のバイト数+オペランドのバイト数が分かった方がメモリを確保しやすいのではないでしょうか??
お忙しい中、申し訳ございませんが、もう一度だけでいいですのでご教示宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 3 2022/10/04 15:07
- 英語 会社で英語を使うことになっての英語の勉強方法 5 2022/07/03 11:49
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- その他(プログラミング・Web制作) 変換のプログラムを教えてください。 6 2023/07/01 09:57
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- 日本語 脳科学の奇妙な言語獲得論 2 2022/04/04 13:13
- 大学受験 3浪しようと思うので、アドバイスお願いします。 自分としては結構メンタルきつくて後期でいいから、東京 3 2023/02/13 21:47
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
- システム CPUの問題について 2 2022/07/09 12:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで4096点以上のFFTの方法
-
あるプログラムのコマンドライ...
-
VBAにてメール作成した際、一部...
-
PICマイコンのコピー(クローン...
-
Excelに埋め込んだVBAのプログ...
-
バッチ、vbs等でのソフトウェア...
-
「Outlookが他のプログラムによ...
-
COBOLでBLOCK CONTAINS句につい...
-
自動クエリとはどういうもので...
-
VBScriptで作成したプログラム...
-
閉じるを押してもデバッグが終...
-
プログラムのループの周期を設...
-
画像処理
-
プログラムの勉強のおすすめは
-
XnViewにwebpを「いつも開く」...
-
C言語 バッファについて。
-
Google カレンダーの商用利用
-
白色雑音(ガウス性)のプログラム
-
Notepad++の関数リスト表示でC...
-
エクセルVBA 検索時に除外を設...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelに埋め込んだVBAのプログ...
-
Notepad++の関数リスト表示でC...
-
あるプログラムのコマンドライ...
-
これってほんとにみますか?
-
Excelで4096点以上のFFTの方法
-
「Outlookが他のプログラムによ...
-
自動クエリとはどういうもので...
-
VBAでユーザーフォームが自動的...
-
VBAにてメール作成した際、一部...
-
PICマイコンのコピー(クローン...
-
テキストボックスのエンターキ...
-
読み込み中にアクセス違反が発...
-
特定のwebサイトのタイトルや記...
-
未使用の変数を一括検索する方法
-
モジュール、アプリケーション...
-
COBOLの連絡領域について
-
Google カレンダーの商用利用
-
エクセルとワードをデスクトッ...
-
ドロップダウンリストの文字を...
-
binファイルってiphone専用です...
おすすめ情報