Hi All,
I've been using
owVar oword ?
to declare a 16-byte (XMM) variable in MASM6. When I try the same thing in MASM7 I get an error complaining about the need for a text field. Am I using this directive correctly? How do I declare 16-byte XMM variables in MASM7?
Cheers,
Randy Hyde
Randall,
You got my curiosity going.
I stuck your line in a asm file and checked the listing.
mouse_eventC . . . . . . . . . . Number 00000002h
owVar . . . . . . . . . . . . .
Records:
On first pass, It appears to be declared, but not defined. What makes you think it works? I know it assembled without error, but it's undefined in MASM documentation and windows.inc.
It looks too much like an undeclared error to me.
Regards, P1 :8)
Quote from: P1 on May 17, 2006, 05:16:40 PM
Randall,
You got my curiosity going.
I stuck your line in a asm file and checked the listing.
mouse_eventC . . . . . . . . . . Number 00000002h
owVar . . . . . . . . . . . . .
Records:
On first pass, It appears to be declared, but not defined. What makes you think it works? I know it assembled without error, but it's undefined in MASM documentation and windows.inc.
It looks too much like an undeclared error to me.
Regards, P1 :8)
Hmmm...
Well, I didn't actually *use* the symbol yet in the code, so maybe it's just a bug in MASM6 that it didn't catch this.
So the next question is, "how do I declare 16-byte XMM objects" in MASM6/7?
Cheers,
Randy Hyde
Okay, I found the following web page
http://www.intel.com/cd/ids/developer/asmo-na/eng/167741.htm?prn=Y
that suggests using XMMWORD under MASM.
Cheers,
Randy Hyde
Don't forget your alignment ! :thumbu
Variables of type _m128 are automatically aligned on 16-byte boundaries.
So, if I understand this properly a data label pointing to 16 bytes aligned on a 16-byte boundary will do the trick.
Are you using ia_pni.inc in your projects?
;This macro package requires an assembler vesion 6.15.8803 or later.
Regards, P1 :8)
Quote from: P1 on May 17, 2006, 05:40:17 PM
Don't forget your alignment ! :thumbu
Don't really need to worry about it for the current project. I'm just compiling code and comparing the output. It never actually runs (this is part of the test suite for HLA).
Quote
Variables of type _m128 are automatically aligned on 16-byte boundaries.
So, if I understand this properly a data label pointing to 16 bytes aligned on a 16-byte boundary will do the trick.
Are you using ia_pni.inc in your projects?
;This macro package requires an assembler vesion 6.15.8803 or later.
Regards, P1 :8)
Yeah, after I made the last post I read the article closer and discovered it was a macro package. So I'm still wondering what the correct declaration for a 128-bit object is in MASM 7 (haven't gotten around to trying it yet).
Cheers,
Randy Hyde