64 bit assembler > UASM Assembler Development

fmul bug

(1/2) > >>

Biterider:
Hi
If you code fmul without arguments, UASM accepts the mnemonic but translates it to fmulp

Debugger output

--- Code: ---  fmul
DE C9                fmulp       st(1),st

--- End code ---

The workaround is to add some arguments like

--- Code: ---fmul st(0), st(1)

--- End code ---

Biterider

jj2007:

--- Code: ---  fld1
  fldpi
  int 3
  fmul

--- End code ---

MASM 6.15, 15.0, UAsm:

--- Code: ---004010B1  |.  D9E8          fld1
004010B3  |.  D9EB          fldpi
004010B5  |.  CC            int3
004010B6  |.  DEC9          fmulp st(1), st                          ; float 3.1415926535897932380 (const PI)
--- End code ---

HSE:

--- Quote from: Biterider on June 29, 2022, 03:43:12 AM ---If you code fmul without arguments, UASM accepts the mnemonic but translates it to fmulp

--- End quote ---

There is no fmul without arguments, is just an alias of fmulp, Same thing happen with fadd, fsub and fdiv  :thumbsup:

jj2007:
Random statistics from a major source:
110*fmul, of which 3*fmul ST, ...
67*fadd, of which 2*fadd ST, ...
67*fsub, of which 0*fsub ST...

The non-popping instructions are just not that popular :cool:

HSE:

--- Quote from: jj2007 on June 29, 2022, 06:42:35 AM ---The non-popping instructions are just not that popular :cool:

--- End quote ---

:biggrin: They are very popular in the form "fadd variable", etc.

Navigation

[0] Message Index

[#] Next page

Go to full version