精品学习网
所在位置:主页 > 物联网 > 汇编程序与程序代码是什么关系?

汇编程序与程序代码是什么关系?

发布时间:2022-06-23 12:00来源:www.51edu.com作者:畅畅

感谢邀请。

首先要弄清楚问题,根据自己的理解我把问题重新翻译一下欢迎指正:

汇编程序代码与非汇编程序代码(比如c语言,C#,Java)有什么关系?

1.汇编语言是一种面向CPU的低级语言,它是与CPU指令集一一对应的助记符号,汇编语言写完后简单解释就可直接转化为机器可以识别的机器语言,中间不需要其他过程所以效率很高

2.普通的非汇编程序代码(比如C语言,C#,Java等)属于面向程序员的高级语言,它更接近人的思维,语法相对固定,只有通过特定编译规则的编译器进行编译才能转化成机器可以识别的机器语言,所以效率相对汇编语言来说较低。

分开来看1和2都是独立的计算机语言,都可以在各自擅长的领域进行软件开发,没有直接的关系。

但是高级语言在编译后生成二进制可执行程序过程中会转化成汇编语言,所以很多软件利用反汇编技术把源代码还原分析找出漏洞加以,同样我们也可以利用这个机制

来深度调试程序分析bug。

VisualStudio开发时 当程序运行到断点处停止依次点击调试->窗口->反汇编;英文显示为Debug下的Windows子菜单,选择Disassembly 来查看汇编代码。

Java开发时需要用HSDIS插件来查看汇编代码。

汇编语言与其他语言没有直接关系,换个角度考虑高级语言(C语言,Java语言等)编译时

会生成汇编代码进而转化成二进制可执行程序,存在这种关系。

欢迎留言讨论,也欢迎私信。

打个比喻,汇编程序与程序代码,就像象形文字与简体字类似,象形文字是只有古人看的懂,汇编只有cpu能识别。简体字是现代人看的懂,而程序代码是程序员或软件工程师写的。

汇编语言,请问STRING DB 'Hello World!',13,10,'$'中的13,10,‘$'是什么意思?

13----回车

10----换行

$----09 功能调用所规定的字符串的结束符

扩展资料:

汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植汇编语言, 即第二代计算机语言,用一些容易理解和记忆的字母,单词来代替一个特定的指令,比如:用“ADD”代表数字逻辑上的加减,“ MOV”代表数据传递等等,通过这种方法,人们很容易去阅读已经完成的程序或者理解程序正在执行的功能,对现有程序的bug修复以及运营维护都变得更加简单方便。当计算机的硬件不认识字母符号,这时候就需要一个专门的程序把这些字符变成计算机能够识别的二进制数。

DSP汇编语言编程,其中的伪指令怎么理解?何以谓“伪”指令?与一般指令有...

伪指令是用于告诉编译程序如何进行汇编的指令,它既不控制机器的操作也不被汇编成机器代码,只能为编译程序所识别并指导编译如何进行。 例如:(1)程序的起始地址指定指令,告诉编译程序,用户写的程序在单片机或DSP等的开始地址。(2)数据单元地址指定的指令,告诉编译程序,给指定的数据单元分配指定的地址。 这些都是伪指令,它们从编译后的代码中是看不到的。

  • 热门资讯
  • 最新资讯
  • 手游排行榜
  • 手游新品榜