Сложение чисел

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

Ответить
Лелик_1044
Сообщения: 340
Зарегистрирован: 22 ноя 2004, 19:15
Откуда: Минск
Контактная информация:

Как сделать программу для суммирования 16-разрядных чисел в bcd формате??
Просто набрать исходники может и любая обезьяна, а придумать и отладить не каждый человек.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

...
fild word ptr YourNumber1
fiadd word ptr YourNumber2
fbstp tbyte ptr BCDResult
...

Самый старший бит в 10-байтовом значении - знаковый, остальные 9 байт - 18 цифр числа. Если число на стеке было не целое, то оно округлятся в соответствии с управляющим словом FPU.
It's a long way to the top if you wanna rock'n'roll
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Если YourNumber1 и YourNumber2 уже должны быть в BCD формате, то рекомендуеться использовать для них TBYTE, просто остальные 7*8=56 разрядов обнулить, дабы соответствовали условиям задачи (16 разрядные BCD), и тогда :

fbld tbyte ptr YourNumber1
fbld tbyte ptr YourNumber2
fadd
fbstp tbyte ptr BCDResult
It's a long way to the top if you wanna rock'n'roll
Ответить