My original: 32-bit assembly language under the Windows environment is a new programming language. It uses the same API interface as the C + + language, not only to develop large-scale software, but also the best way to understand the details of operating system operations. This book from the perspective of writing applications, from the "Hello world! "This simple example begins with the writing of complex programs such as multithreading, registries, and network communication, and gradually Win32 the various aspects of assembly language through more than 60 instances. The book author Luo Yunbin has more than 10 years of assembly language programming experience, is the Assembly programming website and assembly programming Forum Qanda.ren Webmaster. This book is a summary of the author's programming work over the years, suitable for readers who want to write Windows programs through WIN32 assembly language. In assembly language, the mnemonic (Memoni) is used instead of the opcode, and the address symbol (symbol) or label (label) is used instead of the address code. In this way, the binary code of the machine language is replaced by the symbol, and the machine language is converted into assembler. Therefore, assembly language is also known as symbolic languages.
The program written in assembly language, the machine can not be directly recognized by a program to translate assembly language into machine language, the translation process called Assembler, assembler is the System software language processing system software. The process of translating assembler programming into machine language is called assembly by the assembly language compiler.
On the first day of the study, I briefly looked at some tips for this language.
1.rep Movsd per ecx! =0 executes Movsd, then ecx=ecx-1 movsd move Ds:[si] to Es:[di], under 32-bit assembly can replace Si,edi with ESI instead of Di
2. Also because in the general exe DS = ES program start location so another esi = offset @s1 can find the variable s1, edi= offset @s2 can find the variable s2
3.movsd Such directives have a nature, when the flag bit d=0 is performed once esi = ESI +1,edi= edi+ 1
d=1 when performing esi = esi +1,edi= edi+ 1
So the meaning of this instruction is to copy ecx DWORD from S1 to S2
On the first day of the study, I briefly looked at some tips for this language.