【COBOL】LOW-VALUEとSPACEとZEROをヘキサで見る

LOW-VALUEとかZEROをヘキサで見たかったのですが、

DISPLAYでヘキサ表示が無理なのでファイルに書いてバイナリエディタで見ることに。

LOW-VALUEとSPACEとZEROの姿をこの目でみる

違うのは分かってるんですけど実際違うところ見たいじゃないですか。

結論

  • LOW-VALUE:00
  • SPACE:20
  • '0':30
  • ZERO:30

実験結果

環境

  • Ubuntu 18.04.3 LTS
  • cobc (OpenCOBOL) 1.1.0

ソースコード

       IDENTIFICATION DIVISION.
       PROGRAM-ID. TEST_DATA.
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
         SELECT F1 ASSIGN TO "F1.dat".
       DATA DIVISION.
       FILE SECTION.
       FD F1.
         01 F1RC.
      *    文字
           03 STR                       PIC X(4).
      *    符号なし数字4桁
           03 NM                        PIC 9(4).
      *    符号つき数字4桁(3+符号)
           03 NM_S4                     PIC S9(4).
      *    符号つき数字4桁(バイナリ)2バイト
           03 NM_4B                     PIC S9(4) COMP.
      *    符号つき数字9桁(バイナリ)4バイト
           03 NM_9B                     PIC S9(9) COMP.
      *    符号つき数字3桁(パックデシマル)2バイト
      *    567 -> 56 7+
           03 NM_3C3                    PIC S9(3) COMP-3.
      *    符号つき数字4桁(パックデシマル)3バイト
      *    5678 -> 05 67 8+
           03 NM_4C3                    PIC S9(4) COMP-3.
         WORKING-STORAGE SECTION.
       PROCEDURE DIVISION.
         MAIN-S.
      *
           OPEN OUTPUT F1.
      * -- LOW-VALUE --
           MOVE LOW-VALUE               TO F1RC.
           MOVE 'LOWV'                  TO STR.
           WRITE F1RC.
           MOVE LOW-VALUE               TO F1RC.
           WRITE F1RC.
      * -- SPACE --
           MOVE LOW-VALUE               TO F1RC.
           MOVE 'SPCE'                  TO STR.
           WRITE F1RC.
           MOVE SPACE                   TO F1RC.
           WRITE F1RC.
      * -- ALL'0' --
           MOVE LOW-VALUE               TO F1RC.
           MOVE 'ALL0'                  TO STR.
           WRITE F1RC.
           MOVE ALL'0'                  TO F1RC.
           WRITE F1RC.
      * -- ZERO --
           MOVE LOW-VALUE               TO F1RC.
           MOVE 'ZERO'                  TO STR.
           WRITE F1RC.
           MOVE ZERO                    TO F1RC.
           WRITE F1RC.
      *
           CLOSE F1.
      *
           STOP RUN.
         MAIN-E.

バイナリエディタで表示

f:id:mhaya18:20191221123439p:plain

実際の姿を目で見ました。

LOW-VALUEとはヘキサで00なんですね。

--

ここから広告