flat assembler
Message board for the users of flat assembler.
Index
> Main > Bug Report: fstenv |
Author |
|
vid 15 Jul 2006, 12:55
try searching first next time
|
|||
15 Jul 2006, 12:55 |
|
Hunter 15 Jul 2006, 22:24
Yes, madmatt is right, FASM generates error "invalid size of operand" for following code:
envdata db 28 dup (0) fstenv [envdata] but label envdata_label envdata db 28 dup (0) fstenv [envdata_label] is compiled successfully. I think, the operand size isn't needed for fstenv, fnstenv, fldenv, fsave, fnsave, frstor, fxsave, fxrstor instructions in this situation. |
|||
15 Jul 2006, 22:24 |
|
LocoDelAssembly 15 Jul 2006, 22:57
|
|||
15 Jul 2006, 22:57 |
|
madmatt 15 Jul 2006, 23:18
vid: Yeh, I should've checked the intel docs before I posted, it only accepts a global (static) memory reference to work.
locodelassembly: after reading the post, looks like a $66 prefix is all that is needed a make it work, I'll have to try and see what happens. |
|||
15 Jul 2006, 23:18 |
|
madmatt 15 Jul 2006, 23:24
Tried a direct approach: fstenv [esp + 48], also fstenv [ebp _48] and it compiled without error.
Why won't it work with the local variable? |
|||
15 Jul 2006, 23:24 |
|
LocoDelAssembly 15 Jul 2006, 23:29
Quote:
But you can use the stack if you want Code: include 'win32axp.inc' .code proc start local ..fpuenvtemp[28]:BYTE label .fpuenvtemp at ..fpuenvtemp fstenv [.fpuenvtemp] ret endp .end start [edit] Quote: Tried a direct approach: fstenv [esp + 48], also fstenv [ebp _48] and it compiled without error. Because fstenv needs a label with no type[/edit] |
|||
15 Jul 2006, 23:29 |
|
vid 16 Jul 2006, 08:46
i meant searching the board, for that thread - i was too lazy to explain it or search for the thread myself
|
|||
16 Jul 2006, 08:46 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.