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

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)。