Kan COBOL Vise en Hex verdi?

Kan COBOL Vise en Hex verdi?


COBOL, Common forretningsorientert språk, har vært en bærebjelke i kommersielle programvare programmerere siden sin opprinnelse i 1959. Selv om COBOL lettere håndterer standard tall- og tekstdataformater, kan du også bruke den til å vise heksadesimale verdier. Heksadesimale tall eller hex, er en base-16 format som brukes til å representere alle data inne i en datamaskin. Hex er nyttig for debugging programmer; bruke den, kan du identifisere den eksakte innholdet i datamaskinens minne.

hex Format

Maskiningeniører vedtok heksadesimale, eller base-16, nummersystem som en praktisk måte å representere databiter. I stedet for å skrive og vise individuelle biter, viser en datamaskin heksadesimale sifre som står for fire biter hver. Hver hex sifret tar på 16 forskjellige verdier; fordi 10 desimaltall er utilstrekkelige for å uttrykke denne verdien, heksadesimale sifre bruke tallene null gjennom ni pluss bokstavene A til F. Du kan lettere bruke hex tall "A081" enn den binære tilsvarende "1010000010000001", for eksempel.

hex Literal

I COBOL som i andre språk, bokstavelige verdier er nyttig å initialisere data områder, tilbakestille variabler og utføre mange andre rengjøringsoppgaver. For eksempel sette deg overskriften en shipping rapport til den bokstavelige teksten verdi, "JONES INC WEEKLY SHIPPING.." Noen ganger kan det hende du må sette en variabel til en hex nummer, å gjøre dette, begynner verdien med en "X", som følgende COBOL Regnskapet viser:

05 HEX-CODE PIC X(01) VALUE X”2D”.

eller

MOVE X”2D” TO HEX-CODE.

Merk at anførselstegn omgir hex verdi. Ved hjelp av denne teknikken, ser du en variabel i hex, men bare i et programmets kildekode oppføring.

debugger

For å finne årsaken brutt koden, programmerere bruke et verktøy som kalles en debugger. Den debugger tillater programmereren å se nøyaktig hvordan programmet utfører og lar henne se innholdet i programmets minnevariabler. En god debugger lar deg se innholdet i minnet i ulike formater, inkludert tekst, tall og hex. Selv om noe vanskeligere å lese enn kjente tall eller tekst, avslører en hex-skjerm eksakte data som er lagret i minnet. Ved å observere hvordan dataendringer når programmet kjører, kan programmereren finne problemet sak.

hex Dump

Noen versjoner av COBOL har en funksjon som genererer en liste kalt en "hex dump" hvis programmet krasjer. Hex dump er en heksadesimal visning av alle variablene i programmets minne sammen med et kart over hvor variabler bor i minnet. Fordi dette fungerer bare når programmet avsluttes unormalt, og fordi det viser alle et program minne, kan du ikke bruke denne teknikken for å vise noen hex verdier når du kjører et program som normalt.

lagt til kode

De fleste versjoner av COBOL ikke har en innebygd funksjon for å vise noen hex verdier. I stedet må du legge programmeringskode som overs verdier i hex, så viser dem. En slik tilsetning til et program ville inkludere en variabel definert som en rekke av enkle byte; i programmets "Prosedyre Division", en rutine skanner rekken byte av byte og overs hver byte til en tilsvarende tabell over teksttegn. Når programmet viser teksttegn, har de utseendet hex verdier. For eksempel, oversetter programmet tegnstrengen "ABC" til tilsvarende streng "C1C2C3." De to første tegnene, "C1", for eksempel, representerer bokstaven "A" i hex.