HP OpenVMS Systems Documentation |
| 前へ | 次へ | 目次 | 索引 |
$ DEPOSIT/DECIMAL 900=256 00000384: 256 |
DEPOSIT コマンドは,位置 900 と値 256 の両方を,10 進数として解釈しています。後続のすべての DEPOSIT および EXAMINE コマンドは,アドレスやデータに指定した数字を 10 進数とみなします。DEPOSIT コマンドは,常にアドレス位置を 16 進数で表示することに注意してください。
= ( 割り当て文 ) コマンドで定義されたシンボル値は,常にそれが定義された基数で解釈されます。
格納位置または格納データとして指定する 16 進数値は,数字 (0 〜 9) で始めなければなりません。数字 (0 〜 9) で始めないとコマンド・インタプリタは,シンボル名が入力されたとみなし,シンボルを置換しようとします。
DEPOSIT コマンドを入力する時に基数演算子 %X,%D,または %O を使用すると,現在の省略時の設定を変更することができます。次の例を参照してください。
$ DEPOSIT/DECIMAL %X900=10 |
このコマンドは, 16 進数 900 として指定した位置を,10 進数値 10 として格納します。
長さ修飾子: DEPOSIT コマンドの,省略時の長さの単位はロングワードです。データ値のリストを指定した場合,データは指定した位置から始まる連続したロングワードに格納されます。コマンド行で長さ修飾子を変更すると,その長さが,後続の EXAMINE および DEPOSIT コマンドの省略時の長さになります。これは,他の修飾子でその設定を変更するまで続きます。
ASCII 値を格納する場合,長さ修飾子は無視されます。
修飾子の位置に関する制限事項: DEPOSIT コマンドは,式を算術的に分析します。そのため,前にスラッシュ (/) が必要な修飾子は,正確に解釈されるためには,コマンド名の直後に指定しなければなりません。
/ASCII
指定したデータが ASCII であることを示します。データ項目は 1 つだけ指定できます。等号(=)の右にあるすべての文字は,文字列であるとみなされます。引用符(" ") で囲まないと,メモリに書き込まれる前にこれらの文字は,すべて大文字に変換され複数の空白は 1 つ空白に圧縮されます。
DEPOSIT コマンドは,仮想メモリに格納する前に,データを 2 進形式に変換します。 /ASCII が指定されている場合,または省略時の設定が ASCII モードの場合,ユーザが指定した位置は 16 進形式であるとみなされます。
/BYTE
一度に 1 バイトずつデータを格納するよう要求します。/DECIMAL
データが 10 進形式であることを示します。 DEPOSIT コマンドは,仮想メモリに格納する前に,データを 2 進形式に変換します。/HEXADECIMAL
データが 16 進形式であることを示します。 DEPOSIT コマンドは,仮想メモリに格納する前に,データを 2 進形式に変換します。/LONGWORD
一度に 1 ロングワードずつデータを格納するよう要求します。/OCTAL
データが 8 進形式であることを示します。 DEPOSIT コマンドは,仮想メモリに格納する前に,データを 2 進形式に変換します。/WORD
一度に 1 ワードずつデータを格納するよう要求します。
| #1 |
|---|
$ RUN MYPROG . . . [Ctrl/Y] $ EXAMINE %D2145876444 7FE779DC: 0000000000 $ DEPOSIT .=17 7FE779DC: 0000000017 $ CONTINUE |
RUN コマンドで,イメージ MYPROG.EXE を実行します。次に Ctrl/Y を押してプログラムを中断します。 /HEXADECIMAL および /LONGWORD 修飾子の省略時の設定が有効であるとみなされ, DEPOSIT コマンドは仮想メモリ位置 2145876444 にロングワード値 17(10 進数で 23)を格納します。
EXAMINE コマンドは,現在のメモリ位置 ( ここでは仮想アドレス 2145876444 ) にポインタを設定しているので,DEPOSIT コマンドでピリオド (.) を使用して,この位置を参照することができます。
CONTINUE コマンドで,イメージの実行を再開させます。
| #2 |
|---|
$ DEPOSIT/ASCII 2C00=FILE: NAME: TYPE: 00002C00: FILE: NAME: TYPE:... |
この例で DEPOSIT コマンドは,16 進形式で位置 2C00 に文字データを格納し,修正した後でこの位置の内容を表示します。現在の省略時の長さはロングワードなので,DEPOSIT コマンドからの応答は,完全なロングワードを表示します。反復記号 (...) は, DEPOSIT コマンドにより修正されなかった情報を含むデータの,最後のロングワードより後にロングワードがあることを示します。
| #3 |
|---|
$ EXAMINE 9C0 ! Look at Hex location 9C0 000009C0: 8C037DB3 $ DEPOSIT .=0 ! Deposit longword of 0 000009C0: 00000000 $ DEPOSIT/BYTE .=1 ! Put 1 byte at next location 000009C4: 01 $ DEPOSIT .+2=55 ! Deposit 55 next 000009C7: 55 $ DEPOSIT/LONG .=0C,0D,0E ! Deposit longwords 000009C8: 0000000C 0000000D 0000000E |
上記の例の一連の DEPOSIT コマンドは,DEPOSIT コマンドで現在の位置ポインタを変更する方法を示しています。/BYTE 修飾子を指定した後,すべてのデータは格納されバイトで表示されます。これは /LONGWORD 修飾子がシステムの省略時の設定を格納するまで続きます。
| #4 |
|---|
$ BASE=%X200 ! Define a base address $ LIST=BASE+%X40 ! Define offset from base $ DEPOSIT/DECIMAL LIST=1,22,333,4444 00000240: 00000001 00000022 00000333 00004444 $ EXAMINE/HEX LIST:LIST+0C ! Display results in hex 00000240: 00000001 00000016 0000014D 0000115C |
割り当て文は基底アドレスを 16 進形式で定義し,基底アドレスから 16 進オフセットにラベルを定義します。 DEPOSIT コマンドは値のリストを読み込み,指定した位置から各値をロングワードに格納します。 EXAMINE コマンドは,これらの値を 16 進数で表示するよう要求しています。
2 つのディスク・ファイルの内容を比較し,一致しないレコードのリストを表示します。
DIFFERENCES 第1ファイル [第2ファイル]
第 1 ファイル
比較のために入力する最初のファイルの名前を指定します。ファイルには,ファイル名とファイル・タイプを指定しなければなりません。ファイルの中で,ワイルドカード文字は使用できません。第 2 ファイル
比較のために 2 番目に入力するファイルの名前を指定します。省略したフィールドに対しては,第 1 ファイルの対応するフィールドが使用されます。ファイルの中で,ワイルドカード文字は使用できません。第 2 ファイルを指定しない場合には,DIFFERENCES コマンドは,第 1 ファイルの 1 つ前のバージョンを使用します。
2 つのファイルが同じかどうか,また異なる場合どのように異なるかを判定するには,DIFFERENCES コマンドを使用します。 DIFFERENCES コマンドは,指定された 2 つのファイルをレコードごとに比較し,異なる場合は差をリストする出力ファイルを生成します。DIFFERENCES コマンドの修飾子は,次のように機能別に分類できます。
- DIFFERENCES コマンドにレコードごとのデータを無視するように要求する修飾子
/COMMENT_DELIMITERS
/IGNORE
これらの修飾子を使用すると,コメントを表す文字を定義したり,ファイルを比較する場合に無視する文字または文字のクラスを指定したりすることができます。たとえば,DIFFERENCES コマンドに,余分な空白行や行の中の余分なスペースを無視させることができます。
省略時の設定では,DIFFERENCES コマンドは,各レコード内のすべての文字を比較します。- 違いの一覧に含まれる情報の書式を制御する修飾子
/CHANGE_BAR
/IGNORE
/MERGED
/MODE
/PARALLEL
/SEPARATED
/SLP
/WIDTH
省略時の設定では,比較するファイルに存在する違いがマージされます。 2 つのファイルの一致しない各レコードがリストされてから,一致する次のレコードがリストされます。
省略時の設定では,リストされるレコードごとに行番号が示され,無視するように指定されたすべての文字を除去したレコードがリストされます。
修飾子を組み合せて指定すると,複数の書式で比較をリストする出力を要求できます。SLP 出力は,他のすべての出力の種類とは互換性がないことに注意してください。パラレル出力を生成できるのは,ASCII モードだけです。- 比較の範囲を制御する修飾子
/MATCH
/MAXIMUM_DIFFERENCES
/WINDOW
省略時の設定では,マスター入力ファイル内のすべてのレコードが読み込まれ,更新入力ファイル内の一致するレコードが探されます。 2 つの入力ファイルの一致の検出は,一致が見つかるか,2 つのファイルの最後に到達するまで続きます。2 つのファイルのセクションが一致すると見なされるのは,各ファイルの連続した 3 つのレコードが同じと判定される場合だけです。
省略時の設定では,DIFFERENCES コマンドの出力は,現在の SYS$OUTPUT 装置に書き出されます。出力を別のファイルまたは装置に書き出すには, /OUTPUT 修飾子を使用します。
DIFFERENCES コマンドは,終了状態で終了します。比較の結果は,次の重大度で示されます。
SUCCESS ファイルは同じです。 INFORMATIONAL ファイルは異なります。 WARNING DIFFERENCESの利用者指定最大数を超えました。 ERROR 仮想メモリの不足のため,比較を完了できません。
SUCCESS 以外のすべての重大度は,2つの入力ファイルが異なることを表します。
/CHANGE_BAR[=([変更バー文字][,[NO]NUMBER])]
指定された文字を使用して違いをマークします。/CHANGE_BAR 修飾子が表示する出力は,/CHANGE_BAR 修飾子を指定した位置により異なります。次の例では,/CHANGE_BAR 修飾子の位置による結果について説明します。次の例では,前のバージョン input.file とは異なる行すべての先頭にシャープ記号 (#) の付いた最新のバージョンを表示します。
$ DIFFERENCES input.file/CHANGE_BAR=#
次の例では,input.file;1 と異なる行すべての先頭にシャープ記号 (#) の付いた input.file;2 を表示します。
$ DIFFERENCES input.file;1 input.file;2 /CHANGE_BAR=#
次の例では,input.file;2 と異なる行すべての先頭にシャープ記号 (#) を付けた input.file;1 を表示します。
$ DIFFERENCES input.file;1/CHANGE_BAR=# input.file;2
次の例では,input.file;2 と異なる行すべての先頭にパーセント記号 (%) を付けた input.file;1 と,input.file;1 と異なる行すべての先頭にシャープ記号 (#) を付けた input.file;2 を表示します。
$ DIFFERENCES input.file;1/CHANGE_BAR=% input.file;2/CHANGE_BAR=#
- 変更バー文字を指定しないと,ASCII 出力モードでは,省略時の設定の変更バー文字は感嘆符 (!) です。
- 16 進出力モードおよび8進出力モード ( 詳細は /MODE 修飾子を参照)では,変更バー文字は無視されます。そのかわりにレコードの見出しに「 ***CHANGE*** 」という文字列が表示されます。キーワード NONUMBER を指定すると,リストに行番号は表示されません。
- NUMBER または NONUMBER の指定により,変更バー・リストに行番号を付けるかどうかを制御できます。どちらも指定しない場合には,省略時の値は/[NO]NUMBER コマンド修飾子により決まります。
- オプションを 1 つだけ指定する場合,括弧は省略できます。
- 変更バー文字として感嘆符 (!) を指定する場合には, /CHANGE_BAR=("!",NUMBER) のように,引用符で囲む必要があります。
/COMMENT_DELIMITER[=(区切り文字[,...])]
指定されたコメント区切り文字より右の文字を無視します。1 文字だけ指定する場合は,括弧は省略できます。引用符で囲んでいない小文字は,自動的に大文字に変換されます。英数字以外の文字 ( たとえば ! や,) は,引用符で囲まなければなりません。複数文字のコメント文字は使用できません。文字自体,または次に示すキーワードのいずれか 1 つをタイプすることにより,最大 32 のコメント文字を指定できます。一意に認識できれば,キーワードは 2 文字までに短縮できます (1 文字だと,区切り文字であると認識されます )。
キーワード 文字 COLON コロン (:) COMMA コンマ (,) EXCLAMATION 感嘆符 (!) FORM_FEED フォーム・フィード LEFT 左かぎかっこ ([) RIGHT 右かぎかっこ (]) SEMI_COLON セミコロン (;) SLASH スラッシュ (/) SPACE スペース TAB 水平タブ
/COMMENT_DELIMITER 修飾子を指定すると,/IGNORE=COMMENTS 修飾子も暗黙に含まれます。
ある文字の大文字と小文字のどちらも区切り文字として使用する場合には,その文字を 2 回指定し,1 回は大文字で,もう 1 回は小文字で指定します。 /COMMENT_DELIMITER 修飾子にコメント文字もキーワードも指定しないと, DIFFERENCES コマンドはファイル・タイプにより省略時の設定のコメント文字を想定します。あるファイル・タイプ (.COB および .FOR) では,行の 1 桁目にある場合のみ,省略時の設定のコメント文字は有効な区切り文字とみなされます。
ファイル・タイプと,省略時の設定のコメント文字を次の表に示します。
ファイル・タイプ 省略時の設定のコメント文字 .B2S, .B32, .BAS, .BLI ! .CBL, .CMD ! and ; .COB 1 桁目の * または / .COM, .COR ! .FOR 任意の位置の !,および 1 桁目の C,D,c,d .HLP ! .MAC, .MAR ; .R32, .REQ !
/EXACT
/PAGE=SAVE および /SEARCH 修飾子とともに使用し,正確に一致する文字列検索を指定します。この場合,検索文字列は二重引用符 ("") で囲まなければなりません。/SEARCH 修飾子を指定せずに /EXACT 修飾子を指定した場合は, Find(E1) キーを押すと文字列検索が有効になります。
/HIGHLIGHT[=キーワード]
/PAGE=SAVE および /SEARCH 修飾子とともに指定し,一致した検索文字列の強調表示方法を指定します。一致した検索文字列があった場合は,行全体が強調されます。キーワードには BOLD,BLINK,REVERSE, および UNDERLINE を指定できます。省略時の設定は BOLD です。/IGNORE=(オプション[,...])
比較するときに,指定した文字,文字列,またはレコードを無視することを指定します。/IGNORE 修飾子は,比較レコードが入力ファイルに記憶されている形と同じようにリスト・ファイルに出力されるのか,指定した文字を無視して編集されたレコードとして出力されるのかも制御します。キーワードを 1 つだけ指定する場合は,括弧は省略できます。キーワード・パラメータは,文字またはキーワードを参照します。最初のキーワードは,(無視する文字があれば) 比較の際に無視する文字を決め,2 番目のキーワードは無視した文字を出力に含めるかどうかを決めます。/IGNORE 修飾子のオプションとして指定できるキーワードを次に示します。
キーワード 無視される項目 BLANK_LINES データ間のブランク行 CASE 比較されるテキストの大文字小文字 COMMENTS コメント区切り文字の後に続くデータ( /COMMENT_DELIMITER 修飾子を使用して,1 つまたは複数のコメント区切り文字を指定します)。 FORM_FEEDS フォーム・フィード文字 HEADER[=n] ファイルの中の,レコードの先頭文字がフォーム・フィードであるレコード以降の n レコードを,ヘッダ・レコードとして定義します。最初のレコードにフォーム・フィードしか含まれていない場合は,最初のレコードは無視されません。 n はヘッダ・サイズを表し,省略時の値は 2 です。フォーム・フィード 1 つだけからなるレコードは n にカウントされません。 SPACING データ行の内部に含まれる複数のスペース,またはタブ ( 連続するスペースまたはタブは 1 つのスペースに変更されます )。 TRAILING_SPACES データ行の最後のスペース文字およびタブ文字 キーワード 出力で無視される項目の状態 EDITED 無視された文字が,削除された状態で出力レコードが作成される。 EXACT 入力ファイルと正確に同じ状態で出力レコードが作成される。 PRETTY 出力レコードは,形式化される。
各データ行に対して,まず COMMENTS,FORM_FEEDS,HEADER,および SPACING がチェックされ,そのあと TRAILING_SPACES と BLANK_LINES がチェックされます。したがって,COMMENTS,TRAILING_SPACES,および BLANK_LINES を無視することを DIFFERENCES に指示すると,コメントのあとに続くいくつかのスペース,またはブランク行のレコードは,完全に無視されます。
省略時の設定では,DIFFERENCES コマンドは,各ファイルのすべての文字を比較し,すべての相違点を報告します。また,無視された文字をすべて削除した状態で,出力ファイルにレコードを出力します。
/PARALLEL 修飾子を指定した場合は,出力の形式化が常に実行されます。次の表は,変換される文字に対応する出力を示しています。
文字 形式化された出力 タブ (Ctrl/I) 1 個から 8 個のスペース Return (Ctrl/M) <CR> ライン・フィード (Ctrl/J) <LF> 垂直タブ (Ctrl/K) <VT> フォーム・フィード (Ctrl/L) <FF> 他のプリントされない文字 . (ピリオド)
/MATCH=サイズ
一致していることを解釈するために,必要なレコード数を指定します。省略時の設定では,DIFFERENCES は一致しないレコードを検出したあと,一致するレコードが 3 つ連続して検出されると,そのファイルは一致しているものとして処理を続けます。この省略時の値である 3 を変更するには,/MATCH 修飾子を使用します。DIFFERENCES が相違点を検出したあとで,誤った位置を「一致している」と解釈している場合は,/MATCH の値を大きくします。
/MAXIMUM_DIFFERENCES=n
一致しないレコードが指定された数だけ検出されると, DIFFERENCES が終了することを指定します。一致しないレコード総数は,異なる各セクションごとに異なるレコードの最大数を求め,それを加算することによって判断できます。
DIFFERENCES は,指定した一致しないレコードの最大数に到達すると,その最大数に到達する前に検出したレコードだけを出力します。また 1 つのリスト形式だけを出力し,警告メッセージを表示します。
前へ 次へ 目次 索引