FlyBoy Posted November 5, 2004 Posted November 5, 2004 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?). Quote
*Gurus* Derek Stone Posted November 5, 2004 *Gurus* Posted November 5, 2004 No, one doesn't need to know C/C++ (or any other language for that matter) to code in assembly. You can write assembly in any text editor. It's the same as any other language when it comes to authoring. Quote Posting Guidelines
*Experts* Nerseus Posted November 5, 2004 *Experts* Posted November 5, 2004 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 Quote "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
FlyBoy Posted November 5, 2004 Author Posted November 5, 2004 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? Quote
*Experts* Nerseus Posted November 6, 2004 *Experts* Posted November 6, 2004 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 Quote "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
Denaes Posted November 6, 2004 Posted November 6, 2004 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. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.