I really want to know assembly, but before I learn it, I want to know everything about c++ (this way I know that I am ready), but the problem is that no matter what I look up, and no matter what library I open, I can't seem to figure out the low level stuff, no one seems to know anything, and I don't know what to do!, can someone please tell me how you learned all about one of the high level languages? (and no, I don't have time to wait for them to teach me it in school, I want to learn it as soon as possible), I just want to know EVERYTHING about computers, I already know circuitry, now I just want to be able to make a robot that can explore the physical world, and connect to a computer and go into the computer
how do you start learning assembly?
Started by
Guest_x42_*
, Jun 18 2010 01:05 PM
42 replies to this topic
#1
Guest_x42_*
Posted 18 June 2010 - 01:05 PM
Guest_x42_*
|
|
|
#2
Posted 18 June 2010 - 06:12 PM
Um...A little ambitious there. I've been programming for seven or eight years now, and I still don't know everything. You can't just rush into all this. I suggest you sit down with a good book (Teach Yourself C++ in 21 Days comes to mind) and start from there.
And not to rain on your parade...as far as a programmable robot that can be connected to a computer, you're going to need to know:
- Device drivers and how to write them for the operating system you choose. Note: You might be able to get away with this using Java, but it'll be hard no matter what language you choose.
- Machine learning algorithms. Requires good grasp of:
--> pattern recognition algorithms
--> Possibly multivariable calculus, and/or linear algebra, depending on the class of algorithm you choose
--> Statistics
--> Probability theory
--> Searching & sorting algorithms
- Drivers for the appendages or whatever that you're going to use. Should you want to include vision, you're going to make life hell for yourself, as that'd take much more complicated algorithms that even PhDs spend their lives figuring out.
- Enough electrical engineering--BSEE-grade at least--to figure out how to design the thing
- Enough CS to figure out how to program the thing and cram all the code into as small a space as possible
- Assembly language for writing the basic programs for the robot's internal control. Probably ARM, but it depends on your design choices.
- MONEY
I'll be happy to help. Just calm down, okay? :) Start with a high-level language like Java, then work your way down to C/C++, and then get to assembly language. If you jump straight into assembly language your head'll explode.
And not to rain on your parade...as far as a programmable robot that can be connected to a computer, you're going to need to know:
- Device drivers and how to write them for the operating system you choose. Note: You might be able to get away with this using Java, but it'll be hard no matter what language you choose.
- Machine learning algorithms. Requires good grasp of:
--> pattern recognition algorithms
--> Possibly multivariable calculus, and/or linear algebra, depending on the class of algorithm you choose
--> Statistics
--> Probability theory
--> Searching & sorting algorithms
- Drivers for the appendages or whatever that you're going to use. Should you want to include vision, you're going to make life hell for yourself, as that'd take much more complicated algorithms that even PhDs spend their lives figuring out.
- Enough electrical engineering--BSEE-grade at least--to figure out how to design the thing
- Enough CS to figure out how to program the thing and cram all the code into as small a space as possible
- Assembly language for writing the basic programs for the robot's internal control. Probably ARM, but it depends on your design choices.
- MONEY
I'll be happy to help. Just calm down, okay? :) Start with a high-level language like Java, then work your way down to C/C++, and then get to assembly language. If you jump straight into assembly language your head'll explode.
Edited by Roger, 11 August 2010 - 03:49 PM.
sudo rm -rf /
#3
Posted 19 June 2010 - 04:14 AM
As a side note, I haven't gotten around to learning assembly (though I can usually read it) simply because I want to get things done. I'm not saying Assembly isn't a good language to know, just that I can get programs doing what I want much faster without it.
#4
Posted 19 June 2010 - 02:48 PM
I largely agree with you, WP. It helps a lot though when doing really low-level stuff like setting up protected mode and interrupt vectors for operating systems, or programming with tight restrictions on space and/or performance.
sudo rm -rf /
#5
Guest_x42_*
Posted 19 June 2010 - 03:09 PM
Guest_x42_*
uhh.. I am perfectly aware that it won't be easy, and I am upset because it seems as if the entire internet is trying to keep me from finding out sometimes, there is not one tutorial out there that teaches anything that you don't "need" to know, and I know not to jump straight into assembly, I have been trying to figure out c++, but of course no matter how many times I explain that I am curious, the only response I ever get is "and that is why it is not necessary", I feel like I just want to rip that guy's head off!
#6
Guest_x42_*
Posted 19 June 2010 - 03:11 PM
Guest_x42_*
good for you, I unfortunately don't care!, I didn't teach myself c++ so I could make programs, I taught myself it so I could make my robots compatible with computers, you clearly didn't read all of my description otherwise you would not have put that as an answer, please don't ever answer one of my questions like that again
#7
Posted 19 June 2010 - 05:13 PM
I'm being realistic, x42. Building a robot yourself will take all the stuff I mentioned above. Using a commercially available robot with established drivers and APIs is entirely different (i.e. easier). Neither is trivial. Which one are you going for?
sudo rm -rf /
#8
Posted 19 June 2010 - 11:14 PM
I agree with dargueta on the matter. If you were proficient in robotic electronics and what they use as interprogrammable PIC microcontrollers it would be varients of BASIC that were preferred by manufacterers and learning facility-based robotic control implementations, not LM86 assembly. If you wish to learn DOS specific assembly on an 8086 (which you're asking us for help on resources for) then you may go ahead, but it will not serve you at all on "programming" another completely obstense chipset.
That is all we are saying. Not to mean in an offensive way, that is not what I intended but you are just going down a long path of something that won't serve purpose of what you're wishing to do.
That is all we are saying. Not to mean in an offensive way, that is not what I intended but you are just going down a long path of something that won't serve purpose of what you're wishing to do.
Be sure to read the updated FAQ! || Health is achieved through the same 10,000 steps.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.
#9
Posted 20 June 2010 - 12:52 PM
As you already mentioned, it is better to learn a high-level programming language first. Assembly is actually not a difficult language, but it is kind of strange.
I suggest that you learn C/C++. Once you've done that, you have to read as many books and tutorials on assembly as possible (that's the way I learned it).
There are several good tutorials on the Internet (for example in this community).
Greets,
artificial
I suggest that you learn C/C++. Once you've done that, you have to read as many books and tutorials on assembly as possible (that's the way I learned it).
There are several good tutorials on the Internet (for example in this community).
Greets,
artificial
#10
Guest_x42_*
Posted 20 June 2010 - 05:57 PM
Guest_x42_*
I am going for the one where I don't feel like I am building it from a kit, and no robots don't have to be like computers, driver software is not in any way necessary, driver software was made so they could easily add hardware, a robot is just a programmable machine, so if it is programmable, it is a robot, even if it doesn't have drivers
#11
Posted 20 June 2010 - 05:59 PM
You need drivers to make it able to communicate with the computer. I thought that was part of what you wanted.
sudo rm -rf /
#12
Guest_x42_*
Posted 20 June 2010 - 06:00 PM
Guest_x42_*
easier said than done, the people who write the libraries that everyone tells me to try taking apart have actually said:
#ifndef _FEATURES_H
# error "Never use <bits/predefs.h> directly; include <features.h> instead."
#endif
it is like they are intentionally trying to waste my time
#ifndef _FEATURES_H
# error "Never use <bits/predefs.h> directly; include <features.h> instead."
#endif
it is like they are intentionally trying to waste my time
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users


Sign In
Create Account

Back to top










