Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
|||
Books > Computing & IT > Computer programming > Programming languages > Machine macro & assembly languages
Assembly Language for x86 Processors, 7e is suitable for undergraduate courses in assembly language programming and introductory courses in computer systems and computer architecture. Proficiency in one other programming language, preferably Java, C, or C++, is recommended. Written specifically for 32- and 64-bit Intel/Windows platform, this complete and fully updated study of assembly language teaches students to write and debug programs at the machine level. This text simplifies and demystifies concepts that students need to grasp before they can go on to more advanced computer architecture and operating systems courses. Students put theory into practice through writing software at the machine level, creating a memorable experience that gives them the confidence to work in any OS/machine-oriented environment. Teaching and Learning Experience This program presents a better teaching and learning experience-for you and your students. It will help: *Teach Effective Design Techniques: Top-down program design demonstration and explanation allows students to apply techniques to multiple programming courses.*Put Theory into Practice: Students will write software at the machine level, preparing them to work in any OS/machine-oriented environment. *Tailor the Text to Fit your Course: Instructors can cover optional chapter topics in varying order and depth. *Support Instructors and Students: Visit the author's web site http: //asmirvine.com/ for chapter objectives, debugging tools, supplemental files, a Getting Started with MASM and Visual Studio 2012 tutorial, and more
This updated textbook introduces readers to assembly and its evolving role in computer programming and design. The author concentrates the revised edition on protected-mode Pentium programming, MIPS assembly language programming, and use of the NASM and SPIM assemblers for a Linux orientation. The focus is on providing students with a firm grasp of the main features of assembly programming, and how it can be used to improve a computer's performance. All of the main features are covered in depth, and the book is equally viable for DOS or Linux, MIPS (RISC) or CISC (Pentium). The book is based on a successful course given by the author and includes numerous hands-on exercises.
For freshman/sophomore-level courses in Assembly Language Programming, Introduction to Computer Organization, and Introduction to Computer Architecture. Students using this text will gain an understanding of how the functional components of modern computers are put together and how a computer works at the machine language level. MIPS architecture embodies the fundamental design principles of all contemporary RISC architectures. By incorporating this text into their courses, instructors will be able to prepare their undergraduate students to go on to upper-division computer organization courses.
Learn to program the Propeller in Spin and C and how to map the Propeller Assembler (PASM) language from other high-level languages you might know. The overall task you will pursue in the book is to implement a Delta Compression algorithm: first in Spin, then in PASM, then in C. Along the way, you'll review test driven development, a powerful technique for validating code, and conclude with a chapter on hardware manipulations. The book's main goal is to help you extend the capabilities of the Propeller processor by using the assembler language. What You'll Learn Use a data compression/decompression application to introduce PASM to the reader Integrate C and PASM code Review hardware interactions (setting and reading pins) Who This Book Is For Those who are familiar with Spin programming for the Parallax Propeller but have an interest in learning Propeller C and Propeller Assembler (PASM) programming. Some knowledge of C or Python is also helpful.
Assembly language continues to hold a core position in the programming world because of its similar structure to machine language and its very close links to underlying computer-processor architecture and design. These features allow for high processing speed, low memory demands, and the capacity to act directly on the system's hardware. This completely revised second edition of the highly successful Introduction to Assembly Language Programming introduces the reader to assembly language programming and its role in computer programming and design. The focus is on providing readers with a firm grasp of the main features of assembly programming, and how it can be used to improve a computer's performance. The revised edition covers a broad scope of subjects and adds valuable material on protected-mode Pentium programming, MIPS assembly language programming, and use of the NASM and SPIM assemblers for a Linux orientation. All of the language's main features are covered in depth. The book requires only some basic experience with a structured, high-level language. Topics and Features: Introduces assembly language so that readers can benefit from learning its utility with both CISC and RISC processors NEW ].- Employs the freely available NASM assembler, which works with both Microsoft Windows and Linux operating systems NEW ].- Contains a revised chapter on "Basic Computer Organization" NEW].- Uses numerous examples, hands-on exercises, programming code analyses and challenges, and chapter summaries.- Incorporates full new chapters on recursion, protected-mode interrupt processing, and floating-point instructions NEW ]. Assembly language programming is part of several undergraduate curricula in computer science, computer engineering, and electrical engineering. In addition, this newly revised text/reference can be used as an ideal companion resource in a computer organization course or as a resource for professional courses.
A family of internationally popular microcontrollers, the Atmel AVR microcontroller series is a low-cost hardware development platform suitable for an educational environment. Until now, no text focused on the assembly language programming of these microcontrollers. Through detailed coverage of assembly language programming principles and techniques, Some Assembly Required: Assembly Language Programming with the AVR Microcontroller teaches the basic system capabilities of 8-bit AVR microcontrollers. The text illustrates fundamental computer architecture and programming structures using AVR assembly language. It employs the core AVR 8-bit RISC microcontroller architecture and a limited collection of external devices, such as push buttons, LEDs, and serial communications, to describe control structures, memory use and allocation, stacks, and I/O. Each chapter contains numerous examples and exercises, including programming problems. By studying assembly languages, computer scientists gain an understanding of the functionality of basic processors and how their capabilities support high level languages and applications. Exploring this connection between hardware and software, this book provides a foundation for understanding compilers, linkers, loaders, and operating systems in addition to the processors themselves.
This text provides comprehensive coverage of the key elements of Assembly language programming, specifically targeting professionals and students who would like to learn Assembly and intend to move to the Linux operating system.
Gain the fundamentals of Armv8-A 32-bit and 64-bit assembly language programming. This book emphasizes Armv8-A assembly language topics that are relevant to modern software development. It is designed to help you quickly understand Armv8-A assembly language programming and the computational resources of Arm's SIMD platform. It also contains an abundance of source code that is structured to accelerate learning and comprehension of essential Armv8-A assembly language constructs and SIMD programming concepts. After reading this book, you will be able to code performance-optimized functions and algorithms using Armv8- A 32-bit and 64-bit assembly language. Modern Arm Assembly Language Programming accentuates the coding of Armv8-A 32-bit and 64-bit assembly language functions that are callable from C++. Multiple chapters are also devoted to Armv8-A SIMD assembly language programming. These chapters discuss how to code functions that are used in computationally intense applications such as machine learning, image processing, audio and video encoding, and computer graphics. The source code examples were developed using the GNU toolchain (g++, gas, and make) and tested on a Raspberry Pi 4 Model B running Raspbian (32-bit) and Ubuntu Server (64-bit). It is important to note that this is a book about Armv8-A assembly language programming and not the Raspberry Pi. What You Will Learn See essential details about the Armv8-A 32-bit and 64-bit architectures including data types, general purpose registers, floating-point and SIMD registers, and addressing modes Use the Armv8-A 32-bit and 64-bit instruction sets to create performance-enhancing functions that are callable from C++ Employ Armv8-A assembly language to efficiently manipulate common data types and programming constructs including integers, arrays, matrices, and user-defined structures Create assembly language functions that perform scalar floating-point arithmetic using the Armv8-A 32-bit and 64-bit instruction sets Harness the Armv8-A SIMD instruction sets to significantly accelerate the performance of computationally intense algorithms in applications such as machine learning, image processing, computer graphics, mathematics, and statistics. Apply leading-edge coding strategies and techniques to optimally exploit the Armv8-A 32-bit and 64-bit instruction sets for maximum possible performance Who This Book Is For Software developers who are creating programs for Armv8-A platforms and want to learn how to code performance-enhancing algorithms and functions using the Armv8-A 32-bit and 64-bit instruction sets. Readers should have previous high-level language programming experience and a basic understanding of C++.
The vast majority of computers in use today are encapsulated within other systems. In contrast to general-purpose computers that run an endless selection of software, these embedded computers are often programmed for a very specific, low-level and often mundane purpose. Low-end microcontrollers, costing as little as one dollar, are often employed by engineers in designs that utilize only a small fraction of the processing capability of the device because it is either more cost-effective than selecting an application-specific part or because programmability offers custom functionality not otherwise available. Embedded Systems Interfacing for Engineers using the Freescale HCS08 Microcontroller is a two-part book intended to provide an introduction to hardware and software interfacing for engineers. Building from a comprehensive introduction of fundamental computing concepts, the book suitable for a first course in computer organization for electrical or computer engineering students with a minimal background in digital logic and programming. In addition, this book can be valuable as a reference for engineers new to the Freescale HCS08 family of microcontrollers. The HCS08 processor architecture used in the book is relatively simple to learn, powerful enough to apply towards a wide-range of interfacing tasks, and accommodates breadboard prototyping in a laboratory using freely available and low-cost tools. In Part I: Assembly Language Programming, the programmer's model of the HSC08 family of processors is introduced. This part leads the reader from basic concepts up to implementing basic software control structures in assembly language. Instead of focusing on large-scale programs, the emphasis is on implementing small algorithms necessary to accomplish some of the more common tasks expected in small embedded systems. The first part prepares the reader with the programming skills necessary to write device drivers in and perform basic input/output processing Part II, whose emphasis is on hardware interfacing concepts. Table of Contents: Introduction to Microcomputer Organization / Programmer's Model of the HCS08 CPU / HCS08 Assembly Language Programming
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
Delivering a solid introduction to assembly language and embedded systems, ARM Assembly Language: Fundamentals and Techniques, Second Edition continues to support the popular ARM7TDMI, but also addresses the latest architectures from ARM, including Cortex (TM)-A, Cortex-R, and Cortex-M processors-all of which have slightly different instruction sets, programmer's models, and exception handling. Featuring three brand-new chapters, a new appendix, and expanded coverage of the ARM7 (TM), this edition: Discusses IEEE 754 floating-point arithmetic and explains how to program with the IEEE standard notation Contains step-by-step directions for the use of Keil (TM) MDK-ARM and Texas Instruments (TI) Code Composer Studio (TM) Provides a resource to be used alongside a variety of hardware evaluation modules, such as TI's Tiva Launchpad, STMicroelectronics' iNemo and Discovery, and NXP Semiconductors' Xplorer boards Written by experienced ARM processor designers, ARM Assembly Language: Fundamentals and Techniques, Second Edition covers the topics essential to writing meaningful assembly programs, making it an ideal textbook and professional reference.
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.
This book provides an easy-to-understand, step-by-step approach to learning the fundamentals of Assembly language programming for Intel's architectures, using a GNU/Linux-based computer as a tool. Offering students of computer science and engineering a hands-on learning experience, the book shows what actions the machine instructions perform, and then presents sample programs to demonstrate their application.The book is suitable for use during courses on Microprocessors, Assembly language programming, and Computer Organization in order to understand the execution model of processors. This knowledge also helps strengthen concepts when students go on to study operating systems and compiler construction.The concepts introduced are reinforced with numerous examples and review exercises. An Instructor's CD provides all the programs given in the book and the solutions to exercises. This book: discusses programming guidelines and techniques of using Assembly language programs; shows techniques to interface C and Assembly language programs; covers instructions from general purpose instruction sets of IA32 processors; includes MMX and MMX-2 instructions; covers SSE and SSE-2 instructions; explains input-output techniques and their use in GNU/Linux-based computers; explains GNU/Linux system calls along with methods to use them in programs; provides a list of suggested projects; and, gives ample references to explore further.
The Art of Assembly Language Programming using PIC (R) Technology thoroughly covers assembly language as used in programming the PIC (R) Microcontroller (MCU). Using the minimal instruction set, characteristic of most PIC (R) products, the author elaborates on the nuances of how to execute loops. Fundamental design practices are presented based on Orr's Structured Systems Development using four logical control structures. These control structures are presented in Flowcharting, Warnier-Orr (R) diagrams, State Diagrams, Pseudocode, and an extended example using SysML (R). Basic math instructions of Add and Subtract are presented, along with a cursory presentation of advanced math routines provided as proven Microchip (R) utility Application Notes. Appendices are provided for completeness, especially for the advanced reader, including several Instruction Sets, ASCII character sets, Decimal-Binary-Hexadecimal conversion tables, and elaboration of ten 'Best Practices.' Two datasheets (one complete datasheet on the 10F20x series and one partial datasheet on the 16F88x series) are also provided in the Appendices to serve as an important reference, enabling the new embedded programmer to develop familiarity with the format of datasheets and the skills needed to assess the product datasheet for proper selection of a microcontroller family for any specific project. The Art of Assembly Language Programming Using PIC (R) Technology is written for an audience with a broad variety of skill levels, ranging from the absolute beginner completely new to embedded control to the embedded C programmer new to assembly language. With this book, you will be guided through the following areas: Symbols and terminology used by programmers and engineers in microcontroller applications Programming using assembly language through examples Familiarity with design and development practices Basics of mathematical knowledge in hexadecimal Resources for advanced mathematical functions Approaches to locate resources
The eagerly anticipated new edition of the bestselling introduction to x86 assembly language The long-awaited third edition of this bestselling introduction to assembly language has been completely rewritten to focus on 32-bit protected-mode Linux and the free NASM assembler. Assembly is the fundamental language bridging human ideas and the pure silicon hearts of computers, and popular author Jeff Dunteman retains his distinctive lighthearted style as he presents a step-by-step approach to this difficult technical discipline. He starts at the very beginning, explaining the basic ideas of programmable computing, the binary and hexadecimal number systems, the Intel x86 computer architecture, and the process of software development under Linux. From that foundation he systematically treats the x86 instruction set, memory addressing, procedures, macros, and interface to the C-language code libraries upon which Linux itself is built.Serves as an ideal introduction to x86 computing concepts, as demonstrated by the only language directly understood by the CPU itselfUses an approachable, conversational style that assumes no prior experience in programming of any kindPresents x86 architecture and assembly concepts through a cumulative tutorial approach that is ideal for self-paced instructionFocuses entirely on free, open-source software, including Ubuntu Linux, the NASM assembler, the Kate editor, and the Gdb/Insight debuggerIncludes an x86 instruction set reference for the most common machine instructions, specifically tailored for use by programming beginnersWoven into the presentation are plenty of assembly code examples, plus practical tips on software design, coding, testing, and debugging, all using free, open-source software that may be downloaded without charge from the Internet.
Assembly is a low-level programming language that's one step above a computer's native machine language. Although assembly language is commonly used for writing device drivers, emulators, and video games, many programmers find its somewhat unfriendly syntax intimidating to learn and use. Since 1996, Randall Hyde's "The Art of Assembly Language" has provided a comprehensive, plain-English, and patient introduction to 32-bit x86 assembly for non-assembly programmers. Hyde's primary teaching tool, High Level Assembler (or HLA), incorporates many of the features found in high-level languages (like C, C++, and Java) to help you quickly grasp basic assembly concepts. HLA lets you write true low-level code while enjoying the benefits of high-level language programming. As you read "The Art of Assembly Language," you'll learn the low-level theory fundamental to computer science and turn that understanding into real, functional code. You'll learn how to: Edit, compile, and run an HLA program Declare and use constants, scalar variables, pointers, arrays, structures, unions, and namespaces Translate arithmetic expressions (integer and floating point) Convert high-level control structures This much anticipated second edition of "The Art of Assembly Language" has been updated to reflect recent changes to HLA and to support Linux, Mac OS X, and FreeBSD. Whether you're new to programming or you have experience with high-level languages, "The Art of Assembly Language, 2nd Edition" is your essential guide to learning this complex, low-level language.
In the first definitive guide on WebAssembly, you'll learn how you can wield this new technology to break through the current barriers of web development and build an entirely new class of performant applications . Key Features Generate WebAssembly modules from C and C++ using Emscripten and interact with these modules in the browser Learn how to use WebAssembly outside of the browser and load modules using Node.js Build a high-performance application using C and WebAssembly and port an existing C++ game to WebAssembly using Emscripten Book DescriptionWebAssembly is a brand-new technology that represents a paradigm shift in web development. This book teaches programmers to leverage this technology to write high-performance applications that run in the browser. This book introduces you to powerful WebAssembly concepts to help you write lean and powerful web applications with native performance. You start with the evolution of web programming, the state of things today, and what can be done with the advent and release of WebAssembly. We take a look at the journey from JavaScript to asm.js to WebAssembly. We then move on to analyze the anatomy of a WebAssembly module and the relationship between binary and text formats, along with the corresponding JavaScript API. Further on, you'll implement all the techniques you've learned to build a high-performance application using C and WebAssembly, and then port an existing game written in C++ to WebAssembly using Emscripten. By the end of this book, you will be well-equipped to create high-performance applications and games for the web using WebAssembly. What you will learn Learn how WebAssembly came to be and its associated elements (text format, module, and JavaScript API) Create, load, and debug a WebAssembly module (editor and compiler/toolchain) Build a high-performance application using C and WebAssembly Extend WebAssembly's feature set using Emscripten by porting a game written in C++ Explore upcoming features of WebAssembly, Node.js integration, and alternative compilation methods Who this book is forIf you are a web developer or C/C++ programmer keen to leverage the powerful technology of WebAssembly to build high-performance web applications, then this book is for you.
A Revised and Updated Edition of the Authoritative Text This revised and updated Third Edition of the classic text guides students through assembly language using a hands-on approach, supporting future computing professionals with the basics they need to understand the mechanics and function of the computer's inner workings. Through using real instruction sets to write real assembly language programs, students will become acquainted with the basics of computer architecture. 80x86 Assembly Language and Computer Architecture covers the Intel 80x86 using the powerful tools provided by Microsoft Visual Studio, including its 32- and 64-bit assemblers, its versatile debugger, and its ability to link assembly language and C/C++ program segments. The text also includes multiple examples of how individual 80x86 instructions execute, as well as complete programs using these instructions. Hands-on exercises reinforce key concepts and problem-solving skills. Updated to be compatible with Visual Studio 2012, and incorporating over a hundred new exercises, 80x86 Assembly Language and Computer Architecture: Third Edition is accessible and clear enough for beginning students while providing coverage of a rich set of 80x86 instructions and their use in simple assembly language programs. The text will prepare students to program effectively at any level. Key features of the fully revised and updated Third Edition include: * Updated to be used with Visual Studio 2012, while remaining compatible with earlier versions * Over 100 new exercises and programming exercises * Improved, clearer layout with easy-to-read illustrations * The same clear and accessibly writing style as previous editions * Full suite of ancillary materials, including PowerPoint lecture outlines, Test Bank, and answer keys * Suitable as a stand-alone text in an assembly language course or as a supplement in a computer architecture course
|
You may like...
C++ How to Program: Horizon Edition
Harvey Deitel, Paul Deitel
Paperback
R1,779
Discovery Miles 17 790
Java How to Program, Late Objects…
Paul Deitel, Harvey Deitel
Paperback
Advanced Visual Basic 6 - Power…
Matthew Curland, Gary Clarke
Paperback
R1,247
Discovery Miles 12 470
|