PDA

View Full Version : Newbie Wanting To Learn Assembly



UnsafeData
05-06-2008, 04:50 PM
I want to learn assembly for older games.. 8-bit and 16-bit. I have no experience in any programming language whatsoever.

What's a good site that will teach me assembly or what should I go about learning this?

Note: I'm posting this thread in several different sites so you might see this thread elsewhere.. just wanna get the quickest reply..

Superman
05-06-2008, 04:58 PM
It somewhat depends on how motivated you are. But since you have never done any programming before, I would recommend taking a class.

Programming isn't something you can just "pick up". You need to learn the basics that are common or related to many programming languages. Then you can focus on the type of programming that interests you most.

UnsafeData
05-06-2008, 05:15 PM
It somewhat depends on how motivated you are. But since you have never done any programming before, I would recommend taking a class.

Programming isn't something you can just "pick up". You need to learn the basics that are common or related to many programming languages. Then you can focus on the type of programming that interests you most.

Thanks for the quick reply.

Sorry, I wouldn't want to take a class on it. I am motivated to learn this though..

And I was hoping there'd be a few websites that would teach me enough to experiment on my own and learn different things on my own.

Aussie2B
05-06-2008, 05:17 PM
Heh, yeah, if it was that easy to pick up a programming language, then programmers wouldn't be in such high demand and paid so well.

Try taking some college courses and see what you think of it. The first computer science course I ever took focused on C++, but we got to do some Assembly in my second (the C++ course was a prerequisite). We could only really get into the simplest of the basics in that semester, though, so if you expect to start programming your own games or being able to understand the code of older games, you're gonna be in it for the long haul.

jb143
05-06-2008, 05:18 PM
I'd definatly recomend learning C or BASIC first. Assembly is hard enough to grasp even if you know how to program already. Expecially if your doing graphics and games.

Something else to keep in mind...there are C compilers for older systems that actually work quite well as long as your not wanting to do something super fancy. I've programmed the gameboy this way before and was always surprized by how fast the programs would run.

Edit...
by the way...I taught myself how to program by trying to make games starting back in 3'rd grade. I only took the classes in college to learn how to program efficiently. So, it can be done but it's still a lot of work.

madman77
05-06-2008, 05:23 PM
If you want to learn programming, I don't really think that assembly is the best way to start. In order to understand it, you really need to understand what is happening under the hood. Reading a bunch of opcodes won't make sense to you. Unfortunately, you need to understand a lot of theory first.

I'd either learn C, or a good basic assembly book for x86 is called Assembly Language Step-by-Step. It goes into the background of exactly what a computer does and how all the internals work. In my opinion, understanding that is essential to programming a low level language. In addition to simply understanding the languages, you really need to adopt a new way of thinking in order to program...using loops and other common programming logic. Even a language like BASIC would help get your mind in shape for programming.

And as I always tell people learning to code for a console is the worst way to learn to code. Start with a well documented system like a PC and then maybe make the switch to easy, more documented systems like the Gameboy that are not very complicated.

