DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦69c33af99⟧ TextFile

    Length: 896 (0x380)
    Types: TextFile
    Names: »HEXIO.PAS«

Derivation

└─⟦d482c3728⟧ Bits:30005987 Turbo Pascal v2.00A (Jet80)
    └─ ⟦this⟧ »HEXIO.PAS« 

TextFile


(* Include-File HEXIO.PAS *)

type string2= string(.2.);

Function HexVal(s: string2): integer;
var  i, j, m, n: integer;

  Function NibbleVal(c: char): integer;
  begin
      c :=UpCase(c);
      if not(c in(.'0'..'9','A'..'F'.)) then NibbleVal:= 257
        else if (c>'9') then NibbleVal:= ord(c)-$37
          else NibbleVal:= ord(c)-$30
  end;
begin   (* HexVal *)
    m:= NibbleVal(s(.1.));
    if (length(s)=1) then HexVal:= m
    else begin
        n:= NibbleVal(s(.2.));
        HexVal:= 16*m+n
    end
end;


Procedure WriteHex(b: byte);
var b1: byte;
Procedure WriteNibble(b: byte);
  begin
    b := b+$30;
    if (b>$39) then b := b+7;
    write(chr(b))
  end;
begin
  b1 := b shr 4;	WriteNibble(b1);
  b1 := b and $0F;	WriteNibble(b1)
end;
«eof»