Showing posts with label Assembly. Show all posts
Showing posts with label Assembly. Show all posts

Tuesday, January 8, 2008

Introduction to 80X86 Assembly Language and Computer Architecture

Introduction to 80X86 Assembly Language and Computer Architecture

Publisher Jones & Bartlett Publishers
Author(s) Richard C. Detmer
ISBN 0763717738
Release Date 14 February, 2001

A computer can be viewed from many different levels, and used for many different functions, such as the creation of new application software. However, an actual computer works at an even lower level than this. Introduction to 80×86 Assembly Language and Computer Architecture divides its emphasis between the assembly-language/machine-language level of computer operations and the architectural level, that is, the level defined by the machine instructions that the processor can execute. Although the primary architecture covered is the Intel 80×86 family, each chapter does include information about other architectures, or computer levels. Programmers are expected to program effectively at any level, therefore, Introduction to 80×86 Assembly Language and Computer Architecture is essential to the fundamental principles at the machine level that they will have to understand. Programming in assembly language and studying related concepts in Introduction to 80×86 Assembly Language and Computer Architecture prepares the student to program effectively in any programming language, to pursue advanced studies in computer design and architecture, and to learn more about system detail for specific computers.

Download Your eBook Now
Download eBook
Download from rapidshare.de

Download eBook
Download from eazyupload.net

Learn Microsoft Assembler in a Day

Publisher Wordware Publishing
Author(s) Stephen K. Cunningham
ISBN 1556223315
Release Date 26 April 1993

Download Your eBook Now
Download eBook
Download from rapidshare.de

Download eBook
Download from eazyupload.net

Prentice Hall Linux Assembly Language Programming

Download Prentice Hall Linux Assembly Language Programming

Publisher Prentice Hall
Author(s) Bob Neveln
ISBN 0130879401
Release Date 20 July, 2000

Assembly language is language which gives the programmer direct control over the computer. That is what appeals to people about assembly language. It is like using a stick shift. Programming with other languages, high-level languages, is like using an automatic.

Many people who use computers simply run programs. To them a program is a canned software package. People who like to write programs like to be able to shape the behavior of the machine the way metalsmiths shape metal into useful mechanical tools. Amongst all the programs on a computer, there is one program which runs the machine: the operating system. It controls everything. It offers “services” to the other programs. Most operating systems force programmers to leave their programming skills behind as they approach the operating system and to use it as they would a canned software package. That is because its source code is a secret. Linux portends the end of secret code in computing. Because the Linux source code and a compiler for it are right there on the computer along with the other source code, it allows programmers to work with the operating system as they do with programs they have written.

Operating systems were once written by programmers employed by computer manufacturers. Revolutions in hardware produced corresponding revolutions in the software. When Linus Torvalds rewrote Linux so that it would run on the Alpha architecture, his goal was not to increase its hardware base from one platform to two, but to make Linux platform-independent. The subsequent ports of Linux, to everything from a Sparc to a PowerPC, demonstrate the success of his rewrite.

The chief value of it is that it provides us with confidence that Linux is here to stay. We don’t have to fear a PowerPC revolution coming along and forcing us to dump all of our old software.

Assembly code, on the other hand, is intrinsically platform-dependent and is justifiably regarded with caution for just this reason. It will have to be redone when the next hardware revolution takes place. Furthermore, people who compare the machine language of the 386 with other machine languages, both real and ideal, inevitably end up regarding the 386 language as a historical accident. On the other hand, the genetic code is sometimes referred to as a frozen accident. The term is based on the idea that the genetic code ceased its evolution when the number of proteins whose code would be “broken” by a mutation in the genetic code became so large that such mutations became lethal, and so the code became fixed. It remains to be seen whether 386 machine code has been “frozen” into place by the size of its software base. The threat of a PowerPC revolution has passed. On the other hand, many Linux enthusiasts anticipate an Alpha revolution.

But the Alpha revolution has not happened and it may not happen. The 386 language has been around for a long time. With many RISC machines now emulating the 386 architecture, isn’t it time to consider programming in 386 assembly language? Assembly language is more work but it has its advantages. A very nice feature of assembly language code, which it shares with Linux itself incidentally, is that from a crass performance standpoint, it functions beautifully. Relying on compilers to produce good code is usually justifiable as a time saving measure.

But to get the best possible code, there is still no better option than to use assembly language. When high-level languages were still a novelty and referred to as automatic programming, many programmers were greatly offended by them. They were convinced that no compiler program could write code as well as they could. They were right of course. Compilers produce cheaper code but not better code. To get the full measure of speed and grace that a machine is capable of, there is no substitute for assembly language.

