Hi..
> I was using debug to do some low-level mods on one of my programs, when
> I noticed an interesting opcode in unallocated memory.
> The HEX value DA2B represented the assembler instructioN:
> FISUBR DWORD PTR [BP+DI]
> Obviosly this was just a random pair of bytes, but anyways, what the
> @#$% does FISUBR do?
It's a floating point opcode.
Basicaly, FISUBR memx is an integer subtraction, expresed as:
st(0) = memx - st(0)
memx is either a 4 byte or a 2 byte signed integer stored in two's compliment
format. DA 2B happens to be the 4 byte version of the instruction.
Quite possibly the most perplexing FPU opcode, is, however, FYL2XP1. This
instruction is encoded D9 F9 and performs:
st(0) = st(1) * log base 2 of (st(0)+1), pop
Now that's what I call a complex instruction!
Craig
--- FMail/386 1.20+
---------------
* Origin: Communications Barrier BBS (03) 9585 1112, 24hrs (3:632/533)
|