Ganz so isses nicht: "adr" ist ja nur eine temporäre Variable für den Sub-Call
Code:
Declare Sub Ds1820_temperature_read(byref Temperatur As Integer , Byref Adr As Word)

Dim Addr As Word
Dim Temperatur As Integer

   Addr = Loadlabel(sensor1)
  Call Ds1820_temperature_read(temperatur , Addr)
   Addr = Loadlabel(sensor2)
  Call Ds1820_temperature_read(temperatur , Addr)

   Addr = Loadlabel(sensor3)
  Call Ds1820_temperature_read(temperatur , Addr)

End

sub  DS1820_TEMPERATURE_READ(byref Temperatur as Integer, byref adr as word)
LOCAL ptr AS WORD
LOCAL x as BYTE
LOCAL rombyte as BYTE
for x = 0 TO 7
          ptr = adr+x
          rombyte = CPEEK(ptr)
next
End Sub


Sensor1:
   Data 1, 2, 3, 4, 5, 6, 7, 8
Sensor2:
   Data 1, 2, 3, 4, 5, 6, 7, 8
Sensor3:
   Data 1, 2, 3, 4, 5, 6, 7, 8