Introduction to Computer Architecture and Systems Programming: Using C and Pep/9 Assembly

· Dwight Sikkema
Ebook
200
Pages
Eligible

About this ebook

Computers are programmed in machine language. That is, a language that the machine understands. Assembly language is a symbolic machine language, making it more easily understood by a human.

It may be that you will never write programs in machine or assembly language, but understanding these languages is essential in understanding the architecture of a computer system. The programs you will likely write will be translated into machine language so it can be executed on a machine. Therefore, understanding machine language is also important to understanding computer programming.

I have taught computer architecture and assembly for many years. Initially, I taught the class using Stanley Warford’s outstanding text Computer Systems (a book I recommend for any computer professional’s bookshelf) but found myself building custom presentations of the course material based on feedback from students and my own teaching style.

Eventually, I had a completely customized presentation of the entire course and students began asking for a text that more closely adhered to the presentations I was making in class. While on vacation in Santa Fe, New Mexico, I woke up early one morning and decided to write down some thoughts on binary logic. During the vacation, I completed the chapter save some editing. With one down, I thought I would create at least a collection of three: binary numbers, binary logic, and binary representations. Then, I decided I would write two chapters on programming (C and assembly) that would parallel each other and could be reinforced with weekly programming projects. By then, I had covered most of the course and it was a matter of filling in the gaps.

For students who have no experience in computer programming, I think you will find this text provides a useful understanding of computers and programming that can be a foundation for your future classes. If you are not going to pursue computer science as a career, you may find yourself using some of what is taught here in any career that uses computers.

For students who have some experience with computer programming, some of the programming topics discussed in this text may be a bit redundant; however, your previous programming classes likely focused on application development. The use of the C programming language and assembly language in this text is geared more toward systems programming. Unlike application programming, systems programming is more tied to the underlying hardware architecture than application programming. Because of this, systems programming and assembly language help reinforce an understanding of computer architecture.

About the author

Originally from Chicago, Illinois, Dwight studied Business at Butler University and the University of Kentucky. He did his graduate work in Computer Science at Clemson University. Since graduating in 1985, he has had many roles in the computer industry from development to management at Harris Semiconductor (now Intersil), Data General (now EMC), ITT Radar Systems (now Exelis and owned by Harris), DreamWorks Animation, and Twentieth Century Fox. He is currently a consultant working on federal contracts in the cloud computing space. He currently lives in Santa Clarita, California and teaches and writes when he isn’t working.

Rate this ebook

Tell us what you think.

Reading information

Smartphones and tablets
Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.
Laptops and computers
You can listen to audiobooks purchased on Google Play using your computer's web browser.
eReaders and other devices
To read on e-ink devices like Kobo eReaders, you'll need to download a file and transfer it to your device. Follow the detailed Help Center instructions to transfer the files to supported eReaders.