11 февраля 2016, 20:17 (3550 дней назад) № 9870

"Hacker’s Delight", Second Edition, 2013. Henry S. Warren, Jr . 
Что-то типа Кнута, но современное и предназначенное конкретно для пишущих на ассемблере. 
По ссылке ниже - epub. А pdf есть здесь: 
ссылка 
Оглавление: 
CHAPTER 1. INTRODUCTION 
1–1 Notation 
1–2 Instruction Set and Execution Time Model 
CHAPTER 2. BASICS 
2–1 Manipulating Rightmost Bits 
2–2 Addition Combined with Logical Operations 
2–3 Inequalities among Logical and Arithmetic Expressions 
2–4 Absolute Value Function 
2–5 Average of Two Integers 
2–6 Sign Extension 
2–7 Shift Right Signed from Unsigned 
2–8 Sign Function 
2–9 Three-Valued Compare Function 
2–10 Transfer of Sign Function 
2–11 Decoding a “Zero Means 2**n” Field 
2–12 Comparison Predicates 
2–13 Overflow Detection 
2–14 Condition Code Result of Add, Subtract, and Multiply 
2–15 Rotate Shifts 
2–16 Double-Length Add/Subtract 
2–17 Double-Length Shifts 
2–18 Multibyte Add, Subtract, Absolute Value 
2–19 Doz, Max, Min 
2–20 Exchanging Registers 
2–21 Alternating among Two or More Values 
2–22 A Boolean Decomposition Formula 
2–23 Implementing Instructions for all 16 Binary Boolean Operations 
CHAPTER 3. POWER-OF-2 BOUNDARIES 
3–1 Rounding Up/Down to a Multiple of a Known Power of 2 
3–2 Rounding Up/Down to the Next Power of 2 
3–3 Detecting a Power-of-2 Boundary Crossing 
CHAPTER 4. ARITHMETIC BOUNDS 
4–1 Checking Bounds of Integers 
4–2 Propagating Bounds through Add’s and Subtract’s 
4–3 Propagating Bounds through Logical Operations 
CHAPTER 5. COUNTING BITS 
5–1 Counting 1-Bits 
5–2 Parity 
5–3 Counting Leading 0’s 
5–4 Counting Trailing 0’s 
CHAPTER 6. SEARCHING WORDS 
6–1 Find First 0-Byte 
6–2 Find First String of 1-Bits of a Given Length 
6–3 Find Longest String of 1-Bits 
6–4 Find Shortest String of 1-Bits 
CHAPTER 7. REARRANGING BITS AND BYTES 
7–1 Reversing Bits and Bytes 
7–2 Shuffling Bits 
7–3 Transposing a Bit Matrix 
7–4 Compress, or Generalized Extract 
7–5 Expand, or Generalized Insert 
7–6 Hardware Algorithms for Compress and Expand 
7–7 General Permutations, Sheep and Goats Operation 
7–8 Rearrangements and Index Transformations 
7–9 An LRU Algorithm 
CHAPTER 8. MULTIPLICATION 
8–1 Multiword Multiplication 
8–2 High-Order Half of 64-Bit Product 
8–3 High-Order Product Signed from/to Unsigned 
8–4 Multiplication by Constants 
CHAPTER 9. INTEGER DIVISION 
9–1 Preliminaries 
9–2 Multiword Division 
9–3 Unsigned Short Division from Signed Division 
9–4 Unsigned Long Division 
9–5 Doubleword Division from Long Division 
CHAPTER 10. INTEGER DIVISION BY CONSTANTS 
10–1 Signed Division by a Known Power of 2 
10–2 Signed Remainder from Division by a Known Power of 2 
10–3 Signed Division and Remainder by Non-Powers of 2 
10–4 Signed Division by Divisors ≥ 2 
10–5 Signed Division by Divisors ≤ –2 
10–6 Incorporation into a Compiler 
10–7 Miscellaneous Topics 
10–8 Unsigned Division 
10–9 Unsigned Division by Divisors ≥ 1 
10–10 Incorporation into a Compiler (Unsigned) 
10–11 Miscellaneous Topics (Unsigned) 
10–12 Applicability to Modulus and Floor Division 
10–13 Similar Methods 
10–14 Sample Magic Numbers 
10–15 Simple Code in Python 
10–16 Exact Division by Constants 
10–17 Test for Zero Remainder after Division by a Constant 
10–18 Methods Not Using Multiply High 
10–19 Remainder by Summing Digits 
10–20 Remainder by Multiplication and Shifting Right 
10–21 Converting to Exact Division 
10–22 A Timing Test 
10–23 A Circuit for Dividing by 3 
CHAPTER 11. SOME ELEMENTARY FUNCTIONS 
11–1 Integer Square Root 
11–2 Integer Cube Root 
11–3 Integer Exponentiation 
11–4 Integer Logarithm 
CHAPTER 12. UNUSUAL BASES FOR NUMBER SYSTEMS 
12–1 Base –2 
12–2 Base –1 + i 
12–3 Other Bases 
12–4 What Is the Most Efficient Base? 
CHAPTER 13. GRAY CODE 
13–1 Gray Code 
13–2 Incrementing a Gray-Coded Integer 
13–3 Negabinary Gray Code 
13–4 Brief History and Applications 
CHAPTER 14. CYCLIC REDUNDANCY CHECK 
14–1 Introduction 
14–2 Theory 
14–3 Practice 
CHAPTER 15. ERROR-CORRECTING CODES 
15–1 Introduction 
15–2 The Hamming Code 
15–3 Software for SEC-DED on 32 Information Bits 
15–4 Error Correction Considered More Generally 
CHAPTER 16. HILBERT’S CURVE 
16–1 A Recursive Algorithm for Generating the Hilbert Curve 
16–2 Coordinates from Distance along the Hilbert Curve 
16–3 Distance from Coordinates on the Hilbert Curve 
16–4 Incrementing the Coordinates on the Hilbert Curve 
16–5 Non-Recursive Generating Algorithms 
16–6 Other Space-Filling Curves 
16–7 Applications 
CHAPTER 17. FLOATING-POINT 
17–1 IEEE Format 
17–2 Floating-Point To/From Integer Conversions 
17–3 Comparing Floating-Point Numbers Using Integer Operations 
17–4 An Approximate Reciprocal Square Root Routine 
17–5 The Distribution of Leading Digits 
17–6 Table of Miscellaneous Values 
CHAPTER 18. FORMULAS FOR PRIMES 
18–1 Introduction 
18–2 Willans’s Formulas 
18–3 Wormell’s Formula 
18–4 Formulas for Other Difficult Functions 
ANSWERS TO EXERCISES 
APPENDIX A. ARITHMETIC TABLES FOR A 4-BIT MACHINE 
APPENDIX B. NEWTON’S METHOD 
APPENDIX C. A GALLERY OF GRAPHS OF DISCRETE FUNCTIONS 
C–1 Plots of Logical Operations on Integers 
C–2 Plots of Addition, Subtraction, and Multiplication 
C–3 Plots of Functions Involving Division 
C–4 Plots of the Compress, SAG, and Rotate Left Functions 
C–5 2D Plots of Some Unary Functions