Wenn es dich interessiert, aber da hängt bei mir relativ viel dran und meine Assembler-Routinen hab ich auchg selber geschreiben.

Code:
#HostKommandoG
  'Orientierung mit Kompass zurückgeben (16-Bit Genauigkeit)
  'Rückgabewert: 0 - 3599 (0,1° / Einheit)
  'Antwort: "G" KompassHigh KompassLow EOT

  Sys ASM_I2C_Start                             'I2C Startbit senden
  Sys ASM_I2C_Write ADR_CMPS_W                  'Adresse senden
  Sys ASM_I2C_Write REG_CMPS_INTH               'Register senden (16-Bit Wert Higher)
  Sys ASM_I2C_Stop                              'I2C Stopbit senden
  Sys ASM_I2C_Start                             'I2C Startbit senden
  Sys ASM_I2C_Write ADR_CMPS_R                  'Register anfragen
  AlphaH = I2C_Read                             'Wert empfangen
  Sys ASM_Send_ACK                              'Acknowledge senden
  AlphaL = I2C_Read                             'Wert empfangen
  Sys ASM_Send_NAK                              'Not-Acknowledge senden
  Sys ASM_I2C_Stop                              'I2C Stopbit senden
  Put x_G
  Put AlphaH
  Put AlphaL
  Put x_EOT
  GoTo Main
Grüsse Wolfgang