The MASM Forum Archive 2004 to 2012

General Forums => The Campus => Topic started by: kenshin32 on December 20, 2004, 07:12:41 AM

Title: macro assembly. can someone please help me?
Post by: kenshin32 on December 20, 2004, 07:12:41 AM
im using vs2005 to compile, the cvs version now is 2.1.0.83 can you help me with those assembly errors  ive have stated the block code above and i think heres the chunk of others.

what is the problem here?

TIGERKEYSCHEDULESSE2 MACRO

movdq2q mmx_temp1, xmm7
pxor xmm7, const_A5A5A5A5A5A5A5A5
psubq xmm0, xmm7
movq2dq xmm7, mmx_temp1
pxor xmm1, xmm0
movdq2q mmx_temp2, xmm1
paddq xmm2, xmm1
pxor xmm1, const_FFFFFFFFFFFFFFFF ; not
psllq xmm1, 19
pxor xmm1, xmm2
psubq xmm3, xmm1
movq2dq xmm1, mmx_temp2
pxor xmm4, xmm3
movdq2q mmx_temp3, xmm4
paddq xmm5, xmm4
pxor xmm4, const_FFFFFFFFFFFFFFFF ; not
psrlq xmm4, 23
pxor xmm4, xmm5
psubq xmm6, xmm4
movq2dq xmm4, mmx_temp3
pxor xmm7, xmm6
movdq2q mmx_temp4, xmm7
paddq xmm0, xmm7
pxor xmm7, const_FFFFFFFFFFFFFFFF ; not
psllq xmm7, 19
pxor xmm7, xmm0
psubq xmm1, xmm7
movq2dq xmm7, mmx_temp4
pxor xmm2, xmm1
movdq2q mmx_temp5, xmm2
paddq xmm3, xmm2
pxor xmm2, const_FFFFFFFFFFFFFFFF ; not
psrlq xmm2, 23
pxor xmm2, xmm3
psubq xmm4, xmm2
movq2dq xmm2, mmx_temp5
pxor xmm5, xmm4
paddq xmm6, xmm5
movdq2q mmx_temp1, xmm6
pxor xmm6, const_0123456789ABCDEF
psubq xmm7, xmm6
movq2dq xmm6, mmx_temp1

ENDM


its a macro? what can i do to fix this? red

Title: Re: macro assembly. can someone please help me?
Post by: hutch-- on December 20, 2004, 07:26:35 AM
kenshin32,

You may have to tell us a little more so anyone can help. We have people who are experienced in SSE2 coding but we have no context in how you are trying to use it. Within MASM you would just call the macro. If you create a seperate MASM module, you will have to know what to pass to it from VC but you can link the sperate module with VC code if you prototype it correctly.
Title: Re: macro assembly. can someone please help me?
Post by: Mark_Larson on December 20, 2004, 09:31:08 PM

  your variables need to be 16-byte aligned if you are using SSE2.  Otherwise you will get an exception.