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

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

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

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

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

textual
Листинг программы
int fp16_exp(fp16_t f)
{
    int ret = 0;
    __asm(
        "and $0x7C00, %1;"
        "shr $0xA, %1;"
        "or  %1, %%ax"
        : "+a" (ret)
        : "r" (f));
    return ret;
}
 
int fp16_mant(fp16_t f)
{
    int ret = 0;
    __asm(
        "and $0x03FF, %1;"
        "or  %1, %%ax"
        : "+a" (ret)
        : "r" (f));
    return ret;
}

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


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

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

6   голосов , оценка 3.667 из 5
Похожие ответы