我 熟悉 C# , 想了解 汇编语音、汇编、反汇编 是怎么回事、怎去学更容易上手。

如题所述

汇编语言:是所有计算机语言中最靠近底层硬件的语言,每一款CPU都有自己一套指令集。
比如 mov r1, r2
这条指令就是把r1的值赋值给r2。但也有一些是相反的,是把r2的值赋值给r1;
你书写C#,那么你应该就知道,计算机中可执行程序都是机器指令。你所编译的C#程序经过编译的过程中,就要经过汇编,再编译成可执行的机器指令。
每条汇编指令都对应着cpu做一套动作。指令和cpu动作是一一对应的。
汇编是将 程序员将汇编代码编译成机器指令。
反汇编相反,是将及其指令反编译成汇编代码。因为CPU的机器指令和汇编语句是一一对应的,所以才使得反汇编成为可能。
汇编语言是一种编程语言,我们是可以读懂的,汇编是是一个编译动作(个人理解)。
你要学习的话,就从单片机入手吧,那样可能简单一些,但你要记得你是学汇编,别去用C写哟!
对了,你学习汇编的时候记得要非常非常的细心和耐心,因为是底层语言。可读性远远没有C 和C++,C#那样高的可读性。但它的最大优点是代码少,执行效率高!!
汇编难写,但要是你成为了汇编的牛人,那就非常厉害!祝你学习顺利!个人能力有限,只能解答这么多,如有不对的地方,请谅解!追问

其实你所说的也是我理解的到的, 我是想通过看懂汇编代码, 找内存基址,但是就是看不懂汇编代码

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-23
汇编语言是直接用CPU指令编写的语言, 反汇编是把二进制码变成指令的方法.
一般的高级语言编译都是通过程序数据库(从你的电脑的软件安装, 你的代码书写得到的一个类似于密码加密的母本的数据库)把高级语言变成汇编指令, 然后再变成机器码. 汇编指令写程序很消耗程序员精力, 因为没有比较好的工具. 一般教学都是先学汇编再学高级语言的!!本回答被提问者和网友采纳
第2个回答  2011-05-29
net的反汇编和其它不一样
这个一言难尽
推荐你到看雪论坛吧
http://bbs.pediy.com/showthread.php?t=31840
还有一点,先把资料下足了再学习(我的经验)
注册以后看这个家伙的帖子,资料算是比较全的
http://bbs.pediy.com/showthread.php?t=124346

我 熟悉 C# , 想了解 汇编语音、汇编、反汇编 是怎么回事、怎去学更容 ...
反汇编相反,是将及其指令反编译成汇编代码。因为CPU的机器指令和汇编语句是一一对应的,所以才使得反汇编成为可能。汇编语言是一种编程语言,我们是可以读懂的,汇编是是一个编译动作(个人理解)。你要学习的话,就从单片机入手吧,那样可能简单一些,但你要记得你是学汇编,别去用C写哟!对了,你学习...

如何学习汇编语言和反汇编相关问题
这只有厂家的资料中才有的。学汇编能做什么,起码可做很多只学C语言做不到的事,比如加,解密。比如在前期的3Q大战中要有话语权,要真知事情的真象,这只有熟知熟用汇编的人才可办到。我的观点,你就是只想做程序员那只会C都要还远远的不够,更不要谈你想怎么真正的开发,应用设计计算机了,因这...

请问反汇编到底是什么时候才学的?
1 基础汇编语言 2 基于windows的汇编语言(如果不用win的话可以不学)3 你所使用的CPU的汇编命令(和书上有点小不同,但语法一样,去网上下一本你CPU的说明书,上面讲的很细)4 编译原理,这个必须的啦。有了这些基础知识,就可以开始学习反汇编了。当然,你还得很熟悉你用的语言(c或者c++)对应...

反汇编与逆向编程的区别
反汇编只是按将010二进制码这样的目标码分析解释成Assembler ,所以我们叫DisAssembler,当然这与教科书上的汇编语言是不同的,这是由编译器优化生成的目标代码,而反汇编只是将通过如intel 指令手册就可以将之转换出来,而逆向编程是在反汇编的基础上,然后分析他的逻辑,从而用高级语言或是流式语言进行二次编...

新手如何学习编程?
学编程入门建议:1.学编程要从根本出发,从理论上来说,需要广泛的阅读。了解算法的博大精深和计算机的基本理论。2.从实践上来说,需要有广泛的练习,练习的广泛在于练习不同的内容。然后就是创新精神和数学思维能力,这些都是需要培养的。基础要打好学编程要具备一定的基础。3.逻辑思维能力的培养、学...

C语言和汇编语言的区别是什么?
(4)两者学习难易程度不同。汇编语言所需要的编绘知识很多很复杂,经常被开发者使用。而C语言是一门很简单方便的语言,编程者也就不需要有太多的专业知识。计算机语言(Computer Language)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。计算机系统最大特征是指令通过一种语言...

什么是机器语言,汇编语言和高级语言
机器语言是一种指令集的体系。这种指令集,称机器码(machine code),是电脑的CPU可直接解读的数据。机器码有时也被称为原生码(Native Code),这个名词比较强调某种编程语言或库,它与运行平台相关的部份。汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言...

...Visual C# \/ Basic .NET程序用W32DASM反汇编字符串参考是灰色_百度...
.NET 程序,不是用 W32DASM 来翻译的。.NET 其实底层是 IL 编码, VS.NET 自带了反编译工具 推荐你用 Reflector 试试,如果没有被混淆,可以直接反编译出工程的

C#要打开DLL,提示,:"没有有效的CLR头,无法反汇编"是怎么回事
用C#打开Dll?还反汇编?我猜你是用IL反编译程序吧,这个反编译程序只能反编译.net Framework程序和类库,普通Dll就会提示没有CLR头。

C#要打开CLR,提示,:"没有有效的CLR头,无法反汇编"是怎么回事
那就程序不是在.net 下开发的!

相似回答
大家正在搜