ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

Other Software > Developer's Corner

coding x86 assembler on a 64 bit machine??[coding on a x64]

(1/4) > >>

giddy:
Hi, :)

Im a self taught pretty good C# programmer, i know a bunch of visual languages, i do know a little C and JAVA to but i'm not that experienced, which is a good enough excuse to ask....

Can i code x86 assembler on a 64 bit machine? I've just started reading Dr. Paul Carters free book, and i'm going to get a personal laptop with a 64 bit processor. Unfortunately, the laptop is the only one affordable yet fast enough for my work. So i don't have much of a choice.

Also, on the general level are there any unforeseen problems i might run into with programming C#, C , JAVA etc on a 64 bit machine? Will there be problems calling x86 code from C#? Or anything else i should know?


Hope that wasn't too much of a silly question,

Thanks so much
Gideon

f0dder:
Yes, you can code x86 assembly on a 64-bit x86 machine. If you're going to run 64-bit windows on it, you have the choice of writing either 32- or 64-bit assembly code, since 64-bit windows still supports 32-bit applications. Iirc the situation is the same with linux. If you're going to run a 32-bit OS, you're limited to 32-bit code.

For a 64-bit assembler, I'd suggest either FASM or the NASMX project. FASM has the advantage of very quickly adopting new instruction sets, so it has been the choice if you needed to use bleeding-edge features (like intel's VMX/Vanderpool instruction set).

giddy:
hi,

Thanks so much for your reply, thats pretty re assuring! Going to buy me a new laptop soon! :P

I would like to ask you: Has assembly come to use to you when coding apps? Or does it help you understand it all better?

I'm learning it just out of a lot of curiosity. Also i hope to get into electronics and understand ICs and microprocessor architecture better. Someone did tell me to learn it well enough to know whats its like but not enough to write an app, so will I be wasting time then??  Also I hope to learn MSIL soon, should I do that after I learn ASM?

Thanks so much
Gideon

f0dder:
Assembly has come useful multiple times in debugging my programs (as well as reversing other people's). It's been useful in writing more efficient code (both by writing it in assembly, but also for high-level languages, by choosing better structure layouts, organizing algorithms differently, etc.)

In my opinion it's a waste of time writing full applications in assembly (aside from the initial learning experience), you don't get much advantage over writing in C/C++ (people claiming "size! speed!" are just ignorant of how to use programming tools properly).

Dunno if there's much reason to learn MSIL assembly, except if you want to write an obfuscator or reverse-engineer existing programs. As far as I know, you won't really see any speed gains by hand-crafting MSIL - except for very specific stuff, like runtime code generation, where you'd probably be better off using a native module, anyway :)

giddy:
hi,

Thanks so much for the advice.

I finally got my laptop and I'm having quite some trouble findinf x64 drivers, I should warn anyone planning to run x64 Windows XP, try and find the required drivers! They're hardly available!! >:(

Anyway, So now i'm thinking of dumping the whole x64 idea, there not MUCH of a difference in performance right? I mean unless  I'm running a x64 app which itself will have problems connecting to x86 apps? Like IE x64 can't load a 32 bit applet!?

I want to know if i have any advantages on the programming front? Besides being able to test x64 assembly and apps what real advantages do i have with Windows Xp x64??

Thanks so much
From a very frustrated,:mad:
Gideon

Navigation

[0] Message Index

[#] Next page

Go to full version