汇编语言

计算机导论-课后总结-2019.12.15

我怕爱的太早我们不能终老 提交于 2019-12-16 00:23:13
程序设计语言 程序设计语言简介 程序设计语言是用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。语法表示程序的结构或形式,亦即表示构成语言的各个记号之间的组合规律,但不涉及这些记号的特定含义,也不涉及使用者。语义表示程序的含义,亦即表示按照各种方法所表示的各个记号的特定含义,但不涉及使用者。 程序设计语言的基本成分如下: ①数据成分:用于描述程序所设计的数据。 ②运算成分:用以描述程序所包含的运算。 ③控制成分:用于描述程序所包含的控制。 ④传输成分:用以表达程序中数据的传输。 程序设计语言的分类及编程模式 机器语言 机器语言是由二进制 0、1 代码指令构成,不同的 CPU 具有不同的指令系统。机器语言程序难编写、难修改、难维护,需要用户直接对存储空间进行分配,编程效率极低。这种语言已经被渐渐淘汰了。 需要注意的是,计算机唯一能识别的语言是机器语言 汇编语言 汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系,所以汇编语言同样存在着难学难用、容易出错、维护困难等缺点。但是汇编语言也有自己的优点:可直接访问系统接口,汇编程序翻译成的机器语言程序的效率高。 符号化具体体现在以下两个方面 ①用指令助记符代替指令的二维操作码。

汇编语言上机考试三星题——加密的key和明文字符串

让人想犯罪 __ 提交于 2019-12-15 22:48:20
题目 assume cs : code , ds : data data segment buf1 db 'This is a plain text' cnt1 equ $ - buf1 buf2 db 'ABXmv#7' cnt2 equ $ - buf2 buf3 db 100 dup ( ? ) data ends code segment start : mov ax , data mov ds , ax mov si , 0 mov di , 0 s : mov al , buf1 [ si ] mov bl , buf2 [ di ] xor al , bl mov buf3 [ si ] , al inc si ; 不断扫描 cmp si , cnt1 je endd ; 处理完成 inc di cmp di , cnt2 je s0 ; 密文扫完了 jmp s ; 密文没扫完 s0 : mov di , 0 jmp s endd : mov ax , 4 c00h int 21 h code ends end start 来源: CSDN 作者: 只是有点小怂 链接: https://blog.csdn.net/xiong_xin/article/details/103553659

程序设计语言

断了今生、忘了曾经 提交于 2019-12-15 14:21:14
定义 一般地,程序设计语言的定义都涉及语法、语义和语用等方面。 语法是指由程序设计语言的基本符号组成程序中的各个语法成分(包括程序)的一组规则。其中由基本字符构成的符号(单词)书写规则称为词法规则,由符号构成语法成分的规则称为语法规则。 语义是程序设计语言中按语法规则构成的各个语法成分的含义,分为静态语义和动态语义。静态语义是指编译时可以确定的语法成分的含义,而运行时刻才能确定的含义是动态语义。 一个程序的执行效果说明了该程序的语义,它取决于构成程序的各个组成部分的语义。 语用表示了构成语言的各个记号和使用者的关系,设计符合的来源、使用和影响。 分类 (1) 低级语言 面向机器,用机器直接提供的地址码、操作码语义概念编程。机器语言和汇编语言,宏汇编虽然抽象层次逐渐提高仍属低级语言的汇编语言(如8086汇编,68000汇编)。 (2)高级语言 独立于机器,用语言提供的语义概念和支持的范型编程。如命令式(Pascal,C,Ada)、函数式(LISP,ML)、逻辑式(Prolog)、关系式(SQL)、对象式(Smalltalk,C++)。 (3) 中级语言 可以编程操纵机器的硬件特征但不涉及地址码和操作码。如字位运算,取地址,设中断,开辟空间、无用单元收回,用寄存器加速等。高级汇编,C,FORTH属此列。 高级编程语言介绍 (1) 基础语言 基础语言也称通用语言。它历史悠久,流传很广

汇编语言基于X86处理器---基本概念1.1

