Как я могу выполнить умножение с плавающей запятой в сборке без использования муль - PullRequest
0 голосов
/ 02 декабря 2019

Я пытаюсь выполнить умножение чисел с плавающей запятой в ассемблерном коде, но без использования команды mul. Основываясь на концепции умножения, A * B - это A, добавленное B раз, но я не понимаю, как это было бы возможно с использованием чисел с плавающей запятой.

Так я написал код для простого целочисленного умножения. t6 - счетчик, инициализированный 0, а t0 - значение B в этом случае. t1 будет A:

Loop1:
    bge $t6, $t0, ExitL1 # If value of t6 is greater or equal than t0, exit
    add $t1, $t1, $t0    # Adds value of t0 to t1 and stores in t1
    addi $t6, $t6, 1     # Increases loop counter by 1
    j Loop1
...