Learning the compilation of a good book "assembly language programming" in Linux

Source: Internet
Author: User
Tags define local

Http://www.china-pub.com/28024

 

Us river

DirectoryPreface
Part 1 Basics of the Assembly Language Programming Environment
Chapter 1 What is assembly language
1.1 processor commands
1.1.1 script handling
1.1.2 script format
1.2 advanced language
1.2.1 types of advanced languages
1.2.2 features of advanced languages
1.3 Assembly Language
1.3.1 operation code
1.3.2 define data
1.3.3 command
Conclusion 1.4
Chapter 4 ia-32 Platform
Core Part of 2.1 ia-32 Processor
2.1.1 Control Unit
2.1.2 Execution Unit
2.1.3 registers
2.1.4 flags. 2.2 advanced features of ia-32
2.2.1 x87 floating point unit
2.2.2 multimedia Extension
2.2.3 streaming SIMD Extension
2.2.4 hyper-threading
2.3 ia-32 processor Series
2.3.1 intel processor
2.3.2 non-Intel processors
Conclusion 2.4
Chapter 1 related tools
3.1 Development Tools
3.1.1 Assembler
3.1.2 Connector
3.1.3 Debugger
3.1.4 Compiler
3.1.5 anti-assembler of the target code
3.1.6 Configurator
3.2 GNU Assembler
3.2.1 install Assembler
3.2.2 use Assembler
3.2.3 operation code syntax
3.3 GNU Connector
3.4 GNU Compiler
3.4.1 download and install gcc
3.4.2 use gcc
3.5 GNU Debugger
3.5.1 download and install GDB
3.5.2 Use GDB
3.6 KDE Debugger
3.6.1 download and install kdbg
3.6.2 use kdbg
3.7 GNU objdump Program
3.7.1 use objdump
3.7.2 objdump example
3.8 GNU downloader program'
3.8.1 use the Configurator
3.8.2 example
3.9 complete compilation and Development System
3.9.1 Linux Basics
3.9.2 download and run mepis
3.9.3 New Development System
Conclusion 3.10
Chapter 2 assembly language program examples
4.1 Program Composition
4.1.1 Definition Section
4.1.2 define the start point
4.2 create a simple program
4.2.1 cpuid command
4.2.2 sample program
4.2.3 build executable programs
4.2.4 run the executable program
4.2.5 compile with a compiler
4.3 debug the program
4.4 use C library functions in assembly languages
4.4.1 use printf
4.4.2 connect to the C library function
Conclusion 4.5
Part 2 assembly language programming Basics
Chapter 4 Transfer Data
5.1 define data elements
5.1.1 Data Segment
5.1.2 define static symbols
5.1.3 BSS section
5.2 transfer data elements
5.2.1 mov Instruction format
5.2.2 send data transmission to registers and memory
5.2.3 transfer data between registers
5.2.4 transfer data between memory and registers
5.3 conditional transfer command
5.3.1 cmov command
5.3.2 use the cmov command
5.4 data exchange
5.4.1 data exchange commands
5.4.2 use data exchange commands
5.5 Stack
5.5.1 how the stack works
5.5.2 push and pop-up data
5.5.3 press and pop up all registers
5.5.4 manually use ESP and EBP registers
5.6 optimized Memory Access
Conclusion 5.7
Chapter 4 control Execution Process
6.1 instruction pointer
6.2 unconditional Branch
6.2.1 jump
6.2.2 call
6.2.3 interruption
6.3 condition Branch
6.3.1 conditional jump command
6.3.2 comparison commands
6.3.3 example of using a flag
6.4 cycles
6.4.1 cyclic commands
6.4.2 cyclic example
6.4.3 prevent loop disaster
6.5 imitate advanced condition Branch
6.5.1 if statement
6.5.2 For Loop
6.6 optimize branch commands
6.6.1 branch prediction
6.6.2 optimization skills
Conclusion 6.7
Chapter 4 use numbers
7.1 digital data type
An integer of 7.2
7.2.1 standard integer Length
7.2.2 unsigned integer
7.2.3 signed integer
7.2.4 use a signed integer
7.2.5 extended integer
7.2.6 define integers in the GNU Compiler
7.3 SIMD integer
7.3.1 MMX integer
7.3.2 send an MMX integer
7.3.3 SSE integer
7.3.4 send SSE Integers
Decimal of 7.4 binary encoding
7.4.1 what is BCD?
7.4.2 fpubcd Value
7.4.3 transfer BCD Value
7.5 floating point number
7.5.1 what is a floating point number?
7.5.2 standard floating point data type
7.5.3 floating point value of ia-32
7.5.4 define floating point values in the GNU Assembler
7.5.5 transfer floating point value
7.5.6 use preset floating point values
7.5.7 SSE floating point data type
7.5.8 transfer SSE floating point value
7.6 Conversion
7.6.1 conversion commands
7.6.2 conversion example
Conclusion 7.7
Chapter 2 basic mathematical functions
8.1 Integer Operation
8.1.1 Addition
8.1.2 Subtraction
8.1.3 increment and decrease
8.1.4 Multiplication
8.1.5 Division
8.2 shift command
8.2.1 shift Multiplication
8.2.2 shift Division
8.2.3 cyclic shift
8.3 decimal operation
8.3.1 computation of not packing BCD
8.3.2 computation of BCD package
8.4 logical operations
8.4.1 boolean logic
8.4.2 BIT Test
Conclusion 8.5
Chapter 2 advanced mathematical functions
9.1 FPU Environment
9.1.1 FPU register stack
9.1.2 FPU status, control, and Mark register
9.1.3 use FPU Stack
9.2 basic floating point operations
9.3 Advanced floating point operations
9.3.1 floating point function
9.3.2 partial remainder
9.3.3 trigonometric function
9.3.4 logarithm Functions
9.4 floating point condition Branch
9.4.1 fcom command Series
9.4.2 fcomi command Series
9.4.3 fcmov command Series
9.5 save and restore FPU status
9.5.1 saving and restoring the FPU Environment
9.5.2 save and restore FPU status
9.6 waiting and non-waiting commands
9.7 optimized floating point operations
Conclusion 9.8
Chapter 4 processing strings
10.1 send string
10.1.1 movs command
10.1.2 rep prefix
10.1.3 other rep commands
10.2 store and load strings
10.2.1 lods command
10.2.2 STOs command
10.2.3 construct your own string functions
10.3 comparison string
10.3.1 CMPs command
10.3.2 use CMPs and rep together
10.3.3 string
10.4 scan strings
10.4.1 SCAs command
10.4.2 search for multiple characters
10.4.3 calculate the string length
Conclusion 10.5
Chapter 4 Use Functions
11.1 define functions
11.2 assembler Functions
11.2.1 compile Functions
11.2.2 access function
11.2.3 function placement
11.2.4 use registers
11.2.5 use global data
11.3 pass data values according to the C style
11.3.1 stack Review
11.3.2 pass function parameters in the stack
11.3.3 function start and end
11.3.4 define local function data
11.3.5 clear a stack
11.3.6 example
11.3.7 monitor the stack in the action
11.4 use independent function files
11.4.1 create an independent function File
11.4.2 create an executable file
11.4.3 debug an independent function File
11.5 use command line parameters
11.5.1 Program profiling
11.5.2 analysis Stack
11.5.3 view command line parameters
11.5.4 view environment variables
11.5.5 example of using command line parameters
Conclusion 11.6
Chapter 4 using Linux
12.1 Linux Kernel
12.1.1 kernel Composition
12.1.2 Linux kernel version
12.2 system call
12.2.1 search for system calls
12.2.2 search for System Call Definitions
12.2.3 common system calls
12.3 Use System Call
12.4 Complex System Call return values
12.4.1 sysinfo system call
12.4.2 use the return structure
12.4.3 view results
12.5 tracking system calls
12.5.1 strace Program
12.5.2 advanced strace Parameters
12.5.3 Monitoring Program System Call
12.5.4 attach to a running program
12.6 System Call and C library
12.6.1 C library
12.6.2 trace c Functions
12.6.3 comparison between system calls and C library
Conclusion 12.7
Part 3 advanced assembly language technology
Chapter 4 using inline assembly
13.1 what is inline assembly
13.2 basic inline assembly code
13.2.1 ASM format
13.2.2 use global C Variables
13.2.3 use the volatile Modifier
13.2.4 use the replaced keyword
13.3 extended ASM
13.3.1 extended ASM format
13.3.2 specify the input and output values
13.3.3 use registers
13.3.4 use placeholders
13.3.5 reference placeholders
13.3.6 replacement placeholder
13.3.7 changed register list
13.3.8 memory usage location
13.3.9 use floating point values
13.3.10 handle redirection
13.4 use inline assembly code
13.4.1 what is a macro?
13.4.2 C macro functions
13.4.3 create inline assembler macro functions
Conclusion 13.5
Chapter 14 calling the Assembly Library
14.1 create an assembly Function
14.2 compile C and Assembler
14.2.1 compile the Assembly source code file
14.2.2 use the Assembly target code file
14.2.3 executable files
14.3 use assembly functions in C Programs
14.3.1 use integer return values
14.3.2 use string return values
14.3.3 use floating-point return values
14.3.4 use multiple input values
14.3.5 use the input values of the hybrid data type
14.4 use assembly functions in C ++ programs
14.5 create a static library
14.5.1 what is a static library
14.5.2 ar command
14.5.3 create a static library file
14.5.4 compile a static library
14.6 use a shared library
14.6.1 what is a shared library
14.6.2 create a shared library
14.6.3 compile the Shared Library
14.6.4 run the program using the Shared Library
14.7 debug assembler Functions
14.7.1 debug C program
14.7.2 debug assembly functions
Conclusion 14.8
Chapter 1 Optimization routine
15.1 optimize compiler code
15.1.1 Compiler optimization level 1
15.1.2 Compiler Optimization Level 2
15.1.3 Compiler optimization level 3
15.2 create Optimized Code
15.2.1 generate assembly language code
15.2.2 view the optimized code
15.2.3 re-compile the optimized code
15.3 optimization skills
15.3.1 Optimization Operation
15.3.2 optimization variable
15.3.3 optimized cycle
15.3.4 branch of Optimization Condition
15.3.5 elimination of common subexpressions
Conclusion 15.4
Chapter 4 usage documents
16.1 file processing sequence
16.2 Open and Close files
16.2.1 access type
16.2.2 UNIX permission
16.2.3 open the file code
16.2.4 code returned when an error is opened
16.2.5 close a file
16.3 write files
16.3.1 simple writing example
16.3.2 change the File Access Mode
16.3.3 file processing error
16.4 read files
16.4.1 simple reading example
16.4.2 more complex reading examples
16.5 read, process, and write data
16.6 memory ing File
16.6.1 what is a memory ing File
16.6.2 MMAP system call
16.6.3 MMAP assembly language format
16.6.4 MMAP example
Conclusion 16.7
Chapter 4 use advanced ia-32 features
17.1 introduction to SIMD
17.1.1 MMX
17.1.2 SSE
17.1.3 sse2
17.2 detection of SIMD operations supported
17.2.1 detection support
17.2.2 SIMD feature program
17.3 use MMX commands
17.3.1 load and obtain the packed integer
17.3.2 perform the MMX operation
17.4 use SSE commands
17.4.1 Transfer Data
17.4.2 process data
17.5 use sse2 commands
17.5.1 Data Transmission
17.5.2 process data
17.6 sse3 command
Conclusion 17.7

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.