醉酒当歌 提交于 2019-12-13 23:59:13
对 汇编语言基于X86处理器 书中知识点的整理,可能会有自己的理解,后续也可能会有作业代码。 汇编器和链接器 汇编语言和机器语言的关系 高级语言和汇编语言的关系 什么是可移植语言 汇编语言的应用场景 汇编器和链接器 汇编器 是一种工具程序,用于将汇编语言源程序转换为机器语言。 链接器 的作用是将汇编器生成的单个文件组合为一个可执文件。 调试器 是在程序运行状态下单步执行并检查寄存器和内存状态的工具。现在常用的调试器有OD,X64(x96)DBG(可以调试64位程序),DtDebug(一种可以调试VT的调试器)。 汇编语言和机器语言的关系 机器语言 是一种能被计算机CPU理解并处理的机器语言。所有X86处理器都能理解共同的机器语言。 汇编语言与机器语言是 一对一 的关系,每一条汇编指令都.对应一条机器语言指令。 高级语言与汇编语言的关系 C++,JAVA,Python与汇编语言和机器语言的关系是 一对多 的关 系。即一条高级语言指令对应多条汇编语言。 语言的可移植性 一种语言,如果它的源程序能够在各种各样的计算机系统中进行编译和运行,我们说这种语言是 可移植 的。 汇编语言是一种规格较少的语言,但是由于他是以目标处理器及其机器语言的物理局限性为基础的语言,所以他是一种不可移植的语言。C++是一种移植性差的语言,JAVA和Python是可移植的语言。

CPU

不问归期 提交于 2019-12-12 10:36:07
CPU 1. CPU是什么? 2.CPU 实际做什么? 3.CPU 的内部结构 4.CPU 是寄存器的集合体 5.计算机语言 6.汇编语言 7.程序计数器 8.条件分支和循环机制 9.标志寄存器 10.函数调用机制 11.通过地址和索引实现数组 12.CPU 指令执行过程 13.总结 1. CPU是什么? CPU 的全称是 Central Processing Unit ,它是你的电脑中最硬核的组件,这种说法一点不为过。CPU 是能够让你的计算机叫计算机的核心组件,但是它却不能代表你的电脑,CPU 与计算机的关系就相当于大脑和人的关系。 它 是一种小型的计算机芯片 ,它嵌入在台式机、笔记本电脑或者平板电脑的主板上。通过在单个计算机芯片上放置数十亿个微型晶体管来构建 CPU。 这些晶体管使它能够执行运行存储在系统内存中的程序所需的计算,也就是说 CPU 决定了你电脑的计算能力。 2.CPU 实际做什么? CPU 的核心是从程序或应用程序获取指令并执行计算。 此过程可以分为三个关键阶段: 提取,解码和执行 。 CPU从系统的 RAM 中提取指令,然后解码该指令的实际内容,然后再由 CPU 的相关部分执行该指令。 RAM : 随机存取存储器 (英语:Random Access Memory,缩写:RAM),也叫主存,是与 CPU 直接交换数据的内部存储器。它可以 随时读写 (刷新时除外)

编程语言

a 夏天 提交于 2019-12-10 23:52:20
机器语言  ------>   汇编语言   ------>  高级语言 机器语言 :由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言,机器语言属于低级语言。    汇编语言 :其实质和机器语言是相同的,都是直接对硬件操作,只不过指令采取了英文缩写的标识符,更容易识别和记忆。    高级语言 :是大多数编程人员的选择,和汇编语言相比,他不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作相关但与完成工作无关的细节,高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包含了许多编程语言。如C/C++,JAVA,PHP,PYTHON等都属于高级语言。   机器语言:优点是最底层,速度快,缺点是复杂,开发效率低   汇编语言:优点是比较底层,速度快,缺点是复杂,开发效率低   高级语言:编译型语言执行速度快,不依赖语言环境运行,跨平台差        解释型跨平台比较好,一份代码,到处使用,缺点是执行效率慢,依赖解释器运行 高级语言所编制的程序不能被计算机所知别,必须讲过转换才能被执行,按照转换方式,可以将其分为两类,一类是编译类,一类是解释类    编译类 :就是在应用源码程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行。使用比较方便

汇编语言之期末复习

