zoukankan      html  css  js  c++  java
  • 关于计算机指令

    程序是指令序列。
    程序的执行是计算机逐条将指令翻译为计算机动作的过程。
    这个最终被执行的指令称为目标代码
    目标代码是由源代码通过转译器转译过来的
    转译方式分为两种,一种是一次性全部转译,另一种是执行时逐条转译
    前者暂时称为一次性全部转译,后者称为解释
    相应地,转译器分为一次性全部转译器和解释器
    源代码的编写语言分为高级语言和汇编语言
    一次性全部转译由高级语言编写的源代码的过程称为编译,相应的转译器称为编译器
    一次性全部转译由汇编语言编写的源代码的过程称为汇编,相应的转译器称为汇编器
    编译器有时候不一定把源代码编译成目标代码,有时可能是中间代码,中间代码通过解释器逐条转译
    程序的运行环境是为程序执行前、执行中、执行后提供支持。执行中的支持是指调用运行环境代码。执行前和执行后是应用程序的公共的前置和后置操作

    机器码是由硬件逐条执行(由硬件逐条输入-翻译-输出)的,直接调用的是硬件

    运行在解释器/虚拟机上的源代码或中间代码是解释器执行的,可能调用的解释器(脚本或程序的“程序”或程序的“特殊数据”)或者硬件(JIT)
    由解释器逐行读取输入脚本-解析脚本-输出地址(运算器中的数据罢了,没有运算符,通过数据模拟程序)然后跳转

    这种数据能指挥(调用)解释器的操作码。通过反射或条件分支调用解释器代码的。解释器的本质就是通过分析数据,实现程序流程的转变
    所以解释器中的必有的逻辑。根据脚本得出地址,在调用跳转指令。

    虚拟机本身不虚拟,虚拟的是运行在虚拟机的代码。他们不是真正意义上的代码。而是模拟的代码

  • 相关阅读:
    Git工作中用法(Gitlab)
    面试记录,不定时更新中。。。
    webservice 技术改进
    HTTP详解
    Git学习05 --分支管理02
    Git学习04 --分支管理
    链表判环问题
    k-选取问题
    图片与字符串(base64编码)的转化
    二叉堆与堆排序的简单实现
  • 原文地址:https://www.cnblogs.com/tsai-87/p/10983444.html
Copyright © 2011-2022 走看看