Логично педположить, что в регистр DAC записывается число в дополнительном коде, ну или в дополнитльном коде с инвертированным знаковым битом. Но при внимательном прочтении даташита я пришел к вывду, что DAC4...DAC0 - это положительное число, а бит DAC5 определяет прибавление его или вычитание. Выглядит это несколько странно, не говоря уж о том, что такой код предполагает наличие двух нулей. Или я не так понял?

А какой формат у Offset Calibration Register? В даташите ничего не написано, но судя по тому что при сбросе туда записывается 0x800000 наверное доп. код с инвертированным знаковым битом?