Gain the fundamentals of x86 64-bit assembly language programming and focus on
the updated aspects of the x86 instruction set that are most relevant to application
software development. This book covers topics including x86 64-bit programming and
Advanced Vector Extensions (AVX) programming.
The focus in this second edition is exclusively on 64-bit base programming architecture
and AVX programming. Modern X86 Assembly Language Programming's structure and
sample code are designed to help you quickly understand x86 assembly language
programming and the computational capabilities of the x86 platform. After reading
and using this book, you'll be able to code performance-enhancing functions and
algorithms using x86 64-bit assembly language and the AVX, AVX2 and AVX-512
instruction set extensions.
What You Will Learn
Discover details of the x86 64-bit platform including its core architecture, data types,
registers, memory addressing modes, and the basic instruction set
Use the x86 64-bit instruction set to create performance-enhancing functions that
are callable from a high-level language (C++)
Employ x86 64-bit assembly language to efficiently manipulate common data types
and programming constructs including integers, text strings, arrays, and structures
Use the AVX instruction set to perform scalar floating-point arithmetic
Exploit the AVX, AVX2, and AVX-512 instruction sets to significantly accelerate the
performance of computationally-intense algorithms in problem domains such as
image processing, computer graphics, mathematics, and statistics
Apply various coding strategies and techniques to optimally exploit the x86 64-bit,
AVX, AVX2, and AVX-512 instruction sets for maximum possible performance
Who This Book Is For
Software developers who want to learn how to write code using x86 64-bit assembly language. It's also ideal for software developers who already have a basic understanding of x86 32-bit or 64-bit assembly language programming and are interested in learning how to exploit the SIMD capabilities of AVX, AVX2 and AVX-512.
Автор: Pierce, Benjamin C. Название: Types and programming languages ISBN: 0262162091 ISBN-13(EAN): 9780262162098 Издательство: MIT Press Рейтинг: Цена: 107220.00 T Наличие на складе: Невозможна поставка. Описание:
A comprehensive introduction to type systems and programming languages.
A type system is a syntactic method for automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute. The study of type systems -- and of programming languages from a type-theoretic perspective -- has important applications in software engineering, language design, high-performance compilers, and security.
This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages. The approach is pragmatic and operational; each new concept is motivated by programming examples and the more theoretical sections are driven by the needs of implementations. Each chapter is accompanied by numerous exercises and solutions, as well as a running implementation, available via the Web. Dependencies between chapters are explicitly identified, allowing readers to choose a variety of paths through the material.
The core topics include the untyped lambda-calculus, simple type systems, type reconstruction, universal and existential polymorphism, subtyping, bounded quantification, recursive types, kinds, and type operators. Extended case studies develop a variety of approaches to modeling the features of object-oriented languages.
Автор: Mailund Thomas Название: The Joys of Hashing: Hash Table Programming with C ISBN: 1484240650 ISBN-13(EAN): 9781484240656 Издательство: Springer Рейтинг: Цена: 41920.00 T Наличие на складе: Нет в наличии. Описание:
Build working implementations of hash tables, written in the C programming language. This book starts with simple first attempts devoid of collision resolution strategies, and moves through improvements and extensions illustrating different design ideas and approaches, followed by experiments to validate the choices.
Hash tables, when implemented and used appropriately, are exceptionally efficient data structures for representing sets and lookup tables, providing low overhead, constant time, insertion, deletion, and lookup operations.
The Joys of Hashing walks you through the implementation of efficient hash tables and the pros and cons of different design choices when building tables. The source code used in the book is available on GitHub for your re-use and experiments.
What You Will Learn
Master the basic ideas behind hash tablesCarry out collision resolution, including strategies for handling collisions and their consequences for performanceResize or grow and shrink tables as neededStore values by handling when values must be stored with keys to make general sets and maps
Who This Book Is For
Those with at least some prior programming experience, especially in C programming.
Название: Python Programming on Win32 ISBN: 1565926218 ISBN-13(EAN): 9781565926219 Издательство: Wiley Рейтинг: Цена: 50680.00 T Наличие на складе: Есть у поставщика Поставка под заказ. Описание: Demonstrates how to use Python as a serious Windows development tool. The book addresses all the basic technolgies for common integration tasks on Windows, explaining both the Windows issues and the Python code needed to glue things together.
Автор: Blandy Jim, Orendorff Jason, Tindall Leonora F. Название: Programming Rust: Fast, Safe Systems Development ISBN: 1492052590 ISBN-13(EAN): 9781492052593 Издательство: Wiley Рейтинг: Цена: 67570.00 T Наличие на складе: Есть у поставщика Поставка под заказ. Описание: Jim Blandy, Jason Orendorff, and Leonora Tindall demonstrate how Rust`s features put programmers in control over memory consumption and processor use by combining predictable performance with memory safety and trustworthy concurrency.
Автор: Langtangen Hans Petter Название: A Primer on Scientific Programming with Python ISBN: 3662498863 ISBN-13(EAN): 9783662498866 Издательство: Springer Рейтинг: Цена: 32600.00 T Наличие на складе: Есть Описание: The book serves as a first introduction to computer programming of scientific applications, using the high-level Python language. The exposition is example and problem-oriented, where the applications are taken from mathematics, numerical calculus, statistics, physics, biology and finance. The book teaches 'Matlab-style' and procedural programming as well as object-oriented programming. High school mathematics is a required background and it is advantageous to study classical and numerical one-variable calculus in parallel with reading this book. Besides learning how to program computers, the reader will also learn how to solve mathematical problems, arising in various branches of science and engineering, with the aid of numerical methods and programming. By blending programming, mathematics and scientific applications, the book lays a solid foundation for practicing computational science.From the reviews: Langtangen … does an excellent job of introducing programming as a set of skills in problem solving. He guides the reader into thinking properly about producing program logic and data structures for modeling real-world problems using objects and functions and embracing the object-oriented paradigm. … Summing Up: Highly recommended. F. H. Wild III, Choice, Vol. 47 (8), April 2010Those of us who have learned scientific programming in Python ‘on the streets’ could be a little jealous of students who have the opportunity to take a course out of Langtangen’s Primer.” John D. Cook, The Mathematical Association of America, September 2011This book goes through Python in particular, and programming in general, via tasks that scientists will likely perform. It contains valuable information for students new to scientific computing and would be the perfect bridge between an introduction to programming and an advanced course on numerical methods or computational science.Alex Small, IEEE, CiSE Vol. 14 (2), March?/April 2012 “This fourth edition is awonderful, inclusive textbook that covers pretty much everything one needs toknow to go from zero to fairly sophisticated scientific programming in Python…”Joan Horvath, Computing Reviews, March2015
Автор: Tim Roughgarden Название: Beyond the Worst-Case Analysis of Algorithms ISBN: 1108494315 ISBN-13(EAN): 9781108494311 Издательство: Cambridge Academ Рейтинг: Цена: 61250.00 T Наличие на складе: Есть у поставщика Поставка под заказ. Описание: Understanding when and why algorithms work is a fundamental challenge. For problems ranging from clustering to linear programming to neural networks there are significant gaps between empirical performance and prediction based on traditional worst-case analysis. The book introduces exciting new methods for assessing algorithm performance.
Автор: Karwin, Bill Название: Sql antipatterns, volume 1 ISBN: 1680508989 ISBN-13(EAN): 9781680508987 Издательство: Wiley Рейтинг: Цена: 40650.00 T Наличие на складе: Есть у поставщика Поставка под заказ. Описание: Updated for the current versions of MySQL and Python, this new edition adds a dozen brand new mini-antipatterns for quick wins.
Автор: Murach Joel, Delamater Mary Название: Murach`s C++ Programming (2nd Edition) ISBN: 1943872961 ISBN-13(EAN): 9781943872961 Издательство: Gazelle Book Services Рейтинг: Цена: 68390.00 T Наличие на складе: Нет в наличии. Описание: Now you can learn C++ in manageable chunks with Murachs C++ Programming and its distinctive paired-pages format, which has earned rave reviews from programmers (see the reviews of the 1st Edition). Each topic is presented in a 2-page spread: You get clear syntax and coding examples along with easy-to-understand bullets on the righthand page and in-depth explanations and perspective on the left. Not only does this format ease the learning curve, its a time-saver for on-the-job reference too. Whats more, we have taken advantage of language advances and modern techniques to make it easier to learn C++ than ever before. This book is organized in a logical way that gets you started fast with a practical subset of todays C++. Then, it presents coding and object-oriented programming skills that will elevate you to the professional level. With this strong foundation in place, later chapters cover legacy techniques and older C++ features that let you maintain the vast amount of legacy code in the world and work with embedded systems. New in this 2nd Edition are features that have been introduced in C++20. That includes brand-new material on modules, one of the most exciting new features added to C++ in years. As always, each feature is carefully explained and integrated where it belongs in the learning sequence so that beginners and experienced programmers alike can quickly grasp the new concepts and their advantages. Every Murach book guarantees high quality and our readers love our code that actually works. See why yourself with more than 50 realistic programs to study and practice exercises for hands-on experience. Youll have a hard time finding such effective examples anywhere else.
Автор: Christian Cachin; Rachid Guerraoui; Lu?s Rodrigues Название: Introduction to Reliable and Secure Distributed Programming ISBN: 3642423272 ISBN-13(EAN): 9783642423277 Издательство: Springer Рейтинг: Цена: 53100.00 T Наличие на складе: Есть у поставщика Поставка под заказ. Описание: Failures may range from crashes to adversarial attacks by malicious processes.Cachin, Guerraoui, and Rodrigues present an introductory description of fundamental distributed programming abstractions together with algorithms to implement them in distributed systems, where processes are subject to crashes and malicious attacks.
Автор: Gilles Barthe, Joost-Pieter Katoen, Alexandra Silva Название: Foundations of probabilistic programming ISBN: 110848851X ISBN-13(EAN): 9781108488518 Издательство: Cambridge Academ Рейтинг: Цена: 61250.00 T Наличие на складе: Есть у поставщика Поставка под заказ. Описание: This book provides an overview of the theoretical underpinnings of modern probabilistic programming and presents applications in e.g., machine learning, security, and approximate computing. Comprehensive survey chapters make the material accessible to graduate students and non-experts. This title is also available as Open Access on Cambridge Core.
Windows(R) 64-bit Assembly Language Programming Quick Start is a complete tutorial using the free Community Edition of Microsoft(R) Visual Studio 17 to introduce the novice to the Intel(R) X86-64 architecture and the Windows X64 Calling Convention.
With Microsoft(R) Visual Studio 17, assembly language programs can be built using either its Integrated Development Environment (IDE) or using its ML64 assembler directly in a traditional command line approach. Both techniques are presented in this book, and each has its own merits for gaining a deeper understanding of computer software and hardware. The assistance provided by Visual Studio's interactive debugger is immense not only for developing real programs but also learning how the CPU instructions work.
Programmers learn by example and develop their skills by examining and modifying working programs. Every sample program is complete, but leaves room for enhancements and experimentation encouraged by the questions at the end of each chapter. All are available for download through GitHub.
The sample programs, ranging from five to over one hundred lines of code, are extensively documented in both flowcharts and comments. Over seventy illustrations are included to explain programming techniques as well as X86, SSE, and AVX instructions. CPU instructions are introduced as needed to achieve programming goals as the projects in each chapter progress to the next.
This is not a book that has been modified or migrates from a 32-bit or 16-bit perspective, but starts right in with 64-bit programming and only refers to past approaches when necessary to explain seemingly unnatural conventions and names.
Topics like binary and hexadecimal are introduced through programming examples as well as appearing in appendices.
The examples in this book have been "classroom tested" with students having very little, if any, previous programming experience. The information is complete, allowing it to be used as an independent study.
Learning computer hardware and software architectures through hands-on assembly language programming experience helps develop well-rounded programmers and computer engineers.
Автор: Kusswurm Daniel Название: Modern Parallel Programming with C++ and Assembly Language: X86 SIMD Development Using AVX, AVX2, and AVX-512 ISBN: 1484279174 ISBN-13(EAN): 9781484279175 Издательство: Springer Рейтинг: Цена: 60550.00 T Наличие на складе: Есть у поставщика Поставка под заказ. Описание: Modern X86 SIMD Programming - Outline Page 1 of 7D. Kusswurm - F: \ModX86SIMD\Outline\ModernX86SIMD_Outline (v1).docxIntroductionThe Introduction presents an overview of the book and includes concise descriptions of each chapter. It also summaries thehardware and software tools required to use the book's source code.OverviewTarget AudienceChapter DescriptionsSource CodeAdditional ResourcesChapter 1 - SIMD FundamentalsChapter 1 discusses SIMD fundamentals including data types, basic arithmetic, and common data manipulation operations.Understanding of this material is necessary for the reader to successfully comprehend the book's subsequent chapters. What is SIMD? Simple C++ example (Ch01_01)Brief History of x86 SIMD Instruction Set Extensions MMX SSE - SSE4.2 AVX, AVX2, and AVX-512SIMD Data Types Fundamental types 128b, 256b, 512b Integer types Packed i8, i16, i32, i64 (signed and unsigned) Floating-point types Packed f16/b16, f32 and f64 Little-endian storageSIMD Arithmetic IntegerAddition and subtraction Wraparound vs. saturated Multiplication Bitwise logical Floating-point Addition, subtraction, multiplication, division, sqrt Horizontal addition and subtraction Fused multiply-accumulate (FMA)SIMD Operations Integer Min & max Compares Shuffles, permutations, and blends Size promotions and reductions Floating-point Min & max Compares Shuffles, permutations, and blends Size promotions and reductions Modern X86 SIMD Programming - Outline Page 2 of 7D. Kusswurm - F: \ModX86SIMD\Outline\ModernX86SIMD_Outline (v1).docx Masked moves Conditional execution and merging (AVX-512)SIMD Programming Overview C++ compiler options C++ SIMD intrinsic functions Assembly language functions Testing for AVX, AVX2, and AVX-512Chapter 2 - AVX C++ Programming - Part 1Chapter 2 teaches AVX integer arithmetic and other operations using C++ intrinsic functions. It also discusses how to code afew simple image processing algorithms using C++ intrinsic functions and AVX instructions.Basic Integer Arithmetic Addition (Ch02_01)Subtraction (Ch02_02) Multiplication (Ch02_03)Common Integer Operations Bitwise logical operations (Ch02_04) Arithmetic and logical shifts (Ch02_05)Image Processing Algorithms Pixel minimum and maximum (Ch02_06) Pixel mean (Ch02_07)Chapter 3 - AVX C++ Programming - Part 2Chapter 3 is similar to the previous chapter but emphasizes floating-point instead of integer values. This chapter alsoexplains how to employ C++ intrinsic functions to perform SIMD arithmetic operations using floating-point arrays andmatrices.Basic Floating-Point Arithmetic Addition, subtraction, etc. (Ch03_01) Compares (Ch03_02) Conversions (Ch03_03)Floating-Point Arrays Array mean and standard deviation (Ch03_04, Ch03_05) Array square roots and compares (Ch03_06, Ch03_07)Floating-Point Matrices Matrix column means (Ch03_08, Ch03_09)Chapter 4 - AVX2 C++ Programming - Part 1Chapter 4 describe
Казахстан, 010000 г. Астана, проспект Туран 43/5, НП2 (офис 2) ТОО "Логобук" Тел:+7 707 857-29-98 ,+7(7172) 65-23-70 www.logobook.kz