码迷,mamicode.com
首页 > 编程语言 > 详细

学习汇编的第一天,简单看了一下这门语言的一些小技巧

时间:2016-04-24 11:15:54      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:windows   系统软件   编程论坛   应用程序   编程语言   

我的原创:Windows环境下32位汇编语言是一种全新的编程语言。它使用与C++语言相同的API接口,不仅可以用来开发出大型的软件,而且是了解操作系统运行细节的最佳方式。本书从编写应用程序的角度,从“Hello World!”这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过60多个实例逐渐深入Win32汇编语言的方方面面。本书作者罗云彬拥有十余年汇编语言编程经验,是汇编编程网站和汇编编程论坛qanda.ren的站长。本书是作者多年来编程工作的总结,适合于欲通过Win32汇编语言编写Windows程序的读者。 在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。因此汇编语言亦称为符号语言。

使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编语言编译器把汇编程序翻译成机器语言的过程称为汇编。

学习汇编的第一天,简单看了一下这门语言的一些小技巧


1.rep movsd 每次ecx!=0便执行movsd ,然后ecx=ecx-1 movsd移动ds:[si] 到es:[di],在32位汇编下可以用esi代替si,edi代替di 


2.同时由于在一般exe中ds = es 程序起始位置所以另esi = offset @s1就可以找到变量s1 ,edi= offset @s2就可以找到变量s2 


3.movsd此类指令有个性质,当标志位d=0时执行一次esi = esi +1,edi= edi+ 1   


   d=1时执行一次esi = esi +1,edi= edi+ 1


所以此段指令的含义是从s1复制ecx个dword到s2


学习汇编的第一天,简单看了一下这门语言的一些小技巧

标签:windows   系统软件   编程论坛   应用程序   编程语言   

原文地址:http://9885120.blog.51cto.com/9875120/1767171

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!