Subjects
A self-contained introduction to microprocessor theory and applications
This book presents the fundamental concepts of assembly language programming and system design associated with typical microprocessors, such as the Motorola MC68000/68020 and Intel? Pentium?. It begins with an overview of microprocessors—including anexplanation of terms, the evolution of the microprocessor, and typical applications—and goes on to systematically cover:
Assembly programming and the 8086 microprocessor Download assembly programming and the 8086 microprocessor or read online books in PDF, EPUB, Tuebl, and Mobi Format. Click Download or Read Online button to get assembly programming and the 8086 microprocessor book now. This site is like a library, Use search box in the widget to get ebook that.
![Microprocessor And Assembly Language Programming Ebook Microprocessor And Assembly Language Programming Ebook](/uploads/1/2/6/3/126350583/747906039.jpg)
The author assumes a background in basic digital logic, and all chapters conclude with a Questions and Problems section, with selected answers provided at the back of the book. Microprocessor Theory and Applications with 68000/68020 and Pentium is an ideal textbook for undergraduate- and graduate-level courses in electrical engineering, computer engineering, and computer science. (An instructor's manual is available upon request.) It is also appropriate for practitioners in microprocessor system design who are looking for simplified explanations and clear examples on the subject. Additionally, the accompanying CD-ROM, which contains step-by-step procedures for installing and using Ide 68k21 (68000/68020) and MASM32 / Olly Debugger (Pentium) software, provides valuable simulation results via screen shots.
Publication Details
- Publisher:
- Wiley
- Imprint:
- Wiley-Interscience
- Publication Date:
- 2008
Format
M. Rafiquzzaman (Author)
M. Rafiquzzaman, PhD, has been a Professor of Electrical and Computer Engineering at California State Polytechnic University, Pomona, since March 1978. He is the founder and President of Rafi Systems, Inc., a manufacturer of biomedical devices (In...
< Microprocessor Design
Assemblers[edit]
Assemblers take in human-readable assembly code and produce machine code.
Assembly Language Constructs[edit]
There are a number of different assembly languages in existence, but all of them have a few things in common. They all map directly to the underlying hardware CPU instruction sets.
- CPU instruction set
- is a set of binary code/instruction that the CPU understands. Based on the CPU, the instruction can be one byte, two bytes or longer. The instruction code is usually followed by one or two operands.
Instruction Code | operand 1 | operand 2 |
How many instructions there are depends on the CPU.
Because binary code is difficult to remember, each instruction has as its name a so-called mnemonic. For example 'MOV' can be used for moving instructions.
The above instruction moves the value of register A to the specified address.
A simple assembler will translate the 'MOV A' to its CPU's instruction code.
Assembly languages cannot be assumed to be directly portable to other CPU's. Each CPU has its own assembly language, though CPU's within the same family may support limited portability
Load and Store[edit]
These instructions tell the CPU to move data from memory to a CPU's register, or move data from one of the CPU's register to memory.
- register
- is a special memory located inside the CPU, where arithmetic operations can be performed.
Arithmetic[edit]
Arithmetic operations can be performed using the CPU's registers:
- Increment the value of one of the CPU's registers
- Decrement the value of one of the CPU's registers
- Add a value to the register
- Subtract value from the register
- Multiply the register value
- Divide the register value
- Shift the register value
- Rotate the register value
Jumping[edit]
During a jump instruction, the program counter is loaded with a new address that is not necessarily the address of the next sequential instruction. After a jump, the program execution continues from the new location in memory.
- Relative jump
- the instruction's operand tells how many bytes the program counter should be increased or decreased.
- Absolute jump
- the instruction's operand is copied to the program counter; the operand is an absolute memory address where the execution should continue.
Branching[edit]
During a branch, the program counter is loaded with one of multiple new values, depending on some specified condition. A branch is a series of conditional jumps.
Some CPUs have skipping instructions. If a register is zero, the following instruction is skipped, if not then the following instruction is executed, which can be a jumping instruction. So Branching can be done by using skipping and jumping instructions together.
Further reading[edit]
Retrieved from 'https://en.wikibooks.org/w/index.php?title=Microprocessor_Design/Assembly_Language&oldid=3531118'