Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!purdue!bu-cs!bloom-beacon!eru!luth!sunic!draken!d88-eli
From: d88-eli@nada.kth.se (Erik Liljencrantz)
Newsgroups: comp.lang.pascal
Subject: Re: Need BCD routines for TP4.0/TP5.0/TP5.5
Keywords: TP4 TP5 TP55 BCD
Message-ID: <1839@draken.nada.kth.se>
Date: 2 Oct 89 20:05:51 GMT
References: <89273.161831TRM900@PSUVM.BITNET> <89273.185750TBC101@PSUVM.BITNET> <19038@ut-emx.UUCP> <413@s5.Morgan.COM> <234@vsserv.scri.fsu.edu>
Reply-To: d88-eli@nada.kth.se (Erik Liljencrantz)
Organization: Royal Institute of Technology, Stockholm, Sweden
Lines: 18

Converting to and from BCD is fairly easy (and this hasn't got anything to do
with the BCD support previously found in Turbo 3.0):

  FUNCTION BCD_to_Int(BCD:BYTE):BYTE;
  { Convert two digit BCD to 0..99 integer }
  BEGIN
    BCD_to_Int:=(BCD AND 15)+(BCD SHR 4)*10;
  END;

  FUNCTION Int_to_BCD(I:BYTE):BYTE;
  { Convert integer (0..99) into BCD }
  BEGIN
    Int_to_BCD:=(I MOD 10)+(I DIV 10)*16;
  END;

Hope this helps...
-- 
Erik Liljencrantz     | "No silly quotes!!"
d88-eli@nada.kth.se   |  Embraquel D. Tuta