flat assembler
Message board for the users of flat assembler.

Index > Main > BIOS/OS-less XMM-usage (movdqa/movdqu)

Author
Thread Post new topic Reply to topic
StarKnightD



Joined: 04 Jul 2007
Posts: 38
StarKnightD
Hi,

the system I'm developing on is an AMD Athlon 64 3700+ (1MB Cache, Clawhammer, 754), it's supposed to have SSE2 (highest SSE revision which this processor supports), even the CPUID instruction confirms it.

However, when I try to employ the "movdqa xmm, xmm" instruction, the software crashes. is this some documentation issue, as the movdqa is supposed to be an SSE2 instruction (AMD64 manual says it is).

just to confirm, the XMM registers are accessible using movq xmm, xmm. but I'm not sure if they're at all useful..

by the way, I'm using the K8N Neo3 mainboard with Phoenix BIOS and apparently I have all the memory in my system available from within real mode. I can confirm the A20 line, for example, is enabled at boot time. if this is normal, then it's a surprise to me.

and as for my last comment, yes, my code is running immediately after the boot process.

Thanks,
Stefan


Last edited by StarKnightD on 31 Aug 2008, 16:32; edited 1 time in total
Post 31 Aug 2008, 16:06
View user's profile Send private message Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4633
Location: Argentina
LocoDelAssembly
Quote:

SSE2 (highest SSE revision)

I have a Athlon 64 3200+ (512 KB Cache, Venice, 939) with SSE3.

Have you enabled SSE first?
Post 31 Aug 2008, 16:29
View user's profile Send private message Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4633
Location: Argentina
LocoDelAssembly
Post 31 Aug 2008, 16:33
View user's profile Send private message Reply with quote
StarKnightD



Joined: 04 Jul 2007
Posts: 38
StarKnightD
oh crap, you responded just as I edited my post about that...

yeah, technically, the Socket 754 Clawhammer's are older than the Socket 939 Venice.

the BIOS Setup menu ("del" key on boot) has it enabled.. is that what you're referring to?
Post 31 Aug 2008, 16:37
View user's profile Send private message Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4633
Location: Argentina
LocoDelAssembly
No, I don't mean http://board.flatassembler.net/topic.php?p=59421#59421 but CR4.OSFXSR which must be set by the OS.

[edit]But if you haven't set OSFXSR but movq still works it is wierd Confused[/edit]
Post 31 Aug 2008, 16:49
View user's profile Send private message Reply with quote
StarKnightD



Joined: 04 Jul 2007
Posts: 38
StarKnightD
thanks for the links..

yeah, the movq does work (cpuid reports sse2 is available, too) but it doesn't appear to matter anymore. I just got back from testing CR4.OSFXSR, and using movdqa doesn't crash the program anymore.

anyway.. thank you. I appreciate the help Smile
Post 31 Aug 2008, 16:59
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.

Website powered by rwasa.