Author Topic: General purpose registers values program  (Read 1238 times)

felipe

  • Member
  • *****
  • Posts: 1381
Re: General purpose registers values program
« Reply #15 on: May 26, 2022, 10:13:31 PM »
@daydreamer it's likely that the values of the registers are not always the same, that is you can get different values in different runs of the program. Windows still controls the hardware.

daydreamer

  • Member
  • *****
  • Posts: 2302
  • my kind of REAL10 Blonde
Re: General purpose registers values program
« Reply #16 on: May 28, 2022, 01:59:21 AM »
curious on fpu and xmm regs I wrote this,notice difference seem like been aftected by earlier stack frame,ran it from qeditor and direct click on .exe
before and after run program now
added EFLAGS and fpu status word and fpu control word
mine shows rounding to real8,while raymonds tutorial says initally real10
windows change that ?
Code: [Select]
registers
eax 75419191
ebx 7FFDE000
ecx 00000000
edx 00401000
esi 00000000
edi 00000000
esp 0018FF90
ebp 0018FF98
st0 000000000000000000000000
st1 000000000000000000000000
st2 000000000000000000000000
st3 000000000000000000000000
st4 000000000000000000000000
st5 000000000000000000000000
st6 000000000000000000000000
st7 000000000000000000000000
XMM0 00000000 00000000 00000000 00000000
XMM1 00000000 00000000 00000000 00000000
XMM2 00000000 00000000 00000000 00000000
XMM3 00000000 00000000 00000000 00000000
XMM4 00000000 00000000 00000000 00000000
XMM5 00000000 00000000 00000000 00000000
XMM6 00000000 00000000 00000000 00000000
XMM7 00000000 00000000 00000000 00000000
EFLAGS 00000007
carry clear parity clear Aux. Carry clear ZF zero clear SF Sign clear TF Trap cl
ear IF interrupt set DF Direction clear OF Overflow clear fpu control word
00000000
carry clear parity clear ZF zero clear
fpu control word
53 bits REAL8
round to nearest
registers after run program
registers
eax 00000002
ebx 004020A0
ecx 75A1D371
edx 0018FF38
esi 00000000
edi 00000000
esp 0018FF8C
ebp 0018FF98
st0 000000000000000000000000
st1 000000000000000000000000
st2 000000000000000000000000
st3 000000000000000000000000
st4 000000000000000000000000
st5 000000000000000000000000
st6 000000000000000000000000
st7 000000000000000000000000
XMM0 00000000 00000000 00000000 00000000
XMM1 00000000 00000000 00000000 00000000
XMM2 00000000 00000000 00000000 00000000
XMM3 00000000 00000000 00000000 00000000
XMM4 00000000 00000000 00000000 00000000
XMM5 00000000 00000000 00000000 00000000
XMM6 00000000 00000000 00000000 00000000
XMM7 00000000 00000000 00000000 00000000
EFLAGS 00000007
carry clear parity clear Aux. Carry clear ZF zero clear SF Sign clear TF Trap cl
ear IF interrupt set DF Direction clear OF Overflow clear fpu control word
00000000
carry clear parity clear ZF zero clear
fpu control word
53 bits REAL8
round to nearest
Press any key to continue ...
« Last Edit: May 30, 2022, 07:14:47 AM by daydreamer »
my none asm creations
http://masm32.com/board/index.php?topic=6937.msg74303#msg74303
I am an Invoker
"An Invoker is a mage who specializes in the manipulation of raw and elemental energies."
Like SIMD coding

jj2007

  • Member
  • *****
  • Posts: 13648
  • Assembly is fun ;-)
    • MasmBasic
Re: General purpose registers values program
« Reply #17 on: May 28, 2022, 06:49:28 AM »
Your program works fine :thumbsup:

Have a look at fsave+frstor

daydreamer

  • Member
  • *****
  • Posts: 2302
  • my kind of REAL10 Blonde
Re: General purpose registers values program
« Reply #18 on: May 30, 2022, 06:45:27 PM »
updated with showing EFLAGS,fpu status word,fpu control word
does everyone get the round to REAL8?probably for CPP double usage
 
my none asm creations
http://masm32.com/board/index.php?topic=6937.msg74303#msg74303
I am an Invoker
"An Invoker is a mage who specializes in the manipulation of raw and elemental energies."
Like SIMD coding