Sniderman
05-06-2008, 05:25 PM
This forum at Atari Age (http://www.atariage.com/forums/index.php?showforum=11) discusses all matters of programming. Right now, there are several "Please help me learn Assembly programming!" threads already in progress. Poke around there and see what you can find out.

As for learning assembly in the comfort of your home, I suppose it's possible - if you're the kind of person who can self-teach themselves a foreign language. If you can sit down, read a book or a few web sites and learn to speak Portugese, you may have a shot. Lots of study and discipline to not throw in the towel after 20 minutes of "what the hell does THAT mean?!?!"

/been there, done that myself...

UnsafeData
05-06-2008, 05:28 PM
I'd definatly recomend learning C or BASIC first. Assembly is hard enough to grasp even if you know how to program already. Expecially if your doing graphics and games.

Something else to keep in mind...there are C compilers for older systems that actually work quite well as long as your not wanting to do something super fancy. I've programmed the gameboy this way before and was always surprized by how fast the programs would run.

Edit...
by the way...I taught myself how to program by trying to make games starting back in 3'rd grade. I only took the classes in college to learn how to program efficiently. So, it can be done but it's still a lot of work.

I'll try learning BASIC first, then. But where do I go to learn BASIC? I don't want to take a class.. I mean is there a site like http://learncpp.com is for C++?

And I don't literally mean teach it but I mean to help me learn it..

LightL
05-06-2008, 05:47 PM
Err, telling someone to learn C right off the bat and no other programming languages is a little bit too much in my opinion. Going from the bottom up (bottom as in something like html) would be much better. HTML doesn't take long to learn at all, as it isn't really hard.

http://www.w3schools.com/

Try there for programming languages.

UnsafeData
05-06-2008, 05:52 PM
Err, telling someone to learn C right off the bat and no other programming languages is a little bit too much in my opinion. Going from the bottom up (bottom as in something like html) would be much better. HTML doesn't take long to learn at all, as it isn't really hard.

http://www.w3schools.com/

Try there for programming languages.

Why start with HTML?

And I did learn HTML from there but I don't do any web design and I'm not great at it, but I know the basics fairly well.

Cinder6
05-06-2008, 06:01 PM
Err, telling someone to learn C right off the bat and no other programming languages is a little bit too much in my opinion. Going from the bottom up (bottom as in something like html) would be much better. HTML doesn't take long to learn at all, as it isn't really hard.

http://www.w3schools.com/

Try there for programming languages.

HTML isn't even a programming language. Why learn it? I self-taught myself C when I was in Jr. High; it wasn't very hard at all. Now I'm taking classes on it, and find myself way ahead of the pack. I stamped out 90% of my bad habits just by reading things online and participating in message boards.

As for Assembly, I agree it's a bit of an undertaking for your first language. One thing to know is that each architecture has its own syntax and way of doing things. In general, though, what you learn in one architecture translates pretty easily into another; it's just something to be aware of.

jb143
05-06-2008, 06:08 PM
HTML isn't even a programming language.

I was going to say the same thing :p

Anytime I actaully need to use assembly I usually write it out in C first and then translate it by hand. BTW...Has anyone here ever programmed for a MIPS processor? The C to assembly translation is incredibly straight forward. Not so much for older systems though.

UnsafeData
05-06-2008, 06:16 PM
HTML isn't even a programming language. Why learn it? I self-taught myself C when I was in Jr. High; it wasn't very hard at all. Now I'm taking classes on it, and find myself way ahead of the pack. I stamped out 90% of my bad habits just by reading things online and participating in message boards.

As for Assembly, I agree it's a bit of an undertaking for your first language. One thing to know is that each architecture has its own syntax and way of doing things. In general, though, what you learn in one architecture translates pretty easily into another; it's just something to be aware of.

Well I want to program for 8-bit or 16-bit consoles like an Atari 2600 or an NES.

But what sites do you recommend for reference? Sites to help me learn C? The Atariage forum should help me with Atari.



I was going to say the same thing :p

Me too but I but then I got a little confused why someone would mention HTML.. :?

Aussie2B
05-06-2008, 06:29 PM
Has anyone here ever programmed for a MIPS processor? The C to assembly translation is incredibly straight forward. Not so much for older systems though.

I'm just finishing up a course on MIPS architecture this semester. We translated a lot of C code into MIPS Assembly for practice. It was pretty fun. Definitely a lot simpler than the Assembly I had to do years ago.

I still can't stop thinking of the dang rabbit in Super Mario 64 every time I hear "MIPS", though, heh. :)

Poofta!
05-06-2008, 06:47 PM
im gonna chime in and agree with what everyone just said, youre not learning assembly to start off by yourself. you might not even be able to learn BASIC/C++ unless youre a certain mentality.

id recommend screwing around in VB just a little to get a sense of what programing IS. most people will get bored/annoyed and quit there. if you like it, then drop it quick and take an intro to programming course at the local community college. i second madman77's book recommendation, you really should learn how the pc talks to itself before you start telling it how to do things.

although i never tried, the for dummies books might be of SOME help in at least introducing you (and holding your hand along the way) to some basic principles and tricks of programming in BASIC or C++ so youd be much more at ease with going to a website (or jsut running the language) and trying to mess around doing new things.

Assembly will come after, probably a year or so. and as was mentioned, Assembly is platform specific, althoug the theory is the same. youd probably wanna start with something really simple like the GB (there is also a lot of help available for this particular platform).

i hope you have some art skills too, as photoshop will probably be a huge part of whatever youre making (pixel art at the least, maybe even 3d).

if you dont wanna learn anything and jsut make a [relatively] simple rpg, the rpg maker windows program is pretty user friendly and can go quite in depth (or so i hear).

good luck! but phrases like ' i dont wanna take a class ' already sets you in the wrong direction.

Flack
05-06-2008, 07:21 PM
You're not going to like this answer, but already in this thread you've pretty much convinced me that you will never learn assembly programming.

I've been peripherally involved in the "hacking" scene for twenty-five years now, and there seems to be a never-ending flood of people asking, "can you teach me to hack?" The very core of hacking is being curious about computers/networks/systems. It is a thirst for knowledge that can only be quenched through exploration. So to say "teach me how to hack" is like saying, "teach me how to be curious and show initiative." Even if there were a magic class that taught you every hacking technique known to man, what would be the point of instilling it into a person that can't even use Google to learn the basics of a topic they claim to be interested in?

Programming is pretty much the same thing. Programming, at its core, is solving problems by using instructions a computer can understand. I can't tell you how many times I've sat at a keyboard, racking my brain trying to solve a logic puzzle. I can't tell you how many times I've woken up at three in the morning, shouted "aha!" and run to a computer with a programming solution. I can't tell you how many times I've written programs, figured out a better solution than my initial one, and the scrapping weeks of works in a second.

Programming is all about solving problems and patience, two things you showed you lacked in your initial post. First, you admit to cross-posting on multiple sites because you couldn't stand to wait the couple of hours for someone to respond. Then, you showed me you didn't want to spend the five minutes of searching on Google it might take to turn up a few tutorials or, god forbid, a book you might be forced to read.

I'd be willing to bet my bank account against yours that you'll never produce anything in assembly. That being said, I'd love for you to prove me wrong. There is no magic shortcut when it comes to programming. You'll need to read, learn, practice, experiment, and most of all, show a little initiative. If you want to get started, well, here ya go (http://www.robohara.com/temp/assembly.zip).

LightL
05-06-2008, 07:24 PM
Why start with HTML?

And I did learn HTML from there but I don't do any web design and I'm not great at it, but I know the basics fairly well.

Just for the fact that it allows for the most basic understanding of what a language does when your coding it. I didn't mean for him to spend a week on it, just understand why things happen, and then go further. Overall though, it's probably not necessary, but it would help understanding how things work on a basic level if he has no idea what's going on in the background.

Edit: I just assumed that he had started with no experience whatsoever, and from the way he posted, I also came to the conclusion that going with the simpler would be better, as getting confused and frustrated wouldn't really happen as often (if at all, depending).

Poofta!
05-06-2008, 07:34 PM
Flack, you pretty much summerized what i was being nice and avoiding (people seem to think im a prick lol).

blue lander
05-06-2008, 07:54 PM
I wouldn't bother learning modern RISC based assembly language like they teach in college these days. If I were you, I'd go on ebay and find an old book on assembly language for the Commodore 64 or Apple ][, and read it cover to cover. They'll teach you more practical assembly (and programming in general), plus both machines use similar CPUs to the NES/2600. Learning how a modern PC or some toy CPU like MIPS works won't help you much with a NES. I also highly recommend reading some of the manuals and checking out some of the homebrew projects on 6502.org.

Speaking as someone who programmed (but never finished) a Space Invaders clone for the Sega Genesis, I would NOT recommend writing an entire old school game for the NES purely in assembly. Write the main code in C and do the low level stuff and interrupts in assembly. Unless you want to drive yourself insane.

Berserker
05-06-2008, 08:22 PM
There's actually a book called Assembly Language Step By Step by Jeff Duntemann that attempts to teach assembly as a first language. Look it up on Amazon or something, and good luck.

Brian Deuel
05-06-2008, 08:27 PM
A good way to learn Z80 is to pick up a TI-86 calculator and learn how to program it. Like the C64, it has built-in bios calls. The neat thing is, assembling your program, then checking out the bios calls to see how they work. I learned a lot of new routines and little tricks that way.

The C64 would be a good platform to learn 6502 on, although it's chip is a tad different from a vanilla 6502.

ticalc.org
6502.org

The Jeff Duntemann book is a good book. A little old (and DOS-based), but you do learn the joys of segmented memory and other neat little x86 quirks. x86 assembly is a real pain in the ass, so I wouldn't start there. Start with Z80, as it's probably the easiest, and you'll learn its variants (8080,etc) pretty much at the same time.

Assembly is fun to learn; at least it was for me. After slow-ass BASIC, it was a pleasure. Assembly is like walking up a long flight of stairs, describing every little step along the way.

staxx
05-06-2008, 08:41 PM
Just remember these and you'll be fine :)
ax
bx
cx
dx
push
pop

push bx
mov ax, bx
sub ax, bx
inc bx

wheeee I forgot a lot...
try going here
http://www.osdata.com/topic/language/asm/asmintro.htm

Ed Oscuro
05-06-2008, 08:54 PM
http://www.amazon.com/Programming-Z80-Rodnay-Zaks/dp/0895880695

I have this book in the red-and-white Radio Shack version. I gave up on assembly (for the time being) myself, but it's got a lot of good. The only thing I'm not certain about is how well it'll get you familiar with using peripheral devices (which I assume things like blitter and yamaha sound synth chips would be), but he does talk about them quite a bit.

Downside: It's a fairly sought-after book, so it might run you a few sheckels. Mine was about as expensive as the listed cover price indicated (I think $10, not sure).


The Jeff Duntemann book is a good book.
I've got one of his as well. Picked up an ancient but new copy from a Borders' going out of business years ago - almost wish I'd bought the other copy, heh.

Also: Say NO to Basic. Sure you'll get the idea that you can make things go here and there with goto, but some of the structural parts of Basic (such as the dumb scanning procedure) give it some serious problems for anything at all complicated. Learn how to program for reals and use register calls and everything else you're supposed to ;P

blue lander
05-06-2008, 08:55 PM
I think the 6502 is way easier than the z80, although less powerful. Learing the Z80 might be more useful if you want to get into x86 stuff, but the 6502 is a good jumping point into the 68000 series as well as the 65816 and 6809, which is far more useful from a classic gaming POV than learning the x86 line.

Ed Oscuro
05-06-2008, 09:00 PM
[...] far more useful from a classic gaming POV than learning the x86 line.
You dissin mah Marty? Not to mention the DECO32 and Seibu's Viper Phase 1 and Raiden Fighters series!

Actually, I guess I just proved your point. Sadness... ;)

blue lander
05-06-2008, 09:12 PM
The Odyssey 2 was based on an Intel chip too, wasn't it? But I think it was one of their horrible little microcontrollers rather than an 8080 derivative. Man, I hate those things.

I second forgoing BASIC. All it'll do is teach you a bunch of bad habits you'll have to unlearn. I'd just find an assembly language book circa 1983 (most from that era assume you don't already know any programming), buy an Apple ][, copy a decent macrocompiler to disk and go to town.

UnsafeData
05-06-2008, 09:17 PM
There's actually a book called Assembly Language Step By Step by Jeff Duntemann that attempts to teach assembly as a first language. Look it up on Amazon or something, and good luck.

That was the exact book I downloaded.

I did find an Assembly for 6502 book on Amazon.

http://www.amazon.com/Assembly-Language-Programming-Lance-Leventhal/dp/007881216X/ref=sr_1_1?ie=UTF8&s=books&qid=1210123763&sr=1-1

cyberfluxor
05-06-2008, 10:08 PM
Poofta! is right, Flack is the man.

UnsafeData:
How old are you? Unless you're under 16 or unemployed it's an uphill battle to just dive into programming. It does require a lot of time to learn the basics from "hello world" and work up to complex applications within a short period of time. So unless you have that spare time, dedication is key.

There are a few purchases to be made:
1. A coffee maker
2. Big coffee mug (with some scientific jargon on it)
3. Lots of filters and coffee beans

Then you must decipher the meaning of 42.

LightL
05-06-2008, 10:19 PM
I must say, I visited this website (http://www.cprogramming.com), and ever since around 6 or 7 PM, i've been reading about C++, and I know so much more than I ever could. Really, just dedicating to something and reading something like that works for many things. Very interesting stuff, I must say.

Just thought I'd drop by and say that.

Berserker
05-07-2008, 12:04 AM
The best way to learn programming right now (and this is course only my opinion), is to first start with a higher-level language, such as Python (not C++), to learn the basic programming concepts such as variables, expressions, functions, conditionals, recursion, and input/output.

Then when you feel like you have a solid understanding of that, you could go for a lower-level language, such as C. Try to wrap your head around the more archaic, system-level stuff, understand how pointers/memory addressing works, that kind of thing.

From there you could then move on to C++, though before doing that I'd suggest going back to your "learner" higher-level language and gain a firm grasp on all of the object-oriented goodness, as it's going to be much easier to learn conceptual stuff here. You could also head in an opposite direction, and try to get even closer to the system by tackling Assembly.


Also, do not mess around when it comes to learning materials. Research, google, ask around in IRC, but don't just use the first thing you find. Take a good look around before you dive into anything, and accept only the best. If you're using gimped materials, then you're going to end up having a gimped understanding.

I would also take Flack's advice to heart. Starting out trying to tackle Assembly is, in all likelihood, a recipe for failure. It might be possible, but it's not preferable, and you'll probably just end up finding yourself in way over your head, and burn out on it.


Learning Material Recommendations

Python - The best Python book I've found is both online, and free. How to Think Like a Computer Scientist: Learning with Python (http://openbookproject.net//thinkCSpy/).
C - C Primer Plus (http://www.amazon.com/Primer-Plus-5th-Stephen-Prata/dp/0672326965/ref=pd_bbs_3?ie=UTF8&s=books&qid=1210132191&sr=1-3) to learn, and keep The C Programming Language (http://www.amazon.com/Programming-Language-Prentice-Hall-Software/dp/0131103628/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1210132191&sr=1-1) as a reference. You'll be coming back to that latter one a lot, it's a classic.

But like I said, use google to substantiate even these recommendations. If you find something better, use that instead.

kaedesdisciple
05-07-2008, 12:40 AM
Flack, man, very well put. Tough, but fair. BTW, I'm right there with you with people asking "Hey, you're in security, teach me how to hack! I want to mess with my friends!" Of course not only would that be unethical for me, I could lose my certification, my job and my good name in the industry.

Back on topic, I've been playing with computers for about 20 years and been a formal student/professional for about 8. Having learned various languages both in the classroom and on the job, I can't stress enough the importance of formalized education. If you don't know how the language affects the many parts of the hardware and the operating system to produce the effects you want, then you'll be shooting blind. Having someone there with the experience to push you in the right direction can save you LOTS of headaches. Programming theory, in my opinion, is more important than the languages themselves. The theory, good solid algorithms and best practice will follow you through every language you can learn. I will tell you straight out that you will get frustrated, you will throw the book(s) and you will want to put your fist through the screen because you just don't know where your bugs are or how to make your routine more efficient. I've been through it myself, and I see it happen with other people every day. Like many have said, you need the determination and fortitude to keep moving forward. Don't think of some short-sighted goal, that will only lead to wasted time and a very frustrated you.

With that said, best of luck. We will always need people that understand low-level code, in just about every industry.

Cinder6
05-07-2008, 02:18 AM
More has been posted...

I third (fourth? fifth?) the Assembly Language Step-by-Step program, if nothing else than because it has good explanations for how memory and processors work, on a fundamental level. The assembly you learn in it is, of course, DOS-based, and can be difficult to get to run on a modern machine (though at the end of the book, there's a bit of Linux stuff in there, too). I hope a new edition comes out some day.

As for where to start...I still suggest C. The first C book I read was "C for Dummies"--it's fantastic. It does an excellent job of telling you why you're doing what you're doing, how the stuff works, etc. It assumes you've never programmed before, which sounds perfect for you. I honestly haven't read a better tutorial book (I wish I could say the same for C++ for Dummies...).

Also, getting a copy of K&R C Programming Language is great for reference, and for learning some more advanced techniques. Then you should be ready for a dive into assembly...

That is, of course, if Flack is wrong :)

Cantaloup
05-07-2008, 04:28 AM
1. Start with the C programming language. For programming games I suggest libSDL (http://libsdl.org), a free library that provides many game-related functions.

2. Don't bother learning BASIC. It's hardly used much anymore, and with good reason.

3. Learning assembly only lets you program for a particular processor or processor family. For example, learning Motorola 68000 assembly will not teach you MOS 6502 assembly. Although some concepts are shared, the basics are more easily learned first with a higher-level language like C.

4. To program successfully in assembly for the systems you're talking about, not only do you need to know the assembly language of the CPU, you need to know specific details of the system architecture. For example, you need to know how the CPU communicates with devices such as graphics processors, sound processors, and controllers. These details are extremely system specific and require low-level knowledge. Even if two different systems share the same CPU their software will usually not be compatible.

5. For reasons 3 & 4 above, most programming these days is done in high-level languages like C. Libraries like libSDL allow the creation of software with high-level APIs that eliminate the need for programmers to get involved with the low-level hardware details. All this makes software much easier to port, write, debug, understand, and maintain.

Icarus Moonsight
05-07-2008, 05:32 AM
Newbies should start out with fundamentals such as, language logic, flow charting, pseudocode (simply written, in plain english, what you're attempting to have the machine do) and control structures rather than dive right into assembly. Someone with no knowledge attempting to go right to assembly is either woefully unaware, a masochist or just enjoys setting themselves up to fail.

Flack
05-07-2008, 08:29 AM
2 last points.

1, I disagree with the "don't learn BASIC" comments. I use VB regularly to spew out projects at work. The concepts I learned in the early 80s -- variables, logic, flow, etc -- still apply today, not only to VB but any language. It's an easy way to learn how programs flow.

2, in case it was missed, in my last response I linked to four really good Assembly books. That zip file has everything anyone needs to learn assembly.

blue lander
05-07-2008, 09:08 AM
Out of the people here who are recommending learning HLL structure and theory and whatnot before hitting assembly level ever actually used it professionally? A lot of people take a class on assembly language in college that utilizes some imaginary oversimplified RISC CPU and think that they're programming in assembly language. I took a class like that in college too, but after I had done Z180 and 80186 programming professionally. Although the class did give a bunch of C++/Java programmers an idea of how the computer works at a low level, it didn't teach them any practical assembly. In fact, they had to un-learn a lot of their high level programming theory just to wrap their heads around programming the bare hardware.

I still think the best approach is the old school way. Get an old introduction to assembly language manual, an old simple non-multitasking computer with a simple CISC instruction set (start with something 8 bit) and no segmented memory or fancy MMUs and whatnot, and maybe a book of datasheets for 7400 series chips. You won't learn many skills you can make money off of, but you will learn how to program the bare metal of a computer better than some UML loving software engineer.

rbudrick
05-07-2008, 10:01 AM
I hear a lot of "take a class" here. Where the hell can one take assembly classes? I've never seen them offered in a school. You can bet your ass I would have taken 6502 if it were offered when I was in school.

I asked a professor once in the late 90s about the best way to learn assembly and he asked me why the hell I would even bother with legacy devices. Whatever.

-Rob

madman77
05-07-2008, 10:08 AM
The "take a class" was more about learning programming in general, not specifically assembly.

blue lander
05-07-2008, 10:13 AM
Most Computer Science or Computer Engineer degrees include a single Assembly Language class, usually as a prerequisite to some Systems Architecture class. The one I took used a MIPS R2000 (I think?) emulator called SPIM, which is just simple enough to teach the basics of how a computer works (and write simple "Hello World" programs) at the low level without going into the nitty gritty details that'd only be useful to an assembly programmer. MIPS assembly has to be passed through a pretty complicated preprocessor that rearranges the code as to not stall the pipeline, and a lot of the so-called "assembly instructions" are actually just macros that the preprocessor rolls out into real assembly.

When I took the class, I happened to have a DECStation 5000 which has a real MIPS CPU. By writing some simple C++ code and having the compiler output .s files, I did manage to learn how to interface with the NetBSD system calls and write practical assembly programs.

UnsafeData
05-07-2008, 10:42 AM
So what do I start with? C or BASIC? There's alot of mixed views..

jb143
05-07-2008, 11:18 AM
I hear a lot of "take a class" here. Where the hell can one take assembly classes? I've never seen them offered in a school. You can bet your ass I would have taken 6502 if it were offered when I was in school.

I asked a professor once in the late 90s about the best way to learn assembly and he asked me why the hell I would even bother with legacy devices. Whatever.

-Rob

In my electronics class in high school we learned assembly language. We actually started by entering programs in machine language on those horrible horrible old trainers with the hex keypad and the 7 segment displays for output. Then in the same class we learned to program motorola microcontrollers in assembly connected to motors and the like to use in our projects.

In college I had 3 classes where we learned assembly...or was it 4? All I really remember from college was eating a lot of pizza.

rbudrick
05-07-2008, 11:47 AM
In my electronics class in high school we learned assembly language. We actually started by entering programs in machine language on those horrible horrible old trainers with the hex keypad and the 7 segment displays for output. Then in the same class we learned to program motorola microcontrollers in assembly connected to motors and the like to use in our projects.

In college I had 3 classes where we learned assembly...or was it 4? All I really remember from college was eating a lot of pizza.

I thought machine language was just 1s and 0s, by definition. Your electronics class pwned any offered where I went to school, btw.

-Rob

jb143
05-07-2008, 12:27 PM
Well...I guess we did have to translate it from binary into hex to make it easier to type. And yes, my electronics class was great. It was mainly because of the teacher. We were building long range listening devices, laser activated alarm systems, laser light shows, and even a rail gun in there.

blue lander
05-07-2008, 12:44 PM
Most 8 bit machine codes are far easier to represent in hex rather than binary. Assembly language manuals usually have a table in the back which tells you the hex for each opcode, which you can easily punch into a ROM Monitor program or the hex keypad on one of those old training board. It's a little more complicated on more sophisticated CPUs like an LSI-11 where certain bits are the opcode and others define the addressing modes and whatnot.