X86 assembly language and C fundamentals Cavanagh, Joseph
Material type:
- 9781466568242
- 005.136 C2X3
Item type | Current library | Collection | Call number | Status | Date due | Barcode | Item holds | |
---|---|---|---|---|---|---|---|---|
![]() |
Ahmedabad | Non-fiction | 005.136 C2X3 (Browse shelf(Opens below)) | Available | 193585 |
Browsing Ahmedabad shelves, Collection: Non-fiction Close shelf browser (Hides shelf browser)
![]() |
![]() |
No cover image available |
![]() |
![]() |
No cover image available |
![]() |
||
005.133 X4D9 Dynamic documents with R and knitr | 005.133 Z3P9 Python programming: an introduction to computer science | 005.133024332 D8I6 Introduction to c++ for financial engineers: an object-oriented approach | 005.136 C2X3 X86 assembly language and C fundamentals | 005.136 M8A8 Assembly language magic: programming for the 8088-80386 | 005.14 J6A7-2008 Applied software measurement: global analysis of productivity and quality | 005.14 S4S6 Software testing |
Table of Contents
1. Number Systems and Number Representations
Number Systems
Number Representations
Problems
2.
X86 Processor Architecture
General Architecture
Arithmetic and Logic Unit
Control Unit
Memory Unit
Input/Output
Register Set
Translation Lookaside Buffer
The Assembler
Problems
3.
Addressing Modes
Register Addressing
Immediate Addressing
Direct Memory Addressing
Base (Register Indirect) Memory Addressing
Base or Index Plus Displacement Addressing
Base and Index Plus Displacement Addressing
Scale Factor
Segment Override Prefix
X86 Operation Modes
Problems
4.
C Programming Fundamentals
Structure of a C Program
Variables and Constants
Input and Output
Operators
While Loop
For Loop
Additional C Constructs
Problems
5.
Data Transfer Instructions
Data Types
Move Instructions
Load Effective Address
Load Segment Registers
Exchange Instructions
Translate
Conversion Instructions
Problems
6.
Branching and Looping Instructions
Branching Instructions
Looping Instructions
Problems
7.
Stack Operations
Stack Structure
Additional Push Instructions
Additional Pop Instructions
Problems
8.
Logic, Bit, Shift, and Rotate Instructions
Logical AND Instruction
Logical Inclusive-OR Instruction
Logical Exclusive-OR Instruction
Logical NOT Instruction — 1s Complement
NEG Instruction — 2s Complement
TEST and Byte Set on Condition Instructions
Bit Test Instructions
Bit Scan Instructions
Shift Instructions
Rotate Instructions
Problems
9.
Fixed-Point Arithmetic Instructions
Addition
Subtraction
Multiplication
Division
Problems
10.
Binary-Coded Decimal Arithmetic Instructions
ASCII Adjust After Addition (AAA) Instruction
Decimal Adjust AL After Addition (DAA) Instruction
ASCII Adjust AL After Subtraction (AAS) Instruction
Decimal Adjust AL After Subtraction (DAS) Instruction
ASCII Adjust AX After Multiplication (AAM) Instruction
ASCII Adjust AX Before Division (AAD) Instruction
Problems
11.
Floating-Point Arithmetic Instructions
Floating-Point Fundamentals
Load Data Instructions
Store Data Instructions
Addition Instructions
Subtraction Instructions
Multiplication Instructions
Division Instructions
Compare Instructions
Trigonometric Instructions
Additional Instructions
Problems
12.
Procedures
Call a Procedure
Return from a Procedure
Passing Parameters to a Procedure
Problems
13.
String Instructions
Repeat Prefixes
Move String Instructions
Load String Instructions
Store String Instructions
Compare Strings Instructions
Scan String Instructions
Problems
14.
Arrays
One-Dimensional Arrays
Multidimensional Arrays
Problems
15.
Macros
Macro Definitions
Macro Examples
Problems
Interrupts and Input/Output Operations
Interrupts
Direct Memory Access
Memory-Mapped I/O
In/Out Instructions
Problems
Additional Programming Examples
Programming Examples
Problems
Appendix A ASCII Character Codes
Appendix B Answers to Select Problems
Index
Features
Explains how to write programs in the X86 assembly language, the C programming language, and X86 assembly language modules embedded in a C program
Describes the general computer architecture of the X86 microprocessor
Presents the most commonly used X86 assembly language instructions
Explains the theory behind the design of program examples, where necessary
Pedagogical Features
Supplies end-of-chapter homework problems that range from simple to complex
Includes a multitude of program design examples with complete code and outputs
Offers answers to select problems in an appendix and a complete solutions manual available upon qualifying course adoption
Solutions manual and electronic figures available upon qualifying course adoption
Summary
The predominant language used in embedded microprocessors, assembly language lets you write programs that are typically faster and more compact than programs written in a high-level language and provide greater control over the program applications. Focusing on the languages used in X86 microprocessors, X86 Assembly Language and C Fundamentals explains how to write programs in the X86 assembly language, the C programming language, and X86 assembly language modules embedded in a C program. A wealth of program design examples, including the complete code and outputs, help you grasp the concepts more easily. Where needed, the book also details the theory behind the design.
Learn the X86 Microprocessor Architecture and Commonly Used Instructions
Assembly language programming requires knowledge of number representations, as well as the architecture of the computer on which the language is being used. After covering the binary, octal, decimal, and hexadecimal number systems, the book presents the general architecture of the X86 microprocessor, individual addressing modes, stack operations, procedures, arrays, macros, and input/output operations. It highlights the most commonly used X86 assembly language instructions, including data transfer, branching and looping, logic, shift and rotate, and string instructions, as well as fixed-point, binary-coded decimal (BCD), and floating-point arithmetic instructions.
Get a Solid Foundation in a Language Commonly Used in Digital Hardware
Written for students in computer science and electrical, computer, and software engineering, the book assumes a basic background in C programming, digital logic design, and computer architecture. Designed as a tutorial, this comprehensive and self-contained text offers a solid foundation in assembly language for anyone working with the design of digital hardware.
https://www.crcpress.com/X86-Assembly-Language-and-C-Fundamentals/Cavanagh/p/book/9781466568242
There are no comments on this title.