現コンパイラがサポートしていない関数について
現コンパイラとしてC++ビルダー2009付属のコンパイラBCC32を使用している。
ストリームエデイタ(SED)のソースコードを入手して,色々調べてみている。
SEDのなかで「intdos」関数を使用している。
現コンパイラはintdosをサポートしていない。dos.hのなかでintdosは定義されていない。
SEDの中で使用している
intdosのAH=4EHはfindfirst関数に、
intdosのAH=4FHはfindnext関数に、に置き換えられることがわかった。
SEDではpsp(プログラム・セグメント・プレフィックス)のアドレスがグローバル変数_pspに格納されていることを使用している。pspのアドレスはintdosのAH=51HまたはAH=62Hで取得できる。
さて質問です。intdosが使用できないときに、pspのアドレスを取得する方法を教えて下さい。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
そもそもなんのためにPSP領域を参照しているのでしょうか?
DOS用のsedというだけで詳細がわかりませんが、PSP領域の後半にある
コマンドラインで入力された内容を直接解析しているのではないでしょうか?
であれば、WindowsプログラムでPSP領域のアドレスをどうこう、ではなく、
Windows API でコマンドライン領域を取得するというやり方で代替すべきでは
ないかと思います。
GetCommandLine 関数
http://msdn.microsoft.com/ja-jp/library/cc429108 …
No.1
- 回答日時:
intdosはMS-DOSサービスコールを呼び出す関数なので、それってDOSベースのソースファイル(つまり16ビットモデル)ですよね。
もう少し別物を参照した方が・・・って言う答えは却下ですか?Win32にintdosはないので、これを使えと言うヒントがマイクロソフトから示されていますが、その中に51H,62Hは含まれていません。まあ、思いっきりMS-DOSに依存した処理内容のサービスコールなので、どうしようもない気が。
http://msdn.microsoft.com/ja-jp/library/cc438736 …
次の説明を見てもらえれば、そのソースをベタ移植してWin32で動かすのは絶望的に感じられると思います。
http://www5c.biglobe.ne.jp/~ecb/assembler2/7_5.h …
一応、サービスコール一覧はこちらからどうぞ。実はこれ、DR-DOSのものですが、互換性があるので説明は通用するはず。
http://hp.vector.co.jp/authors/VA003720/lpproj/d …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlコードのロック
-
カンマ区切り形式ではなく、セ...
-
リンクを送るとは?
-
ホームページビルダーでフレー...
-
他の方のPCの環境で・・
-
ホームページビルダー 画像 ...
-
コピー/貼り付けの方法
-
【敬語】お掛けしてもよろしい...
-
ネット上で自作自演を見破る方法
-
ゲームブック風のオンラインア...
-
Dreamweaver8を使っていますが...
-
知ってる方、教えてください!
-
VBAでマルチページのページ指定...
-
Index hospitalization とは?
-
htmlでテキストファイルの中身...
-
画像へのリンク(URL)埋め込み
-
キングファイルの背表紙を作成...
-
中国のEV
-
txtファイル内の指定の単語の数...
-
リンクをアップデートするしな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlコードのロック
-
Dreamweaver現状維持したまま編...
-
Dreamweaver一部にだけ編集可能...
-
ドリームウィーバーで動画を挿...
-
DreamweaverCS3 テンプレートの...
-
リカバリディスクの作り方を考...
-
Dreamweaverのテンプレートで各...
-
Expression Web4のDWTについて
-
static変数のループ内での処理
-
現コンパイラがサポートしてい...
-
Apple Software Updateでディス...
-
Dreamweaverテンプレート機能で...
-
<IFRAME>でコンテンツ部分のみ...
-
カンマ区切り形式ではなく、セ...
-
パワーポイントで参照ページを...
-
キングファイルの背表紙を作成...
-
リンクをアップデートするしな...
-
エクセルVBAでマルチページの切...
-
txtファイル内の指定の単語の数...
-
NTFSはバージョンがまたがる場...
おすすめ情報