You are not logged in.

#1 2008-12-11 14:09:58

KunlunKhan
Member
Registered: 2008-12-09
Posts: 22

IA64 Assembly Linux information

Anyone got any good resources for IA64 ASM under Linux?

Offline

#2 2008-12-13 16:13:20

jcolinzheng
Member
From: Cambridge, MA
Registered: 2008-08-06
Posts: 50
Website

Re: IA64 Assembly Linux information

Hmm...there's nothing specific to assembly about Linux.  Reading the Intel's manuals should be enough.

Offline

#3 2008-12-13 19:05:54

Diaz
Member
From: Portugal
Registered: 2008-04-16
Posts: 366

Re: IA64 Assembly Linux information

if you need the manuals, i can send the links to you, because, my teacher uploaded them to the site for my test on monday smile

Offline

#4 2008-12-13 20:56:13

string
Member
Registered: 2008-11-03
Posts: 286

Re: IA64 Assembly Linux information

I have this bookmarked: http://www.intel.com/products/processor/manuals/ . Alas, there are various assembly programming on Linux documents accross the web, most I've seen/read/search for are usually 32bit centric, since I don't have any 64bit machines (might also check out asm.sourceforge.net if you have not already). Another idea: check out #asm on irc.freenode.net or such, perhaps someone there has some good links at hand.

Last edited by string (2008-12-13 20:58:23)

Offline

#5 2008-12-13 21:57:23

Ginkgo
Member
Registered: 2008-12-13
Posts: 6

Re: IA64 Assembly Linux information

Are you sure, you mean IA64 and not x86-64?

IA64 is the intruction set of Intel's Itanium processors. The name IA32 has been retroactively introduced by Intel to refer to 32 bit x86.

Offline

#6 2008-12-13 23:07:45

KunlunKhan
Member
Registered: 2008-12-09
Posts: 22

Re: IA64 Assembly Linux information

Yeah, I mean x86_64 ...
For Core 2 Quad stuff. They dont use IA64.

Offline

#7 2008-12-14 05:12:16

Ranguvar
Member
Registered: 2008-08-12
Posts: 2,563

Re: IA64 Assembly Linux information

Unfortunately, there seems to be very little good assembly info for modern times... people seem to in general become lazy, assuming compilers are doing a good job. Almost all the comprehensive info I've been able to find talks about 32-bit as a _new feature_, if it even does at all. Forget about 64-bit. For any real specialized task, projects can benefit a ton from hand-coded ASM, though. I don't think I'd ever recommend it for an entire project, but ASM-in-C is definitely valuable. It's why x264 is so ridiculously fast - try disabling ASM and building, compare it against a normal build wink

Anyways, sorry about the rant. My personal advice would be to, as annoying as it is, find someone who can teach you. They may hate me for this, but try the x264 devs, they are artists with ASM from what I can tell sitting in their devel IRC channel. Some good college courses may also exist...

I wish you the very best of luck.

Offline

#8 2008-12-14 16:28:47

KunlunKhan
Member
Registered: 2008-12-09
Posts: 22

Re: IA64 Assembly Linux information

Ranguvar wrote:

Unfortunately, there seems to be very little good assembly info for modern times... people seem to in general become lazy, assuming compilers are doing a good job. Almost all the comprehensive info I've been able to find talks about 32-bit as a _new feature_, if it even does at all. Forget about 64-bit. For any real specialized task, projects can benefit a ton from hand-coded ASM, though. I don't think I'd ever recommend it for an entire project, but ASM-in-C is definitely valuable. It's why x264 is so ridiculously fast - try disabling ASM and building, compare it against a normal build wink

Anyways, sorry about the rant. My personal advice would be to, as annoying as it is, find someone who can teach you. They may hate me for this, but try the x264 devs, they are artists with ASM from what I can tell sitting in their devel IRC channel. Some good college courses may also exist...

I wish you the very best of luck.

Kind of dubious there's not much documentation tied to it. The only book I found and it is really worth it, is the "Programming from the ground up" at

http://savannah.nongnu.org/projects/pgubook/

However it's only for 32 bit stuff, and since I dont have any machines on 32 bit ...
Thanks for the x264 dev's info, seems a good place to bug them to death with questions smile

Offline

#9 2008-12-14 17:34:58

catwell
Member
From: Bretagne, France
Registered: 2008-02-20
Posts: 207
Website

Re: IA64 Assembly Linux information

What's most important is that the syscall numbers changed, otherwise it's about the same thing than 32 bits asm. So, the best source for information is unistd_64.h...

You also have to use syscall instead of int 0x80.

EDIT: Of course you can use 64-bits registers too...

Anyway, let alone unistd_64.h, you should read this.

Last edited by catwell (2008-12-14 17:44:00)

Offline

#10 2008-12-14 17:54:27

KunlunKhan
Member
Registered: 2008-12-09
Posts: 22

Re: IA64 Assembly Linux information

So you mean it's the SAME THING as 32 bit assembly, except the syscall numbers have changed?
Should it not be different since the registers now are bigger?

Offline

#11 2008-12-14 21:06:26

Ranguvar
Member
Registered: 2008-08-12
Posts: 2,563

Re: IA64 Assembly Linux information

I'm almost positive there are more differences than that. Compare the 32-bit and 64-bit assembly in x264.

Offline

#12 2008-12-14 22:30:59

KunlunKhan
Member
Registered: 2008-12-09
Posts: 22

Re: IA64 Assembly Linux information

Ranguvar wrote:

I'm almost positive there are more differences than that. Compare the 32-bit and 64-bit assembly in x264.

Yeah, thats what I was looking at now. This lack of documentation is ... ass-hardish.
What sources did you people learned from? If you learned that is!

Last edited by KunlunKhan (2008-12-14 22:31:19)

Offline

#13 2008-12-15 23:44:44

catwell
Member
From: Bretagne, France
Registered: 2008-02-20
Posts: 207
Website

Re: IA64 Assembly Linux information

I know no better documentation than that provided by AMD. I'm not an assembler fan so I've just read the link I have given a few posts above, but you can dive into the ABI if you want...

Offline

Board footer

Powered by FluxBB