Furthermore, even if the Alpha revolution arrives on schedule tomorrow, there will remain in the world millions of processors running a 386 language that work beautifully and need to be put to a socially responsible use.

Computers can be programmed to report on our buying habits or to send off nuclear missiles. But they can also be programmed to communicate with privacy or to support medical research. As siliconsmiths, our job is to shape the behavior of the machine towards a human agenda.

This book assumes that the reader has some knowledge of C, but it makes no other assumptions.

Starred sections of the book are not needed subsequently and may be skipped when they are not of intrinsic interest.

Download Your eBook Now
Download eBook
Download from rapidshare.com

Download eBook
Download from eazyupload.net

Sams Mastering Turbo Assembler

Sams Mastering Turbo Assembler

Publisher Sams
Author(s) Tom Swan
ISBN 0672305267
Release Date 10 April, 1995

Written by nationally known, best-selling author Tom Swan, this book provides a complete introduction to programming as well as thorough coverage of intermediate and advanced topics.

Download Your eBook Now
Download eBook
Download from rapidshare.de

Download eBook
Download from eazyupload.net

Professional Assembly Language

Professional Assembly Language

Publisher Wrox Press
Author(s) Richard Blum
ISBN 0764579010
Release Date 31 January 2005
Page 574

Every high level language program (such as C and C++) is converted by a compiler into assembly language before it is linked into an executable program. This book shows you how to view the assembly language code generated by the compiler and understand how it is created. With that knowledge you can tweak the assembly language code generated by the compiler or create your own assembly language routines. This code-intensive guide is divided into three sections - basics of the assembly language program development environment, assembly language programming, and advanced assembly language techniques. It shows how to decipher the compiler-generated assembly language code, and how to make functions in your programs faster and more efficient to increase the performance of an application. What you will learn from this book: -The benefits of examining the assembly language code generated from your high-level language program -How to create stand-alone assembly language programs for the Linux Pentium environment -Ways to incorporate advanced functions and libraries in assembly language programs -How to incorporate assembly language routines in your C and C++ applications -Ways to use Linux system calls in your assembly language programs -How to utilize Pentium MMX and SSE functions in your applications

* Unlike high-level languages such as Java and C++, assembly language is much closer to the machine code that actually runs computers; it’s used to create programs or modules that are very fast and efficient, as well as in hacking exploits and reverse engineering
* Covering assembly language in the Pentium microprocessor environment, this code-intensive guide shows programmers how to create stand-alone assembly language programs as well as how to incorporate assembly language libraries or routines into existing high-level applications
* Demonstrates how to manipulate data, incorporate advanced functions and libraries, and maximize application performance
* Examples use C as a high-level language, Linux as the development environment, and GNU tools for assembling, compiling, linking, and debugging

Download Your eBook Now
Download eBook
Download from rapidshare.de

Download eBook
Download from eazyupload.net

The Art of Assembly Language

The Art of Assembly Language

Publisher No Starch Press
Author(s) Randall Hyde
ISBN 1886411972
Release Date 16 September 2003

“. . . well authored and easy to understand. The tutorials are thoroughly explained, and the example code segments is superbly commented”

Download Your eBook Now
Download eBook
Download from rapidshare.de

Download eBook
Download from eazyupload.net

Windows Assembly Language & Systems Programming: 16- And 32-Bit Low-Level Programming for the Pc and Windows

Windows Assembly Language & Systems Programming: 16- And 32-Bit Low-Level Programming for the PC and Windows

Publisher CMP Books
Author(s) Barry Kauler
ISBN 087930474X
Release Date 01 August 1997

Provides Windows programmers with details of and deep insights into the inner system functions of Microsoft Windows Essential for Win95 and other advanced Windows programmers Ideal for software developers who are moving applications from Windows 3.x t o Windows 95 Includes disk of example programs, source code, documentation, and utilities

