В руководстве Microchip 00526 дана математика с данными float. В конце дано тестирование ее.
Я попытался применить ее не пошло, перешел к тестированию и вот что у меня вышло.
call loadAB ; result of subtracting ACCb(EXPb)-ACCa(EXPa)->ACCb(EXPb) = 0x01FF(4) - 0x7FFF(6)
call F_sub ; Here Accb = 7F7F, EXPb = 06
(0x01FF*2^4) - (0x7FFF*2^6) = 0x7F7F*2^6 = 2088896
8176 - 2097088 = -2088912
;
call loadAB ; result of multiplying ACCb(EXPb) * ACCa(EXPa)->ACCb(EXPb) = 0x01FF(4) * 0x7FFF(6)
call F_mpy ; Here ACCb = FF7E, EXPb = 12
(0x01FF*2^4) * (0x7FFF*2^6) = 0xFF7E*2^12 = 267902976
8176 * 2097088 = 17145791488
;
call loadAB ; result of dividing ACCb(EXPb) / ACCa(EXPa)->ACCb(EXPb) with = 0x01FF(4) / 0x7FFF(6)
call F_div ; remainder in ACCc. Here ACCb =4000, EXPb = FA (same as -6)
; ; & the remainder ACCc = 003F
(0x01FF*2^4) / (0x7FFF*2^6) = 0x4000*2^6 = 1048576
8176 / 2097088 = 0.0038987395855586
Что я делаю не правильно