'====BEGIN BCDINT========================================
'= Converts a BCD number to an integer.
=
'= input: bcdin%
=
'= output: intout%
=
'= uses: bcd2~, bcd1~, bcd3~
=
'========================================================
STACK 2
BCDINT: intout% = 0
FOR bcd2~ = 1 to 4
'...put leftmost
4 bits into bcd1~
BYTES bcdin%
bcd1~ = bcdin% AND &HF0
BYTES bcdin%
SHIFT bcd1~,4,RIGHT
'...shift bcdin%
4 bits left...
SHIFT bcdin%,4,LEFT
'..mul intout% * 10
bcd3% = intout%
SHIFT intout%,2,LEFT
intout% = intout% + bcd3%
SHIFT intout%,1,LEFT
'..end mul intout% * 10
intout% = intout% + bcd1~
NEXT
RETURN