Page 1 of 1
How to read HEX file and convert it into decimal in REXX.
Posted: Mon Jan 18, 2010 2:19 pm
by mpawan
Hi,
I have a file in which data is in the Hex format as below.
?..%.?..........?......@...
And when i give a command 'HEX ON' then the data in the file is converted as below.
?..%.?..........?......@...
A00608020002013040000007300
A93C9C3C200C00C953C05C2C4CC
Now i want to read the file in the HEX format and want to bring some data in to some variables.
Eg: Varable A must be equal to 09036C.
Can anyone please help me with that.
Posted: Mon Jan 18, 2010 3:44 pm
by dbzTHEdinosauer
lookat
4.3.14 C2X (Character to Hexadecimal)
here is a REXX (or routine) that you can CALL:
Code: Select all
/* REXX CONVERT PACKED DECIMAL TO NUMBER */
PARSE ARG PACK_NUM
HEX_NUM = C2X(PACK_NUM)
SIGN = RIGHT(HEX_NUM,1)
NUMBER = LEFT(HEX_NUM,LENGTH(HEX_NUM)-1)
IF SIGN = 'D' THEN
RETURN '-'| |NUMBER
ELSE
RETURN NUMBER
Posted: Mon Jan 18, 2010 4:35 pm
by mpawan
Thanks a lot ..
it worked ... but can you explan me the code.
Posted: Mon Jan 18, 2010 4:38 pm
by dbzTHEdinosauer
but can you explan me the code.(sic)
no,
use
TRACE ?R
to follow the flow and refer to the manual for info on instructions.
Posted: Mon Jan 18, 2010 4:41 pm
by mpawan
Thanks a lot.
REXX CONVERT PACKED DECIMAL routine is great!
Posted: Tue Nov 02, 2010 1:05 am
by patrickhanagan
hey Dick... your solution works like a champ... thanks very much!
here is a REXX (or routine) that you can CALL:
Code:
/* REXX CONVERT PACKED DECIMAL TO NUMBER */
PARSE ARG PACK_NUM
HEX_NUM = C2X(PACK_NUM)
SIGN = RIGHT(HEX_NUM,1)
NUMBER = LEFT(HEX_NUM,LENGTH(HEX_NUM)-1)
IF SIGN = 'D' THEN
RETURN '-'| |NUMBER
ELSE
RETURN NUMBER
Posted: Tue Nov 02, 2010 3:36 am
by dbzTHEdinosauer
actually the routine came from someone else, and can't remember who I stole it from,
but here is a list of Sites that you should visit if you want to add to your tools:
Doug Nadel's
site a must see
lionel B dyck's site visit this also
Rexx Examples old but useful
Dave's MVS Freeware - Rexx
and
the american programmer has a lot of useful info