本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。
QA  Assembler

C++ から呼び出されるアセンブラ関数での32 ビット・レジスタの保存について


A C++ から呼び出されるアセンブラ関数で,退避させる必要のある 32ビットレジスタを教えて下さい。
Q 保存する必要のあるレジスタは,マニュアル(P.248)にある 16ビット・レジスタの説明をそのまま 32ビット・レジスタに置き換えてご理解ください。

Turbo Assembler 5.0J に対する一般的な質問と回答


A Turbo Assembler 5.0J はどのような点が機能拡張されていますか?
A Turbo Assembler 5.0J は MASM との互換性がより強化され,Windows95 フラットサンキング用の TASM32.EXE はサンクコンパイラと互換性が取れています。
また,付属の Turbo Debugger 5.0 は Windows95 でのデュアルモニタサポート (TDW: -do, TD32: -vd) し新しい C++ 言語構成に対するデバッガサポート (ブール,名前空間など) に加え Windows NT での TDW.EXE の使用による 16 ビットデバッグサポートしています。
Q Turbo Assembler 5.0J に含まれるアセンブラは何がありますか?
Q TASM 5.0 のパッケージには以下の 3 種類のアセンブラが含まれています。
TASM.EXE        16 ビットリアルモードアセンブラ
TASMX.EXE       16 ビットプロテクトモードアセンブラ
TASM32.EXE      32 ビットプロテクトモードアセンブラ
3 種類のアセンブラはどれも,アセンブラソースファイル内の疑似命令に従って,16 ビットおよび 32 ビットのオブジェクトファイルを生成できます。16 ビットオブジェクトファイルを生成した場合は,プログラムをリンクするときに 16 ビットリンカ (TLINK.EXE) を使う必要があります。32 ビットオブジェクトファイルを生成する場合は,プログラムのリンクには 32 ビットリンカ (TLINK32.EXE) を使わなければなりません。

TASM.EXE はリアルモードアセンブラであり,DOS でアドレス可能な 640K 以下のメモリのみを使います。大規模なアプリケーションをアセンブルする場合は,TASMX.EXE または TASM32.EXE を使うことになります。TASMX と TASM32 は,DPMI サーバーを利用して 640K 超のプロテクトメモリを使用します。

3 種類のアセンブラの最も大きな違いは,/zi コマンドラインオプションでアセンブルを行う際に生成されるデバッグ情報の形式です。TASM.EXE と TASMX.EXE は,ともに 16 ビットのデバッグ情報のみを生成します。TASM32.EXE が生成するデバッグ情報は 32 ビットのみです。アセンブラプログラムを Turbo Debugger でデバッグする場合は,TASM.EXE または TASMX.EXE で 16 ビットオブジェクトを生成しなければなりません。32 ビットのデバッグ情報を生成するには TASM32.EXE でアセンブルを行います。

Language Q&A に戻る | Q&A ホームページへ戻る

Trademarks & Copyright (C) 1998 INPRISE Corporation. Last modified on 8-June-1998.

inserted by FC2 system