News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Modern X86 Assembly Language Programming 2019 (eBook)

Started by LiaoMi, April 24, 2019, 06:25:56 AM

Previous topic - Next topic

LiaoMi

A good modern book with free source code for learning machine language: Modern X86 Assembly Language Programming Covers x86 64-bit, AVX, AVX2, and AVX-512 https://www.apress.com/gp/book/9781484240625

QuoteGain 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.

Source code can be found here - https://github.com/Apress/modern-x86-assembly-language-programming-2e

daydreamer

Thanks LiaoMi  :thumbsup:
My cpu so far avx2
But read avx512 cpu also has 32 SIMD registers instead 16
But with win7-64 might not support them?
my none asm creations
https://masm32.com/board/index.php?topic=6937.msg74303#msg74303
I am an Invoker
"An Invoker is a mage who specializes in the manipulation of raw and elemental energies."
Like SIMD coding

greenozon

This is interesting...
is W7 able to preserve ZMMxxx registers during context switch?

Biterider

Hi LiaoMi
Thanks for the links. :thumbsup:
It appears that Daniel Kusswurm has updated his book.

Looking at the last chapters of the book in the GitHub repo, I found some interesting and useful code.

Biterider

LiaoMi

Hi zedd151,

by the signature at the bottom of the post, you can see that this is definitely a bot  :tongue:

Quote from: daydreamer on December 22, 2022, 05:36:41 PM
Thanks LiaoMi  :thumbsup:
My cpu so far avx2
But read avx512 cpu also has 32 SIMD registers instead 16
But with win7-64 might not support them?

Hi daydreamer,

it's very sad, but you haven't lost much, this instruction set has already been canceled and will only be on server processors in the future. I expected this to be the case, so I updated all the equipment to the one that supports this set. Basically it is the 11th generation of processors. AVX 512 on W7 - https://forums.guru3d.com/threads/avx-512-on-w7.430357/

In the future, it is expected that all add-ons will be activated for an additional fee  :biggrin:

Milvus performance on AVX-512 vs. AVX2 - https://milvus.io/blog/milvus-performance-AVX-512-vs-AVX2.md


Quote from: Biterider on December 22, 2022, 07:21:23 PM
Hi LiaoMi
Thanks for the links. :thumbsup:
It appears that Daniel Kusswurm has updated his book.

Looking at the last chapters of the book in the GitHub repo, I found some interesting and useful code.

Biterider
Hi Biterider,

in the future, we will be forced to buy only server processors  :tongue:
Intel deaktiviert AVX-512 auf Alder Lake doch vollständig – Fragwürdige Interpretation von "Effizienz" - https://www.igorslab.de/community/threads/intel-deaktiviert-avx-512-auf-alder-lake-doch-vollst%C3%A4ndig-%E2%80%93-fragw%C3%BCrdige-interpretation-von-%E2%80%9Ceffizienz%E2%80%9D-news-editorial.6032/
Intel completely disables AVX-512 on Alder Lake after all - https://www.igorslab.de/en/intel-deactivated-avx-512-on-alder-lake-but-fully-questionable-interpretation-of-efficiency-news-editorial/

hutch--

I have stayed away from AVX512 as it was well known that it was buggy and unreliable. Just happens to be the case that none of my CPUs support it anyway. I will just have to suffer AVX2.  :tongue: