日本-日本語
≫
日本HPホーム
≫
製品 & サービス
≫
OpenVMS製品情報
≫
お問い合わせ
OpenVMS マニュアル
≫
OpenVMS ドキュメント
ライブラリ
≫
タイトルページ
≫
目次
≫
まえがき
≫
第 1 部 : 概念と方法
第 1 章:Macro-32コードの移植の準備
≫
第 2 章:MACROコンパイラのプラットフォームごとの動作
≫
第 3 章:ソースに対する推奨される変更と必要な変更
≫
第 4 章:移植したコードの性能改善
≫
第 5 章:MACROの64ビット・アドレッシングのサポート
≫
第 2 部:リファレンス・セクション
付録 A :MACROコンパイラの修飾子
≫
付録 B :専用の指示文
≫
付録 C :MACROコンパイラ・ビルトイン
≫
付録 D :VAXからAlphaまたはI64への移植用のマクロ
≫
付録 E :64ビット・アドレッシング用のマクロ
≫
索引
PDF
≫
OpenVMS ホーム
HP OpenVMS MACRO コンパイラポーティングおよびユーザーズ・ガイド
HP OpenVMS MACRO コンパイラ
ポーティングおよびユーザーズ・ガイド
最初へ
索引
目次 (まとめ)
まえがき
まえがき
第 1 部
概念と方法
第 1 章
Macro-32 コードの移植の準備
第 2 章
MACRO コンパイラのプラットフォームごとの動作
第 3 章
ソースに対する推奨される変更と必要な変更
第 4 章
移植したコードの性能改善
第 5 章
MACRO の 64 ビット・アドレッシングのサポート
第 2 部
リファレンス
付録 A
MACRO コンパイラの修飾子
付録 B
専用の指示文
付録 C
MACRO コンパイラ・ビルトイン
付録 D
VAX から Alpha または I64 への移植用のマクロ
付録 E
64 ビット・アドレッシング用のマクロ
索引
例
表
目次
まえがき
まえがき
まえがき
第 1 部
第 1 部
概念と方法
第 1 章
1
Macro-32 コードの移植の準備
1.1
MACRO コンパイラの機能
1.2
コンパイラとアセンブラの違い
1.2.1
コードの移動
1.2.2
コードの複製
1.2.3
コードの削除
1.2.4
命令のインターリーブ
1.2.5
予約オペランド・フォルト
1.3
OpenVMS VAX から OpenVMS Alpha または OpenVMS I64 への段階的な移植手順
1.4
OpenVMS Alpha から OpenVMS I64 への段階的な移植手順
1.5
移植性のない VAX MACRO のコーディング・スタイルの特定
1.6
有効なコーディング規約の作成
1.7
共通ソースの保守
1.7.1
コンパイラ指示文定義の追加
1.7.2
VAX への依存の除去
1.7.3
アーキテクチャ固有のコードの条件付け
第 2 章
2
MACRO コンパイラのプラットフォームごとの動作
2.1
Alpha と Itanium のレジスタの使用
2.2
Itanium アーキテクチャ,呼び出し規則,レジスタ・マッピング
2.3
ルーチンの呼び出しと宣言
2.3.1
リンケージ・セクション( OpenVMS Alpha のみ)
2.3.2
プロローグ・コードとエピローグ・コード
2.3.3
エントリ・ポイントの宣言が必要な場合
2.3.4
ルーチンのエントリ・ポイントを指定するための指示文
2.3.5
ルーチン呼び出しのコード生成
2.4
CALL エントリ・ポイントの宣言
2.4.1
ホーミングされた引数リスト
2.4.2
変更されたレジスタの保存
2.4.3
引数ポインタの変更
2.4.4
呼び出されたルーチン内での動的な条件ハンドラの設定
2.5
JSB ルーチンのエントリ・ポイントの宣言
2.5.1
.JSB_ENTRY と .JSB32_ENTRY の違い
2.5.2
.JSB32_ENTRY を使用する一般的な 2 つのケース
2.5.3
JSB ルーチン内の PUSHR 命令と POPR 命令
2.5.4
JSB ルーチン内での動的な条件ハンドラの設定
2.6
ルーチンのレジスタ使用の宣言
2.6.1
エントリ・ポイントのレジスタ宣言の input 引数
2.6.2
エントリ・ポイントのレジスタ宣言の output 引数
2.6.3
エントリ・ポイントのレジスタ宣言の scratch 引数
2.6.4
エントリ・ポイントのレジスタ宣言の preserve 引数
2.6.5
レジスタ・セットを指定するためのヘルプ
2.7
ローカル・ルーチン間での分岐
2.8
例外エントリ・ポイントの宣言 ( OpenVMS Alpha のみ)
2.9
パック 10 進数命令の使用
2.9.1
OpenVMS VAX と OpenVMS Alpha / I64 の実装の違い
2.10
浮動小数点命令の使用
2.10.1
OpenVMS VAX と OpenVMS Alpha / I64 の実装の違い
2.10.2
他の言語のルーチンに対する影響
2.11
VAX の不可分性と細分性の維持
2.11.1
不可分性の維持
2.11.2
細分性の維持
2.11.3
不可分性と細分性の優先順位
2.11.4
不可分性が保証できない場合
2.11.5
不可分性のためのアラインメントの留意事項
2.11.6
インターロックされる命令と不可分性
2.12
コンパイルとリンク
2.12.1
リスト・ファイルの行番号
2.13
デバッグ
2.13.1
コードの再配置
2.13.2
ルーチンの引数のシンボリック変数
2.13.3
$ARG
n
シンボルを使用せずに引数を見つける
2.13.3.1
簡単に見つけることができる追加の引数
2.13.3.2
簡単に見つけることができない追加の引数
2.13.4
OpenVMS I64 での VAX と Alpha のレジスタ名の使用
2.13.5
パック 10 進数データを使用したコードのデバッグ
2.13.6
浮動小数点データを使用したコードのデバッグ
第 3 章
3
ソースに対する推奨される変更と必要な変更
3.1
スタックの使用
3.1.1
プロシージャ・スタック・フレームの参照
3.1.2
現在のスタック・フレームの外側の参照
3.1.3
アラインされていないスタックの参照
3.1.4
スタック上のデータ構造の構築
3.1.5
VAX の SP および PC へのクォドワードの移動
3.2
命令ストリーム
3.2.1
命令ストリームに埋め込まれたデータ
3.2.2
実行時のコード生成
3.2.3
命令サイズへの依存
3.2.4
不完全な命令
3.2.5
トランスレートされない VAX 命令
3.2.6
内部プロセッサ・レジスタの参照
3.2.7
BICPSW 命令での条件コード Z および N の使用
3.2.8
インターロックされるメモリ命令
3.2.9
MOVPSL 命令の使用
3.2.10
マクロによって実装される命令
3.3
フロー制御メカニズム
3.3.1
条件コードによる通信
3.3.2
JSB ルーチンから CALL ルーチン内への分岐
3.3.3
スタックへの戻りアドレスのプッシュ
3.3.4
スタック上の戻りアドレスの削除
3.3.5
戻りアドレスの変更
3.3.6
コルーチン呼び出し
3.3.7
REI を使用したモードの変更
3.3.8
ループのネスト制限
3.4
イメージの動的な再配置
3.5
静的なデータの上書き
3.6
外部シンボルを使用した静的な初期化
3.7
転送ベクタ
3.8
算術例外
3.9
ページ・サイズ
3.10
ワーキング・セットへのページのロック
3.11
同期
目次
索引
© 2012 Hewlett-Packard Development Company, L.P.