Jump to content
Xtreme .Net Talk

Recommended Posts

Posted

is this possible to know assembly without knowing C++ or C???

i want to learn assembly ...but i dont know C or c++ i only know C#.

i have the Visual C++ (is this ok for writing assembly code?).

  • *Experts*
Posted

As a piece of advice: There's virtually no reason to learn/code assembler unless you have a very, very specific need. For example, my old university taught assembly for mainframes because a local company needed assembly language programmers to maintain old apps.

 

assembly is also machine specific. To do anything interesting with assembly, it will probably be OS specific as well.

 

If you want a free compiler, look at nasm. Microsoft and IBM also make compilers, but nasm seems the most popular.

 

-ner

"I want to stand as close to the edge as I can without going over. Out on the edge you see all the kinds of things you can't see from the center." - Kurt Vonnegut
Posted
As a piece of advice: There's virtually no reason to learn/code assembler unless you have a very, very specific need. For example, my old university taught assembly for mainframes because a local company needed assembly language programmers to maintain old apps.

 

assembly is also machine specific. To do anything interesting with assembly, it will probably be OS specific as well.

 

If you want a free compiler, look at nasm. Microsoft and IBM also make compilers, but nasm seems the most popular.

 

-ner

 

hmm i dont have a specific reason...i just think its good to know assembly isnt it?

so it would be better to spent the time on being better with c# ????

or to start learning JAVA\J2EE?

  • *Experts*
Posted

I would think your time would definitely be better spent on almost anything other than learning to program in assembly. It wouldn't hurt to learn the basics of assembly - it helped me understand what's really going on with memory, especially when I later learned C and C++. It's also come in useful on maybe 2 occasions to just read assembly - that 2 occasions in the past 10 or 12 years. I've never had to write assembly, ever, for anything other than college courses and a few tester programs (also in college).

 

I'm not saying assembly isn't used anymore. But it's such a niche language with very limited usage. I've seen it mostly used in certain critical areas of game programming. And you wouldn't write core parts of a game in assembly - you would do analsys when the program is complete (or close) and maybe optimize those areas where hand-tuned assembly might provide a worthwhile gain.

 

-ner

"I want to stand as close to the edge as I can without going over. Out on the edge you see all the kinds of things you can't see from the center." - Kurt Vonnegut
Posted

I took it in college.

 

took about 14x as long to do something "command line" as VB6/C# would take. Thats just manipulating keyboard input and screen output.

 

Remember, you're literally using memory. You're reading memory blocks, you're writing values to them, assigning where in which register you want to push/pop values into/from, etc.

 

Fascinating Boredom will ensue. It's good to know how the memory and internals really work - but at some point it's just so dry and we're so spoiled. When you've just written your first Point of Sales system for recording ticket sales and reservations for a playhouse in Visual Basic - the last thing you want to do is study for weeks on end to display text, turn memory values into ASCII (and visa versa) and what the gritty rules are for how to move memory around, when, how.

 

Oh, since you're actually working IN memory, you screw up and you can crash your computer (not kill it, just crash it). Not like VB/C# where you get a runtime error or the IDE might stop responding... literally you can cause memory conflicts... and if you're really working with memory and have other apps open, you can accidently conflict with them causing irregularities in their running.

 

oh, and you at least need to know how to convert base 10 number systems over to base 12 (decimal to hex) and visa versa. I don't recall if binary was that important... I think the more recent Calc.exe's for windows can help you with that information. I recall needing to learn ASCII values as well.

 

Assembly was pretty much useful for programming machines without operating systems. Now even devices from fridgerators to palms (scanners, PDA's, inventory control) run on operating systems (Palm OS or Windows CE/Pocket mostly) so thats still in use, though a very niche market.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...