Introduction / Opposite of Portable
Subtitles of the Movie
One of the purposes of modern programming languages is to have a program be portable across multiple machines, but that's not so with Assembly Language. When you write an Assembly Language program it is intended to run on one type of machine and nowhere else. Let me give you a simple example, in C or Java or Pascal or most higher level languages, you can write a statement like this and two numbers will be added together no matter what machine it runs on but in Assembly Language, this add instruction assumes there is a register named CX and another named SI. If the hardware has some other configuration this expression will be nonsense. It will not port to another machine. I know that in any higher level language not all symbols are portable but most of them are. Java is a portable language because it takes its own machine with it, the Java virtual machine. It has its own Assembly Language known as byte codes and any computer that runs the JVM will run any Java program. Port the JVM to a machine and you've ported all of Java. One very telling story is the history of Unix, originally the entire operating system was written in Assembly Language. Then the C language was devised as a highly improved Assembly Language and the decision was made to rewrite Unix in C and they did almost. A small piece of the kernel remained in Assembly because there are some things that a higher level language just won't do. The result of all this was that any new computer architecture could get the Unix operating system by porting that small section of Assembly Language and writing a port of the C compiler once that was one, the whole thing could be compiled and Unix would run. So that is one of the reasons that Unix became so popular. To put together this course some decisions had to be made. First it was necessary to find an assembler to use for the course and yes, there is more than one that runs on this same hardware, there is review of several of them at the end of this course. After studying the options one seemed to be most suitable, ASM is freely available. It seems to be well documented and well supported, it has versions for both Linux and Windows and much of the code written for one of the systems will work just fine on the other. That's not universal but any code that's operating system specific will be presented in this course for both systems. Code can be written in more than one mode for the Intel style family of chips, however, almost all programs today are run in a flat 32-bit address face so I'm not going to venture into the bizarre world of 16 bit memory addressing and segmented architecture. It's a programming paradigm of its own and it's almost never used anymore. I'm also going to ignore the new 64-bit systems. Well they're not so new anymore, Linux has had a 64-bit system for some years now but it's not used much, only in special cases, besides, the fundamental programming techniques are the same only the instructions are slightly different. This course will not venture into the embedded computing system world either. Just remember, the basic operational knowledge that you pick up here can be applied to these and other alien systems. Every CPU and every architecture it's mounted in has its own set of instructions. Each one has an Assembly Language of its own but there is a lot of common ground, once you learn one assembler, you'll have a running start at any one of the others. Once you learn how say the ORG and EQU pseudo instructions work in one assembler, you'll find out that they are pretty much the same or almost the same in others.
Tutorial Information
| Course: | Assembly Language Programming |
| Author: | Arthur Griffith |
| SKU: | 33995 |
| ISBN: | 1-935320-44-0 |
| Release Date: | 2009-05-28 |
| Duration: | 5.5 hrs / 70 lessons |
| Work Files: |
Yes |
| Captions: | Available on CD and Online University |
| Compatibility: |
Vista/XP/2000, OS X, Linux QuickTime 7, Flash 8 |
VTC Sign up & Benefits
- Unlimited Access
- 81,350 Video Tutorials (20,800 free)
- Video Available as Flash or QuickTime
- Over 782 Courses
- $30 for One Month Access
- Multi-User Discounts Available
United States 