Mastering Assembly Programming.
Incorporate the assembly language routines in your high level language applications About This Book Understand the Assembly programming concepts and the benefits of examining the AL codes generated from high level languages Learn to incorporate the assembly language routines in your high level langu...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
Birmingham, UNKNOWN :
Packt Publishing,
2017.
|
Temas: | |
Acceso en línea: | Texto completo |
Tabla de Contenidos:
- Cover; Title Page; Copyright; Credits; About the Author; About the Reviewer; www.PacktPub.com; Customer Feedback; Table of Contents; Preface; Chapter 1: Intel Architecture; Processor registers; General purpose registers; Accumulators; Counter; Stack pointer; Source and destination indices; Base pointer; Instruction pointer; Floating point registers; XMM registers; Segment registers and memory organization; Real mode; Protected mode
- segmentation; Protected mode
- paging; Long mode
- paging; Control registers; Debug registers; Debug address registers DR0
- DR3; Debug control register (DR7).
- Debug status register (DR6)The EFlags register; Bit #0
- carry flag; Bit #2
- parity flag; Bit #4
- adjust flag; Bit #6
- zero flag; Bit #7
- sign flag; Bit #8
- trap flag; Bit #9
- interrupt enable flag; Bit #10
- direction flag; Bit #11
- overflow flag; Remaining bits; Summary; Chapter 2: Setting Up a Development Environment; Microsoft Macro Assembler; Installing Microsoft Visual Studio 2017 Community; Setting up the Assembly project; GNU Assembler (GAS); Installing GAS; Step 1
- installing GAS; Step 2
- let's test; Flat Assembler; Installing the Flat Assembler; The first FASM program.
- WindowsLinux; Summary; Chapter 3: Intel Instruction Set Architecture (ISA); Assembly source template; The Windows Assembly template (32-bit); The Linux Assembly template (32-bit); Data types and their definitions; A debugger; The instruction set summary; General purpose instructions; Data transfer instructions; Binary Arithmetic Instructions; Decimal arithmetic instructions; Logical instructions; Shift and rotate instructions; Bit and byte instructions; Execution flow transfer instructions; String instructions; ENTER/LEAVE; Flag control instructions; Miscellaneous instructions.
- FPU instructionsExtensions; AES-NI; SSE; Example program; Summary; Chapter 4: Memory Addressing Modes; Addressing code; Sequential addressing; Direct addressing; Indirect addressing; RIP based addressing; Addressing data; Sequential addressing; Direct addressing; Scale, index, base, and displacement; RIP addressing; Far pointers; Summary; Chapter 5: Parallel Data Processing; SSE; Registers; Revisions; Biorhythm calculator; The idea; The algorithm; Data section; The code; Standard header; The main() function; Data preparation steps; Calculation loop; Adjustment of sine input values.
- Computing sineExponentiation; Factorials; AVX-512; Summary; Chapter 6: Macro Instructions; What are macro instructions?; How it works; Macro instructions with parameters; Variadic macro instructions; An introduction to calling conventions; cdecl (32-bit); stdcall (32-bit); Microsoft x64 (64-bit); AMD64 (64-bit); A note on Flat Assembler's macro capabilities; Macro instructions in MASM and GAS; Microsoft Macro Assembler; The GNU Assembler; Other assembler directives (FASM Specific); The conditional assembly; Repeat directives; Inclusion directives; The include directive; File directive.