The MASM Forum Archive 2004 to 2012

General Forums => The Campus => Topic started by: Randall Hyde on May 17, 2006, 04:02:15 PM

Title: oword syntax for MASM 7
Post by: Randall Hyde on May 17, 2006, 04:02:15 PM
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
Title: Re: oword syntax for MASM 7
Post by: 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)
Title: Re: oword syntax for MASM 7
Post by: Randall Hyde on May 17, 2006, 05:19:01 PM
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
Title: Re: oword syntax for MASM 7
Post by: Randall Hyde on May 17, 2006, 05:23:53 PM
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
Title: Re: oword syntax for MASM 7
Post by: P1 on May 17, 2006, 05:40:17 PM
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)
Title: Re: oword syntax for MASM 7
Post by: Randall Hyde on May 17, 2006, 07:08:26 PM
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