Author Topic: X64 Proc  (Read 6081 times)

mineiro

  • Member
  • ****
  • Posts: 644
Re: X64 Proc
« Reply #15 on: August 05, 2016, 08:50:28 PM »
Well, sorry jj2007, I don't have a source as an example. I only remember when I have tried using GOTO inside macro, if that macro is inside same source code appear to work fine, but if you put on other file and include that on source don't work as expected.

I will check and study your macros as one way to learn about macros. Please remember, I'm noob with macros, I simply can't walk but I like to run.
I'd rather be this ambulant metamorphosis than to have that old opinion about everything

jj2007

  • Member
  • *****
  • Posts: 10636
  • Assembler is fun ;-)
    • MasmBasic
Re: X64 Proc
« Reply #16 on: August 06, 2016, 04:11:40 PM »
One member downloaded yesterday a version that still showed incorrect values for rsp. It's fixed in version 6 August, please reinstall.

deb 4, "Testing the debug macro:", x:rax, rcx, $rdx, rsi, $rdi, $My$, x:rip, x:rsp, xmm1, f:xmm4, xmm5, ST(0), e:ST(1), ST(2), ST(3), MyR4, MyR8, MyDw, MyQw


Code: [Select]
Testing the debug macro:
x:rax   1111111111111111h
rcx     2222222222222222
$rdx    This is a string. You can display strings in the macro by putting a '$' before the variable.
rsi     5555555555555555
$rdi    ** not a pointer: 7bh
$My$    This is a string in a global variable. Below is the current program counter:
x:rip   140002353h
x:rsp   12ff00h
xmm1    1111111111111111111
f:xmm4  12345678.123456780
xmm5    5555555555555555555
ST(0)   3.141592654
e:ST(1) 9.876543210e+004
ST(2)   12345.678900000
ST(3)   3.141592654
MyR4    12345678.000000000
MyR8    12345678.123456780
MyDw    1234567890
MyQw    1234567890123456789

The prefixes serve to force certain formats:
e:ST(1)  exponential format
f:xmm1   interpretation as float (xmm regs can hold integers and floats)
u:rax    unsigned integer
x:rax    hex format