9821のMSDOS6.2の基本セットと拡張セットを持っています。昔の教本を読みながらMASMを使って9821でプログラミングをしたいと思っています。
しかしこの環境でつかえるMASMは現在販売されていないようで、オークションなどでも見つけることができませんでした。
よく過去の質問に8086で動くMSDOSアプリケーションとして互換性のあるフリーのマクロアセンブラを使えるというアドバイスが出てきますが、
DOS/VとPC98では構造が異なるので実際のところどうなのか気になります。
もしそれらを使用した場合、MSDOSのシステムコールを使わず機種に依存した命令もアセンブルやアンアセンブルはできるのでしょうか?
特にフロッピーディスクまわりの命令を自在に操れるようになれればと思うのですが。
初心者なのでちんぷんかんぷんなことをお尋ねしていると思われるかもしれませんがよろしくお願いします。
No.1ベストアンサー
- 回答日時:
アセンブリ言語は、(MASMもそうですが)機種依存ではなくて、CPU依存です。
ですから、i8086(せいぜいi80386くらいまで)の命令は、全てサポートしています。
システムコールは、MS-DOSであれば、おそらくAT互換機でもPC-9821でも同じだと思います。
しかし、G-RAMのアドレスやBIOS関連(AT互換機はBIOSコールを使える。PC-9801は別のコールがあった気がする。)、グラフィック命令関連は、機種依存(アドレスやサービスコールが異なる)があるのでその機種にあわせたコールをする必要があります。
コールそのものは、ニーモニックとして存在しています。
皆様、アドバイスありがとうございました。
多角的な意見をいただきたいと思ってずっと放置していた本質問を締め切ります。
今は6年前と環境が激変し愛器に電源を入れる時間もほとんどなくなってしまいました。
御礼が遅くなり、申し訳ございません。
No.3
- 回答日時:
MASMというのは、intelのASM86アセンブラのMicrosoft製の互換品で、厳密にはサードパーティーの商品になります。
バイナリに関しては、MS-DOS(PC-DOS)汎用であれば違いはありません。低レベルなグラフィックやディスクアクセスをしなければ、気にする必要はないものです。
機種固有の部分は、特定の割り込み命令(PC98x1ならint1B)を使い、これについては、書籍などを参考にしてください(98だとASCIIから出ていたPC-9801プログラマーズリファレンスや秀和の本、どちらも絶版。ATだと、ソフトバンクからで出てたかな)。
98だと、プロテクトがらみでμPD765Aを制御したり、ATでもコントローラ(日立だったかな)をいじる方法もありますが、まあ、よほどの熟練者(モニタやデバッガだけでプログラムできるレベル)でないと無理でしょう。
多分、ここを見ている方でも、出来る方は一桁くらいかと思います。
MASM互換のアセンブラはネットを探せばあります、リンカやデバッガもあり、98でも動きますよ。
皆様、アドバイスありがとうございました。
多角的な意見をいただきたいと思ってずっと放置していた本質問を締め切ります。
今は6年前と環境が激変し愛器に電源を入れる時間もほとんどなくなってしまいました。
御礼が遅くなり、申し訳ございません。
No.2
- 回答日時:
8086のプログラムとして書く限り、機種に依存した機械語の命令(ニーモニック)というのは無いはずです。
が、使用するアセンブラによって、マクロ機能やセグメントの指定の仕方等に多少の差はあると思います。また、MS-DOSのシステムコールを使わずにFDを読み書きするなら、BIOSを使うことになりますが、BIOSや読み書きしたいFDのフォーマット(ファイルの管理方法やセクタ長とか)等の資料も必要になりますね。
BIOSもイヤで気力と技術があればFDCを直接制御することもできますが、DMAとか割り込みも制御しないといけなかったはずなので、ものすごく大変です…I/Oの割付はPC/ATとPC98では全く違うので、PC98の資料を集める必要があります。(昔は解析本など、沢山出ていたんですが)
皆様、アドバイスありがとうございました。
多角的な意見をいただきたいと思ってずっと放置していた本質問を締め切ります。
今は6年前と環境が激変し愛器に電源を入れる時間もほとんどなくなってしまいました。
御礼が遅くなり、申し訳ございません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- iPhone(アイフォーン) 【iPhone SIMフリー】ドコモ契約者です。「機種変更を自分でする方法」について、初歩的な質問で 10 2023/08/25 06:08
- 格安スマホ・SIMフリースマホ スマホ本体とSIMカードを新しく買い替えたい。 7 2023/01/23 18:44
- プリンタ・スキャナー 最近のインクジェットプリンターの互換インクカートリッジは販売されていない場合があるのでしょうか? 7 2022/10/05 14:48
- その他(スマートフォン・携帯電話・VR) SIMカードをこのまま使い、中国製以外のスマホを新しく替い買える、SIMカードの挿入は自力 3 2023/01/25 18:39
- Android(アンドロイド) いま、auでGalaxy A 32、5G 使用しています。 一年半くらい使用しています。 機種代は分 1 2022/10/02 11:23
- アプリ Webやアプリの制限が可能なWindowsアプリケーション 4 2022/11/10 12:13
- その他(悩み相談・人生相談) 恋愛依存と育ってきた家庭環境 他者が離れていくことが怖く過度に顔色を伺ってしまうことと家庭環境は関係 3 2022/08/29 17:50
- 格安スマホ・SIMフリースマホ Y!mobileから他の格安スマホへ 4 2022/05/29 19:01
- 哲学 日本人の神とその信仰のかたち 5 2022/08/21 18:31
- モニター・ディスプレイ パソコンのモニター選び 10 2022/11/30 12:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ライン数とステップ数の違いは?
-
PC-9801 MS-DOSでの実行ファイ...
-
実行ファイルからソースはみれる?
-
アセンブラからC言語に変換する...
-
アセンブラ言語がわかりません。
-
アセンブラの学習法
-
アセンブラで割り算
-
アセンブラの開発環境
-
CASIOのポケコンZ-1GRのアセン...
-
エンディアンについて。
-
nasmとgccのコマンドで得られる...
-
64ビットWindows上でアセンブリ...
-
素数を求めるプログラム(アセン...
-
PICに書き込むプログラムや変数...
-
0xffffとは?
-
エクセルVBAのIf,Then 構...
-
[VBS] 素早くローテート演算したい
-
ビットシフトってどんな時使うの?
-
8ビットのデータの、先頭ビット...
-
シーケンス制御についての質問...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ライン数とステップ数の違いは?
-
アセンブラからC言語に変換する...
-
Windowsはオープンソースですか?
-
[C言語→アセンブリ言語]はどう...
-
実行ファイルからソースはみれる?
-
PICはアセンブラとC言語のどち...
-
void __cdeclなど_
-
アセンブラ言語がわかりません。
-
このアセンブラの意味を教えて...
-
アセンブラのコマンドについて
-
エンディアンについて。
-
PICのアセンブラからC言語へ変...
-
アセンブラで割り算
-
最初のアセンブラ
-
CASIOのポケコンZ-1GRのアセン...
-
SHの命令の意味について
-
PC-9801でマシン語を学習するに...
-
アセンブラのLA
-
masm32がうまく動きません。
-
PC-9801 MS-DOSでの実行ファイ...
おすすめ情報