机器语言

汇编语言复习(一)

天涯浪子 提交于 2020-03-12 03:40:13
基本概念 机器语言 机器语言: 机器语言是一种数字语言,专门设计成能够被计算机处理器(Cpu)理解。 汇编语言 汇编语言: 包含用助记符书写的语句,汇编语言不是可移植的 可移植性: 一种语言,如果它的源程序能够在各种各样的计算机系统中进行编译和运行,那么这种语言是被称为可移植得 。 汇编语言和机器语言是一对一的关系:每一条汇编语言指令对应一条机器语言指令 汇编语言的规则: 大多数汇编语言规则都是以目标处理器及其机器语言的物理局限性为基础的。例如,Cpu要求两个指令操作数的大小相同。与C++或者Java相比,汇编语言的规则较少,因为汇编语言是以限制底层数据访问为代价的,而高级语言是用语法规则来减少意外的逻辑错误。 虚拟机 虚拟机概念是一种说明计算机硬件和软件关系的有效方法 通俗的说,虚拟机就是把高级语言翻译成对应的设备的低级语言 简单的练习 # include <iostream> using namespace std ; int f ( const char * p ) { int n = 0 ; for ( int i = 15 ; i >= 0 ; i -- ) { n = n + ( pow ( 2 , i ) ) * ( p [ 15 - i ] - '0' ) ; } return n ; } void test01 ( ) { const char * p =

Ⅱ:python入门

馋奶兔 提交于 2020-03-03 22:18:06
一、编程语言介绍     编程语言的分类 : 机器语言 汇编语言 高级语言(编译型、解释型号) 总结: 执行效率:机器语言>汇编语言>高级语言(编译型>解释型) 开发效率:机器语言<汇编语言<高级语言(编译型<解释型) 跨平台性:解释型具有极强的跨平台型 二、python介绍 python语言: 指的是pyton的语法风格 python解释器 :专门用来识别python这门语言的语法并解释执行 的 三、解释器多版本共存 设 置环境变量 如下: win10:参考视频 win7:C:\python27;C:\python27\scripts;C:\a\b;D:\a\b;E:\a\b linux: vim /etc/profile   PATH=$PATH:/usr/local/python38:/usr/local/python38   export PATH mac: 同linux 四、运行python程序的两种方式 交互式: 即时得到程序的运行结果,多用于调试 脚本的方式: 把程序写到文件里(约定俗称文件名后缀为.py),然后用python解释器解释执行其中的内容   python3.8 python程序文件的路径 五、一个python应用程序的运行的三个步骤 python3.8 C:\a\b\c.py 执行python程序经历三个步骤: 先启动python3.8解释器

C Primer Plus(第五版)1

筅森魡賤 提交于 2020-02-28 03:44:48
这是C Primer Plus(第五版)的第一章,上传上来主要是方便我进行做笔记,写注释,还有我会删掉一些“废话”等。 1.1 C语言的起源 贝尔实验室的 Dennis Ritchie 在1972年开发了C,当时他正在与Ken Thompson 一起设计 UNIX操作系统 。 1.4 计算机工作的基本原理 现代计算机可分为几个部件。中央处理单元(或称CPU)担负着绝大部分的计算工作,随机访问存储器(或称RAM)作为一个工作区来保存程序和文件;永久存储器,一般是硬盘,即使在计算机关机时也能记下程序和文件;还有各种外围设备(如键盘,鼠标和监视器)用来提供人与计算机之间的通信。CPU负责处理程序,所以我们集中来讨论它的功能。 CPU 的工作非常简单,至少在我们所做的这一简短的描述中是这样的。它从内存中获取一个指令并执行该指令,然后从内存中获取下一个指令并执行,。一个千兆 CPU 可以在一秒种内进行大约一亿次这样的操作,所以 CPU 能以惊人的速度来从事其枯燥的工作。CPU 有自己的小工作区,该工作区由若干个寄存器(registers)组成,每个寄存器可以保存一个数。一个寄存器保存下一条指令的内存地址,CPU 使用该信息获取下一条指令。获取一条指令后,CPU 在另一个寄存器中保存该指令并将第一个寄存器的值更新为下一条指令的地址。CPU 只能理解有限的指令(指令集)。还有

机器语言 如汇编语言

