Come fare riferimento a un byte di memoria di lavoro in COBOL

August 20

Come fare riferimento a un byte di memoria di lavoro in COBOL


Il Common Business-Oriented Language, COBOL, offre una varietà di modi per accedere ai dati in memoria. In COBOL, si definiscono elementi di dati come ad esempio dischi, contatori e variabili matematiche temporanee in una zona chiamata il lavoro Sezione Conservazione della divisione di dati. Una volta definiti, si utilizzano le variabili semplicemente facendo riferimento a loro per nome. Se è necessario fare riferimento a un byte all'interno di una variabile, impostare una variabile successiva con "ridefinisce" clausola di COBOL. Se si crea la nuova variabile come un array, è possibile fare riferimento ogni singolo byte nella prima variabile.

istruzione

1 Creare una variabile di memoria nella memoria di lavoro, come nel seguente esempio:

LAVORO-sezione Storage.

01 DISPLAY-VARIABLES.
05 DISPLAY-AREA PIC X(30).

Questo imposta una variabile chiamata "DISPLAY-AREA".

2 Definire una nuova variabile dopo il primo utilizzando la clausola ridefinisce. Questa variabile è un array. Si fa riferimento gli stessi dati come la prima variabile utilizzando il nuovo nome.

05 DISPLAY-BYTES REDEFINES DISPLAY-AREA
OCCURS 30 TIMES INDEXED BY DISPLAY-INDEX
PIC X(1).

Il "indicizzato da" clausola definisce una variabile indice. Non si definisce altrove nella memoria di lavoro; così facendo genererà un errore. La dimensione del campo originale, DISPLAY-AREA, è lo stesso DISPLAY byte che ridefinisce. Un campo avente un byte verificano 30 volte è lo stesso di un campo di 30 byte.

3 Impostare un one-byte campo di stoccaggio di lavoro in cui ricevere i dati, come nell'esempio illustrato:

05 SINGLE-BYTE-FIELD PIC X(1).

4 Spostare alcuni dati per la prima variabile nella "Divisione Procedura" del programma, come nel seguente esempio:

MOVE INPUT-RECORD TO DISPLAY-AREA.

5 Impostare il valore dell'indice di matrice di scegliere il byte che si desidera. Questa linea dovrebbe seguire il precedente nella divisione interno del programma. In COBOL, a differenza di molti altri linguaggi oltre Fortran, il primo elemento ha un indice di uno, non zero. Quindi, se si desidera fare riferimento il primo byte nel campo, impostare l'indice a uno, come mostrato nel seguente esempio:

SET DISPLAY-INDEX TO 1.

6 Spostare il byte che hai appena selezionato per il campo si imposta per ricevere i dati. Per fare questo, è necessario specificare il campo di matrice e il suo indice associato come nella seguente dichiarazione:

MOVE DISPLAY-BYTES (DISPLAY-INDEX) TO SINGLE-BYTE-FIELD.

Consigli e avvertenze

  • Quando si ridefinisce un campo di stoccaggio di lavoro con un altro, il campo ridefinizione ha lo stesso numero di livello del campo originale. In questi esempi, il livello è 05.