オブジェクト・コードの逆アセンブル

DISASM コマンド (DISASMを参照) を使用すると、アドレスを指定してオブジェクト・コードを逆アセンブルできます。DISASM コマンドは、任意の対話式レポートのコマンド行から DISASM と入力するか、DISASM を PF キーに割り当てることで呼び出せます。呼び出すと、次のようなポップアップ・パネルが表示されます。
1. Storage Disassemble 画面の例
  File  View  Services  Help
┌──────────────────────────── Storage Disassemble ────────────────────────────┐
│                                                                             │
│ WARNING Before using this function you must be aware of and respect the     │
│ intellectual property rights of others. You are not authorized to use this  │
│ function to disassemble, copy or create assembly listings or disassembled   │
│ Assembler Language source code in violation of any contractual or other     │
│ legal obligation. You are authorized to use this function only for object   │
│ code for which you have verified you have the right to perform              │
│ disassembly.                                                                │
│                                                                             │
│ Start Address  . . . . . . . . .                                            │
│ Origin Address (optional)  . . .                                            │
│                                                                             │
│                                                                             │
│  F1=Help     F3=Exit    F12=Cancel                                          │
└─────────────────────────────────────────────────────────────────────────────┘

{Fault Analyzer maximum storage allocated: 1.71 megabytes.}

*** Bottom of data.

 F1=Help      F3=Exit      F5=RptFind   F6=Actions   F7=Up        F8=Down
F10=Left     F11=Right

DISASM コマンドは、指定された開始アドレスからのコードの逆アセンブルを試行します。オプションで、起点アドレスを指定できます。この場合、逆アセンブルされた指示それぞれのオフセットが、開始アドレスではなく起点アドレスに対して計算されます。起点アドレスが指定されない場合、開始アドレスと同様のアドレスがデフォルトとして使用されます。

DISASM コマンドの例のように、Storage Disassemble 画面は次のように指定できます。
  File  View  Services  Help
┌──────────────────────────── Storage Disassemble ────────────────────────────┐
│                                                                             │
│ WARNING Before using this function you must be aware of and respect the     │
│ intellectual property rights of others. You are not authorized to use this  │
│ function to disassemble, copy or create assembly listings or disassembled   │
│ Assembler Language source code in violation of any contractual or other     │
│ legal obligation. You are authorized to use this function only for object   │
│ code for which you have verified you have the right to perform              │
│ disassembly.                                                                │
│                                                                             │
│ Start Address  . . . . . . . . . 18D00326                                   │
│ Origin Address (optional)  . . . 18D00300                                   │
│                                                                             │
│                                                                             │
│  F1=Help     F3=Exit    F12=Cancel                                          │
└─────────────────────────────────────────────────────────────────────────────┘

{Fault Analyzer maximum storage allocated: 1.71 megabytes.}

*** Bottom of data.

 F1=Help      F3=Exit      F5=RptFind   F6=Actions   F7=Up        F8=Down
F10=Left     F11=Right
Enter を押すと、次の画面が表示されます。
  File  View  Services  Help
───────────────────────────────────────────────────────────────────────────────
Disassemble command                                            Line 1 Col 1 80
Command ===> ________________________________________________ Scroll ===> CSR 
JOBNAME: JA84Q13A SYSTEM ABEND: 0C7 SYS01 2019/12/01 13:59:00 Address Offset Hex Instruction 18D00326 +26 05EF BALR R14,R15 18D00328 +28 50B0 D0C8 ST R11,200(,R13) 18D0032C +2C 41A0 D0D4 LA R10,212(,R13) 18D00330 +30 D20F 4010 306C MVC 16(16,R4),108(R3) 18D00336 +36 D216 4020 3557 MVC 32(23,R4),1367(R3) 18D0033C +3C 58E0 303C L R14,60(,R3) 18D00340 +40 50E0 4038 ST R14,56(,R4) 18D00344 +44 5890 4038 L R9,56(,R4) 18D00348 +48 4090 403E STH R9,62(,R4) 18D0034C +4C 4190 4020 LA R9,32(,R4) 18D00350 +50 5090 4010 ST R9,16(,R4) 18D00354 +54 4170 D128 LA R7,296(,R13) 18D00358 +58 5070 4018 ST R7,24(,R4) 18D0035C +5C 4190 403E LA R9,62(,R4) F1=Help F3=Exit F4=Dsect F5=RptFind F6=Actions F7=Up F8=Down F10=Left F11=Right F12=retrieve

一度逆アセンブルされた指示を示すパネルが表示されると (上記の例を参照)、PF7 および PF8 を押して順方向および逆方向にスクロールできます。

FIND/RPTFIND は、現在表示されているデータのみを検索します。

UP MAX/DOWN MAX のスクロールはこの画面ではサポートされていません。

DISASM コマンドを終了するには、EXIT と入力します (PF3)。