让人想犯罪 __ 提交于 2019-12-09 13:57:45
复习时整理的小点 奇地址单元 存放2个读写周期 Cpu与存储器之间的任何信息交换使用的都是 物理地址 16位相对位移的范围是 8000H-7FFFH 段地址左移4位加偏移地址 PA=16DX2356+1000= 2456F0HPA=12345H 逻辑地址 为1200H :0345H 状态寄存器用来存放状态信息 一个字节有8位二进制数 8086cpu的内部数据总线是16位的 外部数据总线是16位的 机器语言是可执行指令 [BX+si+8]相对基址变址寻址 pa=bx+si+8 ,即 2000+3000+8 =5008 MEM 补码 寄存器间接寻址 有4个 bx BP SI DI 其中bp 默认段ss [bx+si] 使用ds段寄存器 [bp+5] 使用ss寄存器 段内间接寻址 只改变ip寄存器的值 段间间接寻址 改变cs和IP寄存器的值 PSW 状态寄存器 。不改变PSW的指令是 mov ax,bx 不影响cf标志位 的是inc dec 两个整数补码相加运算后 会产生无溢出但有进位 Jmp word ptr [bx] 段内间接近转移 二-十进制(BCD):用二进制编码的十进制压缩的BCD码:用四位二进制表示一个十进制数码非压缩的BCD码:用8位二进制表示一个十进制位 十进制数字74所对应的压缩型BCD码的形式是 74H 十进制数字85所对应的非压缩型BCD码的是 0805H CMP

常用编程语言介绍及各语言特点

最后都变了- 提交于 2019-12-07 06:48:14
一,编程语言 计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。计算机每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。 通用的编程语言有两种形式:汇编语言和高级语言。 1.1汇编语言 汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序通常由三部分组成:指令、伪指令和宏指令。汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。 1.2高级语言 高级语言是绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。 高级语言主要是相对于汇编语言而言

软件的内涵、操作系统、软工定义、程序设计语言的演化

落花浮王杯 提交于 2019-12-06 23:06:30
软件的内涵 软件是用户与硬件之间的接口界面。用户主要是通过软件与计算机进行交流。软件是计算机系统设计的重要依据。为了方便用户,为了使计算机系统具有较高的总体效用,在设计计算机系统时,必须通盘考虑软件与硬件的结合,以及用户的要求和软件的要求。 软件的正确含义应该是: (1)运行时,能够提供所要求功能和性能的指令或计算机程序集合 (2)程序能够满意地处理信息的数据结构 (3)描述程序功能需求以及程序如何操作和使用所要求的文档 操作系统 1.什么是操作系统 操作系统( operating system,OS)为计算机硬件和应用程序提供了一个交互的界面,并指挥计算机各部分硬件的基本工作。 (1)系统观点——计算机资源处理 (2)用户观点——用户使用计算机的界面 (3)软件观点——程序、数据和文档的集合 2.DOS 磁盘操作系统(Disk Operating System,DOS)是个人计算机上使用的一种操作系统,通过命令行方式下输入命令对计算机资源进行管理。 3.Windows操作系统 Windows采用了图形化模式GUI,比起从前的DOS需要输入指令使用的方式,更为人性化。它不但易用,也当前应用最广泛的操作系统。 特点: (1)Windows操作系统的人机操作性优异。 (2)Windows操作系统支持的应用软件较多。 (3)Windows操作系统对硬件支持良好。 【2】 4

指令系统与汇编程序设计简答

橙三吉。 提交于 2019-12-06 03:19:47
(1)、什么叫指令?什么叫指令系统?8088指令系统有哪几种类型指令? 指令是CPU执行某种操作的命令。 CPU全部指令的集合称为指令系统。 8088的指令类型有传送类、算术运算类、逻辑运算类、转移和调用指令等。 (2)、什么叫寻址方式?8088指令系统有哪几种寻址方式? 寻址方式是指CPU获取操作数的方式。 寻址方式的种类:立即数寻址、寄存器寻址、内存操作数寻址 (3)、何为汇编语言程序?何为汇编程序?简述汇编程序的功能。 汇编语言程序是指由汇编语言指令编写的程序。 汇编程序是用来对汇编语言源程序进行汇编的程序。 汇编程序的功能:其功能是对汇编语言程序进行翻译,生成扩展名为OBJ的目标文件,如果源程序有语法错误汇编后不会产生目标文件,并且给出错误信息。 (4)、什么是变量?变量有哪几种属性?程序中如何访问变量? 变量代表内存操作数的存储地址,或者说变量名代表某个存储单元,通常定义在数据段、堆栈段或者附加段。 变量的属性:段属性、偏移属性、类型属性。 程序中通过变量名来访问变量。 (5)、什么是标号?标号有哪几种属性? 标号代表指令地址,它为转移指令提供了转移目标 标号的属性:段属性、偏移属性、类型属性。 (6)、80x86汇编语言中有哪几种运算符? 数值运算符,修改属性运算符,返回属性或数值运算符,方括号运算符和地址表达式。 (7)、80x86汇编语言程序中段的类型有哪几种