最新公告
  • 欢迎您光临欧资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 计算机如何执行程序员用汇编指令的产生?

    在上一篇文章中,光头强简单解释了什么是编程语言,分为几类。简单讲了汇编语言,今天就讲到这里。

    说起汇编语言的出现,首先要说的是机器语言。机器语言是机器指令的集合。在机器指令扩展方面,是机器能够正确执行的命令。

    电子计算机的机器指令是一串二进制数。计算机将其转换成一系列高低能级,从而驱动计算机的电子设备进行计算。

    上述计算机是指能够执行机器指令并进行计算的机器。这是早期计算机的概念。在我们常用的pc中,有一个芯片可以完成上述电脑的功能。这个芯片就是我们通常所说的中央处理器(Central Processing Unit,Central Processing Unit)。

    由于各种微处理器的硬件设计和内部结构的不同,需要不同的电平脉冲来控制它们的工作。每个微处理器都有自己的机器指令集,即机器语言。

    早期的编程使用机器语言。程序员在纸带或卡片上打出由0和1组成的程序代码汇编语言转换成机器码,1为打孔,0为不打孔,然后通过纸带机或卡片机将程序输入计算机进行计算。

    这种机器语言由纯0和1组成,非常复杂,阅读和修改不方便,容易出错。程序员们很快就发现了使用机器语言难以区分和记忆的烦恼,给整个行业的发展制造了障碍,汇编语言就诞生了。

    汇编语言的主体是汇编指令。汇编指令和机器指令的区别在于指令的表达方式。汇编指令是一种易于记忆的编写机器指令的形式。

    之后,程序员使用汇编指令编写源程序。但是,计算机只能读取机器指令,那么计算机如何执行程序员用汇编指令编写的程序呢?此时,需要一个可以将汇编指令转换为机器指令的翻译器。这样的程序称为编译器。程序员用汇编语言编写源程序,然后使用汇编编译器将其编译成机器代码,最终由计算机执行。

    汇编语言还包含许多组件汇编语言转换成机器码,包括:

    数据传输指令

    这部分指令包括通用数据传输指令MOV、条件传输指令CMOVcc、堆栈操作指令PUSH/PUSHA/PUSHAD/POP/POPA/POPAD、交换指令XCHG/XLAT/BSWAP、地址或段描述符选择子转移指令LEA/LDS/LES/LFS/LGS/LSS等注意,CMOVcc不是具体的指令,而是一个指令簇,包含大量的指令,用于根据指令来决定是否执行指定的转移操作EFLAGS 寄存器的一些位状态。

    整数和逻辑运算指令

    这部分指令用于进行算术和逻辑运算,包括加法指令ADD/ADC、减法指令SUB/SBB、加法指令INC、减法指令DEC、比较运算指令CMP、乘法指令MUL/IMUL、除法指令DIV/ IDIV、符号扩展指令CBW/CWDE/CDQE、十进制调整指令DAA/DAS/AAA/AAS、逻辑运算指令NOT/AND/OR/XOR/TEST等。

    关注光头,与大家分享更多编程知识和干货。小伙伴们,长按点赞支持一下吧~

    站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
    欧资源网 » 计算机如何执行程序员用汇编指令的产生?

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    欧资源网
    一个高级程序员模板开发平台

    发表评论