Реализовать 2 функции с использованием языка C и конструкции asm компилятора gcc - C (СИ)

Узнай цену своей работы

Формулировка задачи:

формат binary16 стандарта IEEE 754-2008. В прототипах функций, приведённых ниже, обозначается как fp16_t
Листинг программы
  1. /*
  2. * Возвращает экспоненту числа
  3. */
  4. int fp16_exp(fp16_t f);
Листинг программы
  1. /*
  2. * Возвращает мантиссу числа без скрытого бита
  3. */
  4. int fp16_mant(fp16_t f);

Решение задачи: «Реализовать 2 функции с использованием языка C и конструкции asm компилятора gcc»

textual
Листинг программы
  1. int fp16_exp(fp16_t f)
  2. {
  3.     int ret = 0;
  4.     __asm(
  5.         "and $0x7C00, %1;"
  6.         "shr $0xA, %1;"
  7.         "or  %1, %%ax"
  8.         : "+a" (ret)
  9.         : "r" (f));
  10.     return ret;
  11. }
  12.  
  13. int fp16_mant(fp16_t f)
  14. {
  15.     int ret = 0;
  16.     __asm(
  17.         "and $0x03FF, %1;"
  18.         "or  %1, %%ax"
  19.         : "+a" (ret)
  20.         : "r" (f));
  21.     return ret;
  22. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы