Un problème avec la multiplication en virgule flottante à l'Assemblée cabillaud

J

juanma21

Guest
Je dois livrer une mission et je suis coincée, je dois compléter ce code assembleur pour mettre en œuvre une fonction pour la multiplication en virgule flottante, et ma connaissance de l'assemblage n'est pas si bon, s'il vous plaît quelqu'un peut me donner un peu d'aide??J'ai reçu des commentaires, comme aide pour le remplir, mais je ne reçois fou.Merci beaucoup!

. Texte
. fmult globl

# Conditions préalables:
# 1er paramètre (A0) flottante simple précision multiplicande point
# 2e paramètre (A1) en simple précision en virgule flottante multiplicateur
# Posteriori:
# Résultat (v0) en simple précision flottante produit le point

fmult: # V0 = 0, le résultat par défaut
BEQ fmult $ a0, $ zero, retour # si multiplicande est nul
BEQ fmult $ a1, $ zero, retour # si multiplicateur est égal à zéro

# Masque de place pour peu plus à gauche dans T5
# T5 = 0x80000000

# Signe le lieu de multiplicande en T0
# Masque exposant et mantisse

# Signe le lieu de multiplicateur en T1
# Masque exposant et mantisse

# Signe le lieu de produit en t2
# T2 = XOR de signes

# Exposant le lieu de multiplicande en T0
# Passage à supprimer le bit de signe
# Passage à supprimer les bits mantisse
# Partialité exposant subract

# Exposant le lieu de multiplicateur en T1
# Passage à supprimer le bit de signe
# Passage à supprimer les bits mantisse
# Partialité exposant subract

# Exposant le lieu de produit en T3
# Ignorer le risque de débordement ou un dépassement inférieur
# T3 = somme des exposants
# Ajoute le biais exposant

Place # mantisse de multiplicande en T0
# Passage à supprimer l'exposant
# Remet implicitement 1 à gauche de la mantisse

Place # mantisse du multiplicateur en T1
# Passage à supprimer l'exposant
# Remet implicitement 1 à gauche de la mantisse

Place # mantisse de produit au T4
# Ignore l'arrondissement et le débordement
multu t0 $, $ t1 # multiplier significands (non signé)
mfhi T4 $ # t4 = mot de poids fort du produit
BGE norme T4 $, $ zero, branche # s'il a déjà été normalisé
srl $ t4, t4 $, 1 # déplacement significande pour normaliser
addi $ t3, t3 $, 1 # ajustez exposant
norme: sll $ t4, t4 $, 2 # passage à supprimer implicite 1

# Montons produit en v0
sll $ t3, t3 $, 23 # exposant passez en position correcte
srl $ t4, t4 $, 9 # déplacement significande en bonne position
déplacer v0 $, $ # t2 signe place dans v0
ou V0 $, v0 $, $ t3 # exposant place dans v0
ou V0 $, v0 $, $ # t4 place significande dans v0

retour: jr $ ra # retour

 

Welcome to EDABoard.com

Sponsor

Back
Top