Mastering Assembly Programming. (2017)
- Record Type:
- Book
- Title:
- Mastering Assembly Programming. (2017)
- Main Title:
- Mastering Assembly Programming
- Other Names:
- Lyashko, Alexey
- Contents:
- 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; DataCover; 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 … (more)
- Publisher Details:
- Birmingham, UNKNOWN : Packt Publishing
- Publication Date:
- 2017
- Extent:
- 1 online resource (285)
- Subjects:
- 001.642
COMPUTERS -- Programming Languages -- Assembly Language
Computer programming
COMPUTERS -- Compilers
COMPUTERS -- Operating Systems -- Linux
Electronic books
Electronic books - Languages:
- English
- ISBNs:
- 1787120074
9781787120075 - Related ISBNs:
- 9781787287488
- Notes:
- Note: Description based on print version record.
- Access Rights:
- Legal Deposit; Only available on premises controlled by the deposit library and to one user at any one time; The Legal Deposit Libraries (Non-Print Works) Regulations (UK).
- Access Usage:
- Restricted: Printing from this resource is governed by The Legal Deposit Libraries (Non-Print Works) Regulations (UK) and UK copyright law currently in force.
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library HMNTS - ELD.DS.204378
- Ingest File:
- 01_141.xml