Assembly Language for electrical engineering

In summary, the conversation discusses the potential benefits of learning x86 assembly for an undergraduate student majoring in electrical engineering. While some believe that it is not necessary due to the availability of other programming languages and its limited use in the industry, others argue that it can provide a deeper understanding of computer architecture and real-time tasks. It is suggested that learning assembly on a small microcontroller, such as a PIC18F4455, would be more practical and cost-effective. Ultimately, the decision to learn x86 assembly depends on one's interests and career goals.
  • #1
jesuslovesu
198
0
I am an undergraduate student and I believe that I will probably major in electrical engineering. So my question is should I take the time to learn x86 assembly? I already know how to program in C++ well enough, but I really haven't done much with asm. I would like to get a microcontroller and play around with it, but they're too expensive, and I don't know if knowledge of asm would be a benefit or not.
 
Engineering news on Phys.org
  • #2
How about program on a calculator like the ti-89 or 86 which has a x86 platform.
 
  • #3
You probably won't be using it a lot. There is only a small market niche for asm programmers. You will be better off investing your time is learning a scripting language. See this/
Because EE is such a broad field, it also depends on what you wish to specialize in. Maybe you'll design your own hardware and write device drivers to interface it with computers. Then you'll need to know your assembly. Or maybe you'll want to do embedded systems programming on a very low level, then you'll need assembly...

I'm studying computer engineering, with emphasis on computer controlled hardware design. And as you've guessed it, I need to use asm for some low level stuff.

Also if you're going to take a course in computer architecture, asm comes hand-in-hand with this.
 
  • #4
jesuslovesu said:
I am an undergraduate student and I believe that I will probably major in electrical engineering. So my question is should I take the time to learn x86 assembly? I already know how to program in C++ well enough, but I really haven't done much with asm. I would like to get a microcontroller and play around with it, but they're too expensive, and I don't know if knowledge of asm would be a benefit or not.

I use a mix of assembly and C, and scripting languages (like Tcl/TK) as Ranger mentions. I think it's good to at least do a little assembly language work, since it helps you to better understand what goes on at a lower level in organizing your register accesses and how to work with a stack. It also is great for helping you to learn to use real-time interrupts and perform real-time tasks.

I wouldn't learn x86 ASM, though. I'd choose one of the popular small microcontrollers (uCs) that are available, like a PIC18F4455 or similar, and do some mixed C + ASM hobby projects on an inexpensive demo board. Check out the Microchip website for more info on PIC programming resources and demo boards.
 
  • #5
Many simple microcontroller kits are not expensive at all. You can probably find a simple PIC microcontroller kit at RadioShack for perhaps $20-$50. If you need pointers for specific model numbers, etc., let us know.

I agree that I wouldn't bother learning x86 assembly -- in practice, there's almost no conceivable reason for an EE to be programming in x86 assembly. If you're just looking for something useful to learn to get ahead in your studies, consider doing some digital logic with 7400 series ICs on a breadboard, or learning MATLAB, or learning PSpice.

- Warren
 
  • #6
I must say that I have to disagree with most of the answers above, Learning assembly has a lot of benefits for anyone interested in programming or computer architecture, see learning assembly maybe the goal but on your way to do so, you will pickup a few good skills, some of which are numbering systems, understanding of a certain CPU architecture, memory addressing...etc.

So although I think that learning a scripting language is very useful, it's a weekend project rather than a two month one which I think learning assembly is.

Also if I where you I'd prefer learning MIPS assembly it's easier and it'll introduce you to more architecture concepts than a 8086 (which I assume is what you will begin with).
 
  • #7
Go to Intel and read their manual. Whether it is worth your while learning an assembly language depends on your interests, your job, and the people you will be working with. If you are working with engineers building embedded systems, or designing embedded system yourself, I’d say it would be a very good idea to be familiar with the assembly language of the microcontrollers that you or they are working with.
 
  • #8
i think i 2nd what abdo says. just so that one learns more deeply how a system works, how instructions are fetched, pipelined, decoded, executed, how the CPU interacts with the peripherals, i think that one learns that more intimately with asm, rather than a high level language. EEs should have some idea what happens with a assembler/compiler, linker, stdlib, etc. how the low-level code is built. they should also have some idea how code is loaded with the monitor and control transferred to the loaded code. all those are good things for an EE to know about.

but i wouldn't want to do it in x86 asm. ick. in my day, it was the Motorola asm that was prefereable. now i don't know what chip would be the best learning example. MIPS? i don't know it.
 
  • #9
Necrophilia :rofl:
 
  • #10
berkeman said:
I'd choose one of the popular small microcontrollers (uCs) that are available, like a PIC18F4455 or similar, and do some mixed C + ASM hobby projects on an inexpensive demo board. Check out the Microchip website for more info on PIC programming resources and demo boards.

And you might also try the Digikey website to buy one.
 
  • #11
jesuslovesu said:
I am an undergraduate student and I believe that I will probably major in electrical engineering. So my question is should I take the time to learn x86 assembly? I already know how to program in C++ well enough, but I really haven't done much with asm. I would like to get a microcontroller and play around with it, but they're too expensive, and I don't know if knowledge of asm would be a benefit or not.

If you have real interest in microcontrollers, and you want a career in that specialization, knowledge of assembly level programming will definitely benefit you. But Electrical Engineering as of today is a very vast and diverse field, and computer is just a 0.00001% of it as far I know.
 

1. What is Assembly Language?

Assembly Language is a low-level programming language that is used to communicate with the computer's hardware directly. It uses mnemonic codes to represent machine instructions, making it easier for programmers to write code that can be easily understood by the computer.

2. How is Assembly Language used in electrical engineering?

Assembly Language is commonly used in electrical engineering to program microcontrollers and embedded systems. It allows engineers to have more control over the hardware and optimize the code for specific tasks, making it ideal for developing electronic devices and control systems.

3. Is knowledge of Assembly Language necessary for electrical engineering?

While not necessary, having knowledge of Assembly Language can be beneficial for electrical engineers. It allows for more efficient programming of microcontrollers and can help with troubleshooting hardware issues. However, other high-level languages such as C or Python can also be used for electrical engineering tasks.

4. How difficult is it to learn Assembly Language for electrical engineering?

Learning Assembly Language can be challenging for those new to programming. It requires a strong understanding of computer architecture and low-level operations. However, with dedication and practice, anyone can learn Assembly Language for electrical engineering.

5. Are there any resources available for learning Assembly Language for electrical engineering?

Yes, there are many online tutorials, books, and courses available for learning Assembly Language. Additionally, many universities offer courses in electrical engineering that cover Assembly Language programming. It is also helpful to have some prior knowledge of a high-level language before learning Assembly Language.

Similar threads

  • Computing and Technology
Replies
9
Views
1K
Replies
15
Views
29K
  • Electrical Engineering
Replies
17
Views
23K
  • Programming and Computer Science
Replies
16
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
22
Views
4K
Replies
6
Views
845
  • STEM Career Guidance
Replies
4
Views
1K
  • STEM Academic Advising
Replies
3
Views
292
  • STEM Academic Advising
Replies
6
Views
671
  • Programming and Computer Science
12
Replies
397
Views
13K
Back
Top