Ja, das ist mMn net wirklich schwer.

Du liest die Tastatur aus (auf sprut.e kannst du nachschauen, wenn da Probleme bestehen). Dann speicherst du den eingegebenen Wert in ein (oder zwei) Bytes (einen für die Kommazahl) in der Memory, oder, wenn du es länger brauchst in den EEPROM (<-- wäre mMn fast einfacher zu handhaben) ab.
Bei der Abfrage des DS1820 (kenn das Ding leider nicht, nehm aber an, I²C-Protokoll) vergleichst die beiden Werte miteinander:

in C:

if ( DS_C <= Tast_C)
{
...
}


in Assembler substrahierst du von dem erhaltenen Wert den eingegebenen und guckst, welche Flags aktiviert wurden.
also:

movfw MATRIX_C
subwf DS_C
BZ temp_gleich
BNC temp_unter

erklärung:
-) schiebe den eingetippten Wert in den Arbeitsregister
-) substrahiere diesen dann von dem DS1820 Block
-) Wenn 0, dann waren beide Werte gleich, springe zu dem Befehl
-) Wenn Überlauf (VORSICHT, Carry Bit wird bei der substraktion gesetzt, wenn kein Überlauf passiert ist), springe anderswohin


Hoffe, konnte helfen ^^
MfG
Mobius

P.S.: Den LED an einem Port setzt du dann einfach mit "bsf PORTX,0-7"