Bona Fide OS Development
http://forums.osdever.net/

WEIRD?!!?!?!?!?!
http://forums.osdever.net/viewtopic.php?f=5&t=205
Page 1 of 1

Author:  AngelOS10 [ Thu Mar 04, 2010 3:22 am ]
Post subject:  WEIRD?!!?!?!?!?!

Today i was compiling my OS it went fine but then a minor change and Poof!
stops and says unresolved symbol linker error 2021: unresolved symbol __aulshr refrenced in fuction i86_cpu_initialize();

Author:  thepowersgang [ Thu Mar 04, 2010 4:04 am ]
Post subject:  Re: WEIRD?!!?!?!?!?!

Google is your friend, my friend.

After a quick google, it seems that it is what VC uses to handle some sort of integer operation (I think "Unsigned Long SHift Right" or something)
Do a little searching and you should solve your problem.

Author:  Terry A. Davis [ Thu Mar 04, 2010 5:00 am ]
Post subject:  Re: WEIRD?!!?!?!?!?!

My LoseThos 64-bit compiler converts all values to 64-bit before working on them. If you have a constant, it gets converted to 64-bits.

U0 DoIt()
{
I8 i=0x8000000000000000;
coutln i>>1;
}

That operates normally.

U0 DoIt()
{
U8 i=0x8000000000000000;
coutln i>>1;
}

That operates normally.

U0 DoIt()
{
I4 i=0x80000000;
coutln i>>1;
}

That operates unexpectedly, because the 0x80000000 value is converted to 64-bit and does not overflow. It's stored in a 64-bit register for the remainder.

This is the correct LoseThos code for what you want.
U0 DoIt()
{
I4 i=-0x80000000;
coutln i>>1;
}

Author:  Agalloch [ Thu Mar 04, 2010 6:01 am ]
Post subject:  Re: WEIRD?!!?!?!?!?!

This problem was already posted.

http://forums.osdever.net/viewtopic.php?f=5&t=200

It was also responded to, and moved to the correct forum.

Moved and Locked.

Page 1 of 1 All times are UTC - 6 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/