淺唱寂寞╮ 提交于 2020-02-27 22:04:23
在 第一 台 计算 机 诞生 之 后, 虽 然它 的 计算速 度 并 不比 当时 的 一些 计 算工 具 有太大的 优 势 ,但人们注意到这种新 的 ”计算工具”和传统的计算工具有了一个本质的区 别 ,就是 它 能存储指 令 ,并可以不断地重新执行这些指令.以往的传统计算工 具 ,比如中国 的 ”算 盘 ” , 当人们按着一定的口 诀 即指 令 计算出 结 果后,如果想再计算一 次 ,就必须重新在 算盘 上” 拨弄口 诀” ,因为算盘不能存 储” 口 诀”. 电子计算 机则不同,它是 由电子元件组成 的 , 这 种 电 子 元 件有 两 种 稳 定的 状 态 , 可以用 0,1 来表 示这两 种状态 ,这样 电 子 计 算 机就可 以使用二进制数来存储和处理信息了 . 计算机处理信息的早期语言是所谓的 机 器语言,这种语言中的指令都是 由 0, 1 组 成 的序 列 , 称 这样的序 列 为一条 机 器指令. 比如 ,某种 型号的 的 计 算机用 8 位二 进制 信 息 10001010 表示一次加 法 , 以 0001 0 0 11 表示一次减法等 等 .这些指令的执行由计算机 的 线 路 来 保 证, 计 算 机在 设 计 之 初, 事 先 就 要确 定 好 每一条指 令 对 应的 线 路 逻辑 操作 .用 机 器语言进行程序设计是一项累人的工作, 同 样的任 务

从零开始,计算机编程语言简史

爷,独闯天下 提交于 2020-02-24 23:26:33
计算机语言总的来说分为机器语言,汇编语言,高级语言三大类,而这三种语言也恰恰是计算机语言发展历史的三个阶段。其中,汇编语言几乎成为了每个科班学生的噩梦。 我希望从计算机语言编程语言的发展历史中,了解每一种编程语言在哪个历史时代背景中独特的魅力、它为什么而诞生、为什么能够推动计算机科学界的前进。 同时,我更愿望从这些编程预言的发展历史中,找到编程语言们的 核心特性与共性 ,深度理解编程语言的 底层原理和实现思想 ,构建自己的编程语言 知识体系 。 文章目录 机器&汇编语言 高级语言的诞生 大佬来了:C语言 面向对象 C++ Java Python 先来一波高级编程语言发展图: 机器&汇编语言 1946年2月14日 ,世界上第一台计算机 ENAC诞生 ,使用的是最原始的穿孔卡片。这种卡片上使用的语言是只有 专家 (机器)才能理解的语言,与人类语言差别极大,这种语言就称为机器语言。 其实,机器语言就是由0和1两种元素组成。所谓的 穿孔卡片 也就是一条纸带,上面充满了0和1的序列,ENAC就是通过读取这种序列,来实现计算的。机器语言也就成为了第一代计算机语言。 由于第一代计算机语言(机器语言)的特性(人类根本没法看懂),导致了许许多多的问题,例如,对于程序编程员的要求极高( 像我这种面向百度编程的人,就算了 );运算结果出错了,根本没法排除… 于是,汇编语言诞生了。

解释型语言和编译型语言

让人想犯罪 __ 提交于 2020-02-22 20:57:08
1、概述 计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言才能执行程序。程序语言翻译成机器语言的工具,被称为翻译器。 - 翻译器翻译的方式有两种:一个是编译,另一个是解释。 两种方式之间的区别在于翻译的时间点不同 - 编译器是在代码执行之前进行编译,生成中间代码文件 - 解释器是在运行时进行及时解释,并立即执行(当编译器以解释方式运行的时候,也称之为解释器) 解释型语言 编译型语言 JS Java 2、执行过程 来源: CSDN 作者: 2020_h 链接: https://blog.csdn.net/qq_36323561/article/details/104448177

编译原理简介

纵饮孤独 提交于 2020-02-19 00:42:43
机器语言:可以被计算机直接理解,由二进制0与1组成 汇编语言:引入助记符,依赖于特定的机器 高级语言:类似于数字定义或自然语言的简洁形式 1.什么是编译: 编译: 将 高级语言 (源语言) 翻译 成 汇编语言或者机器语言 (目标语言) 的过程语言翻译成汇编语言或者机器语言的过程 2.编译器在语言处理系统中的位置: 3.编译器的结构: 编译器各个结构 作用 词法分析器 从左到右逐行扫描源程序的字符,识别出各个单词,确定单词的类型。 语法分析器 从词法分析器输出的token序列中识别出各类短语,并构造语法分析树 语义分析器 收集标识符的属性信息;语义检查 中间代码生成器 以三地址码的形式表示高级语言;生成语法结构树/语法树 目标代码生成器 以源程序的中间形式作为输入,并把它映射到目标语言;为程序中使用的变量合理分配寄存器 机器有/无关代码优化器 为改进代码所进行的等价程序变换,使其运行得更快一些、占用空间更少一些,或者二者兼顾 来源: CSDN 作者: blacksunday2 链接: https://blog.csdn.net/blacksunday2/article/details/104382334

