Hi Fuerchau,

genau das ist Antwort auf meine Frage! Super, ich danke dir.

Nur kleine Anpassung: FILLER muss X(12), weil die numerische Variable 9(9) BINARY ist 4Bytes groß und insgesamt muss es 16Bytes sein, weil Pointers 16Bytes allozieren.

Code:
       IDENTIFICATION DIVISION.
       PROGRAM-ID. PTRDIFF.


       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.


       DATA DIVISION.
       FILE SECTION.


       WORKING-STORAGE SECTION.
       01  TEST-STRING-1                    PIC X(160)
           VALUE "green eggs and ham".
       01  TEST-STRING-1-PTR                POINTER.
       01  TEST-STRING-2-PTR                POINTER.
       01  TEST-STRING-1-PTRR               REDEFINES TEST-STRING-1-PTR.
           05 FILLER                        PIC X(12).
           05 OFFSET1                       PIC 9(9) BINARY.
       01  TEST-STRING-2-PTRR               REDEFINES TEST-STRING-2-PTR.
           05 FILLER                        PIC X(12).
           05 OFFSET2                       PIC 9(9) BINARY.
       01  OFFSET                           PIC 9(9) BINARY.


       PROCEDURE DIVISION.
       MAIN.


           SET TEST-STRING-1-PTR TO ADDRESS OF TEST-STRING-1.
           SET TEST-STRING-2-PTR TO ADDRESS OF TEST-STRING-1.
           SET TEST-STRING-2-PTR UP BY 2.
           COMPUTE OFFSET = OFFSET2 - OFFSET1.
           DISPLAY OFFSET.




           STOP RUN
           .