I've used Darrel's Instant Interrupts to capture an interrupt on PortB.0, this is connected to the StD pin on the 8870. Then the code is
/Code
'This is an interrupt on PortB.0, when there is a valid DTMF tone decoded
DTMFINT:
DTMF = 0 'RESET THE VARIABLE
WHILE portb.0 = 1 ' depends on how long they press the dtmf buttons
IF portc.0 = 1 THEN DTMF.0 = 1 'Ones Column
IF portb.4 = 1 THEN DTMF.1 = 1 'Twos Column
IF portb.2 = 1 THEN DTMF.2 = 1 'Fours Column
IF portb.1 = 1 THEN DTMF.3 = 1 'Eights Column
WEND
@ INT_RETURN ; Returns with the new dtmf value stored in DTMF variable
CODE/

Then you can just read your variable. Hope this helps,

Jerry