PythonStudy——机器语言 Machine Language

霸气de小男生 提交于 2020-02-18 08:20:41
编程语言 编程语言(programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。 1、机器语言 :直接编写二进制指令的编程方式 机器语言(machine language)是一种 指令 集的体系。这种指令集,称 机器码 (machine code),是电脑的CPU可直接解读的数据。 机器码有时也被称为原生码(Native Code),这个名词比较强调某种 编程语言 或库,它与运行平台相关的部份。 机器语言是用 二进制 代码表示的计算机能直接识别和执行的一种 指令系统 的集合。 它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。 不同型号的计算机其机器语言是不相通的,按着一种计算机的机器指令编制的 程序 ,不能在另一种计算机上执行。 一条指令就是 机器语言 的一个语句,它是一组有意义的二进制代码,指令的基本格式如,操作码字段和地址码字段,其中操作码指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。 除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了。 机器语言是微处理器理解和使用的,用于控制它的操作二进制代码。 8086 到

编程语言与机器

雨燕双飞 提交于 2020-02-12 14:04:23
一,编程的层次      数字逻辑(Level 1):二进制数值机器语言。   指令集架构(Level 2):计算机芯片制造商在处理器内部设计一个指令集来实现基本操作,如传送、加法或乘法。这个指令集也被称为机器语言。每一个机器语言指令或者直接在机器硬件上执行,或者由嵌入到微处理器芯片的程序来执行,该程序被称为微程序。   汇编语言(Level 3):在 ISA 层,编程语言提供了一个翻译层,来实践大规模软件开发。汇编语言出现在 Level 3,使用短助记符,如 ADD、SUB 和 MOV,易于转换到 ISA 层。汇编语言程序在执行之前要全部翻译(汇编)为机器语言。   高级语言(Level 4):Level 4 是高级编程语言,如 C、C++ 和 Java。这些语言程序所包含的语句功能强大,并翻译为多条汇编语言指令。比如,查看 C++ 编译器生成的列表文件输出,就可以看到这样的翻译。汇编语言代码由编译器自动汇编为机器语言。 来源: https://www.cnblogs.com/qq2806933146xiaobai/p/12298768.html

计算机要素--第二章 布尔运算

▼魔方 西西 提交于 2020-02-08 19:14:26
计算机系统要素,从零开始构建现代计算机(nand2tetris) 如果完成了本书所有的项目 你将会获得以下成就 构建出一台计算机(在模拟器上运行) 实现一门语言和相应的语言标准库 实现一个简单的编译器 而且,这本书的门槛非常低,只要你能熟练运用一门编程语言即可。本课程综合了数字电路,计算机组成原理,计算机体系架构,操作系统,编译原理,数据结构等的主要内容,搭建了计算机平台的构建的框架,并未深入细节,如果需要了解细节,可由本书作为主线,逐步完善的知识体系。 项目地址Github 本章重点内容 布尔运算 详细内容 在刚学C语言的时候,我一直很好奇,人类是怎样想出编程语言的?既然人类想出了编程语言,那么为什么编程语言会是现在的这个样子,比如指令为什么要那样设计?即便是人类能够将自然语言用0,1机器码来表示,机器语言的存在和人类将自然语言翻译成0,1机器码是一种巧合,还是具有一定的关系呢?这种机器语言是像牛顿定律一样先天存在呢,还是人类根据某些规则设计的呢?学完这一章,打开了我的疑惑。 我想这个过程应该是这样的:“对于机器而言,0,1机器码只不过是人类给的名字,机器码的本体是高低电压,在机器上加上电压可以使机器工作。这应该就是编程最初的模样,也就是给机器加电压使之工作。慢慢的人类设计出一种称为ALU的东西,利用一定的逻辑可以进行运算,这种逻辑就是布尔逻辑。当然,ALU需要输入很多电压