hextest: proc options(main); /* hexbin procedure tester */ %replace TRUE by '1'b, FALSE by '0'b; dcl hexbin entry(char(8) varying) returns(fixed(15)); dcl p ptr, hexbyte bit(8) based(p), hexword bit(16) based(p), hexvalue fixed(15), hexstring char(8) varying; dcl UPPERCASE char(26) static init('ABCDEFGHIJKLMNOPQRSTUVWXYZ'), LOWERCASE char(26) static init('abcdefghijklmnopqrstuvwxyz'); p = addr(hexvalue); do while(TRUE); put skip list('Enter hexadecimal value: '); get list (hexstring); hexstring = translate(hexstring,UPPERCASE,LOWERCASE); hexvalue = hexbin(hexstring); put edit('=',hexvalue,hexbyte,hexword) (col(30),a,f(8),x(2),b4,x(2),b4); end; end hextest;