In this book and disk set, Barry Kauler explains the exacting details of Windows programming at the system level. He dissects the fundamentals of hardware man agreement and explores the history and advanced architectural details of Windows, the PC processor family, and systems programming in Real and Protected modes. For everything from BIOS, direct hardware access, and virtual machines to real-time events and options for managing program transitions, Kauler gives the how-to information and example code advanced software developers need for the full range of Windows systems-level programming for Windows 3.1 to Windows 95. For programmers new to Windows, this book demystifies assembly language programming for Microsoft Windows. Kauler thoroughly examines the basic concepts of Windows, and reveals systems programming tips and tricks. He explains the architectures of the microprocessor hardware, and how these features affect programming; introduces object-oriented programming from a nuts-and-bolts perspective; demonstrates how to write complete object-oriented assembly language programs in as little as nine lines; shows how to interface C and assembly code; takes readers “inside” Windows to learn the architectural details that Microsoft never publicly documented; explains how to move between Real and Protected modes; illustrates the art of thinking from 16 bits to 32 bits and back again; and provides detailed, hard-to-find reference information. Plus, Kauler’s companion disk is a treasure trove of example programs, useful source code, further documentation, and powerful utilities.

Download Your eBook Now
Download eBook

Download eBook
Download from eazyupload.net

8051 Microcontrollers: An Applications Based Introduction

ISBN: 0750657596

Publisher Newnes
Author(s) Hassan Parchizadeh
ISBN 0750657596
Release Date 02 April 2004

The 8051 architecture developed by Intel has proved to be the most popular and enduring type of microcontroller, available from many manufacturers and widely used for industrial applications and embedded systems as well as being a versatile and economical option for design prototyping, educational use and other project work.

In this book the authors introduce the fundamentals and capabilities of the 8051, then put them to use through practical exercises and project work. The result is a highly practical learning experience that will help a wide range of engineers and students to get through the steepest part of the learning curve and become proficient and productive designing with the 8051. The text is also supported by practical examples, summaries and knowledge-check questions.

The latest developments in the 8051 family are also covered in this book, with chapters covering flash memory devices and 16-bit microcontrollers.

Increase design productivity quickly with 8051 family microcontrollers Unlock the potential of the latest 8051 technology: flash memory devices and16-bit chips Self-paced learning for electronic designers, technicians and students

Download Your eBook Now

Download eBook
Download from rapidshare.com

Guide to Assembly Language Programming in Linux

Guide to Assembly Language Programming in Linux

Publisher Springer-Verlag
Author(s) Sivarama P. Dandamudi
ISBN 0387258973
Release Date 15 July, 2005

Processor designs can be broadly divided into CISC (Complex Instruction Set Computers) and RISC (Reduced Instruction Set Computers). The dominant processor in the PC market, Pentium, belongs to the CISC category, and Linux is fast becoming the number one threat to Microsoft’s Windows in the server market. This unique guidebook provides comprehensive coverage of the key elements of Assembly language programming, specifically targeting professionals and students who would like to learn Assembly and intend or expect to move to the Linux operating system. The book instructs users on how to install Linux on existing Windows machines, providing DVDs containing the complete Fedora Core 3 Linux distribution. Readers are introduced to Linux and its commands, and will gain insights into the NASM assembler (installation and usage). This highly useful guidebook comes complete with all the necessary software (Linux, NASM, debugger), making it an extremely valuable resource tool for all those who want to learn Assembly programming and Linux.

Download Your eBook Now
Download eBook
Download from rapidshare.de

Download eBook
Download from eazyupload.net

Assembly Language Step-by-step: Programming with Dos and Linux

Assembly Language Step-by-step: Programming with DOS and Linux

Publisher John Wiley and Sons
Author(s) Jeff Duntemann
ISBN 0471375233
Release Date 30 November, 1999
Page 613

The bestselling guide to assembly language-now updated and expanded to include coverage of Linux

This new edition of the bestselling guide to assembly programming now covers DOS and Linux! The Second Edition begins with a highly accessible overview of the internal operations of the Intel-based PC and systematically covers all the steps involved in writing, testing, and debugging assembly programs.

Expert author Jeff Duntemann then presents working example programs for both the DOS and Linux operating systems using the popular free assembler NASM. He also includes valuable information on how to use procedures and macros, plus rare explanations of assembly-level coding for Linux, all of which combine to offer a comprehensive look at the complexities of assembly programming for Intel processors.

Providing you with the foundation to create executable assembly language programs, this book:

  • Explains how to use NASM-IDE, a simple program editor and assembly-oriented development environment
  • Details the most used elements of the 86-family instruction set
  • Teaches about DEBUG, the single most useful tool you have as an assembly language programmer
  • Examines the operations that machine instructions force the CPU to perform
  • Discusses the process of memory addressing
  • Covers coding for Linux
Download Your eBook Now
Download eBook
Download from rapidshare.de

Download eBook
Download from eazyupload.net

Your Ad Here