The EZACIC04 program is used
to translate EBCDIC data to ASCII data. Figure 1 shows how EZACIC04 translates a byte of EBCDIC data.
Figure 1. EZACIC04 EBCDIC-to-ASCII table --------------------------------------------------------------
| ASCII | second hex digit of byte of EBCDIC data |
| output by |-----------------------------------------------|
| EZACIC04 | 0| 1| 2| 3| 4| 5| 6| 7| 8| 9| A| B| C| D| E| F|
|------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
| | 0 |00|01|02|03|1A|09|1A|7F|1A|1A|1A|0B|0C|0D|0E|0F|
| |---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
| | 1 |10|11|12|13|1A|0A|08|1A|18|19|1A|1A|1C|1D|1E|1F|
| |---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
| | 2 |1A|1A|1C|1A|1A|0A|17|1B|1A|1A|1A|1A|1A|05|06|07|
| |---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
| | 3 |1A|1A|16|1A|1A|1E|1A|04|1A|1A|1A|1A|14|15|1A|1A|
| |---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
| | 4 |20|A6|E1|80|EB|90|9F|E2|AB|8B|9B|2E|3C|28|2B|7C|
| |---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
| | 5 |26|A9|AA|9C|DB|A5|99|E3|A8|9E|21|24|2A|29|3B|5E|
| |---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
| first | 6 |2D|2F|DF|DC|9A|DD|DE|98|9D|AC|BA|2C|25|5F|3E|3F|
| hex |---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
| digit | 7 |D7|88|94|B0|B1|B2|FC|D6|FB|60|3A|23|40|27|3D|22|
| of |---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
| byte | 8 |F8|61|62|63|64|65|66|67|68|69|96|A4|F3|AF|AE|C5|
| of |---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
| EBCDIC | 9 |8C|6A|6B|6C|6D|6E|6F|70|71|72|97|87|CE|93|F1|FE|
| data |---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
| | A |C8|7E|73|74|75|76|77|78|79|7A|EF|C0|DA|5B|F2|AE|
| |---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
| | B |B5|B6|FD|B7|B8|B9|E6|BB|BC|BD|8D|D9|BF|5D|D8|C4|
| |---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
| | C |7B|41|42|43|44|45|46|47|48|49|CB|CA|BE|E8|EC|ED|
| |---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
| | D |7D|4A|4B|4C|4D|4E|4F|50|51|52|A1|AD|F5|F4|A3|8F|
| |---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
| | E |5C|E7|53|54|55|56|57|58|59|5A|A0|85|8E|E9|E4|D1|
| |---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
| | F |30|31|32|33|34|35|36|37|38|39|B3|F7|F0|FA|A7|FF|
--------------------------------------------------------------
Figure 2 shows an example of
EZACIC04 call instructions.
Figure 2. EZACIC04 call instruction exampleWORKING-STORAGE SECTION.
01 OUT-BUFFER PIC X(length of output).
01 LENGTH PIC 9(8) BINARY.
PROCEDURE DIVISION.
CALL 'EZACIC04' USING OUT-BUFFER LENGTH.
For equivalent PL/I and assembler language declarations,
see Converting parameter descriptions.
- OUT-BUFFER
- A buffer that contains the following data:
- When called, EBCDIC data
- Upon return, ASCII data
- LENGTH
- Specifies the length of the data
to be translated.