机器语言简介

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

@ @@ @ @ @ @ @ @@ @ @ @@ @ @ @ @ @ @@ @ @@ @ @ @ @@ @ @@
@ @ @ @@ @ @@ @ @ @ @@ @ @@ @ @ @ @ @ @@ @ @ @ @ @@ @ @ @
@ @ @ @ @ @@ @ @ @ @ @ @ @@ @ @@ @ @ @ @ @ @@ @ @ @ @@ @ @
@@ @ @ @ @ @ @@ @ @ @ @@ @ @ @ @@ @ @ @ @ @ @@ @ @ @@ @ @
1) 计算机应该采用二进制,与十进制相比,二进制的结构简单,容易实现和控制。
@ @@ @ @ @ @ @ @@ @ @ @@ @ @ @ @ @ @@ @ @ @ @ @ @ @@ @ @@
机器指令系统构成机器语言(machine language) ,机器指令和计算机硬件直接联系。学习
存储器存放程序及原始数据。运算器进行各种算术运算和逻辑运算。控制器控制和指挥整
冯・诺依曼型计算机的典型系统结构由五个部分组成,它们是运算器、控制器、存储器、
例如, “01H 1000H”是一条机器指令,其中01H是操作码,1000H是操作数。具体意思是:
下三个内容:
出设备输出或打印计算结果。 通过某种程序语言实现的算法。 1. 程序存储思想和计算机组成
输入设备和输出设备(如图1-1所示) 。 2) 操作指令也是一种信息,和数据存储形式完全相同。
@ @ @ @ @@ @ @@ @@ @@ @@ @? ? @ @@ @@ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @e e? ?@ @@ @@ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @e e? ?@ @@ @@ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @e e? ?@ @@ @@ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @e e? ?@ @@ @@ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @e e? ?@ @@ @@ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @e e? ?@ @@ @@ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @e e? ?@ @@ @@ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @e e? ?@ @@ @@ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @e e? ?@ @@ @@ @@ @@ @@ @@ @@ @? ? @ ? @@ @ ? @ @? ? @ @ @@ @? ? @ @ @ @ @@ @@ @@ @@ @@ @@ @ g @ g@ @ @ g @@ @ g @ g@ @@ @ g
@ @ @ @@ @ @ @@ @ @ @@ @ @@ @ @ @ @ @ @@ @ @ @ @ @ @@ @ @
@ @ @ @ @ @@ @ @ @ @ @ @@ @ @ @@ @ @ @ @ @ @@ @ @ @ @@ @ @
@@ @ @ @ @ @ @@ @ @ @ @@ @ @ @ @@ @ @ @ @ @ @@ @ @ @@ @ @
V{tÑàxÜD
@ @ @ @@ @ @ @ @ @ @ @@ @ @@ @ @ @ @ @ @@ @ @ @ @ @ @@ @ @
1章
@ @ @ @ @ @@ @ @ @ @ @ @@ @ @ @@ @ @ @ @ @ @@ @ @ @ @@ @ @ @@ @ @ @ @ @ @@ @ @ @ @@ @ @
1.1 计算机组成及工作过程
机器语言的同时,也就是在学习计算机的组成和工作过程。
@ @@ @ @ @ @ @ @@ @ @ @ @@ @ @ @@ @ @ @ @ @ @@ @ @ @ @@ @ @ @ @ @@ @ @ @@ @ @ @@ @ @@ @ @ @ @@ @ @ @@ @ @ @@ @ @@ @ @ @ @ @ @@ @ @ @ @ @ @@ @ @ @ @ @ @ @ @@ @ @ @ @ @ @@ @ @ @@ @ @ @ @ @ @@ @ @ @@ @ @ @ @@ @ @ @ @ @ @@ @ @ @@ @ @ @ @ @@ @ @ @ @ @@ @ @ @@ @ @@ @ @@ @ @ @ @ @@ @ @ @@ @ @@ @ @ @ @ @ @@ @ @ @ @ @@ @ @@ @ @ @ @ @ @@ @ @ @ @ @@ @ @@ @@ @ @ @ @@ @ @ @ @ @ @@ @ @
两部分,前者是操作内容,后者一般是数据所在的存储单元地址,有时直接就是数据。
取出地址为1000H的存储单元中的数据,存入CPU的寄存器A中。

@@ @ @ @ @@ @ @ @ @ @ @@ @ @ @@ @ @ @ @ @ @ @@ @ @ @@ @ @
@@ @ @ @ @ @ @ @@ @ @ @@ @ @ @ @ @ @@ @ @ @@ @ @ @@ @ @@
机器语言简介
3
寄存器 A(累加器) F(标志寄存器) PC(程序计数器) SP(堆栈指示器) IX(变址寄存器) IY(变址寄存器) … … …
存储器 程序区 … … 数据区 … … 栈 … … Sn S n-1 M S4 S3 S2 S1
图1-2 Z80编程模型图
图1-3 栈结构示意图
CPU中的寄存器有两类:通用寄存器和专用寄存器。通用寄存器是运算器的组成部分,用 来暂存操作数及运算的中间结果。从本章的需要出发,我们重点介绍以下专用寄存器。 A 是一个 8 位寄存器,一般称为 累加器 。它与运算器 ALU 一起完成各种运算。 ALU 是一个 组合逻辑电路,本身不能保留信息,只有与 A 寄存器一起才能完成各种运算。累加器 A 在运算 前向ALU提供操作数,运算后暂存运算结果。 F是一个8位寄存器,一般称为标志寄存器。它与累加器A相连,记录运算结果的某些特征, 以此作为控制程序流程转向的依据。 PC 为 16 位寄存器,一般称为 程序计数器 。程序是一组指令,这组指令一般都连续存放在 存储器的程序存储区中。 PC 用来寄存指令的地址。 CPU 通过 PC 取出一条指令执行时, PC 便 “指向”下一条指令,即 PC 的值变为下一条指令的地址。比如,取出的一条指令占 2 个字节, 取出这条指令之后, PC 的值自动加 2 。除非遇到转移指令或子程序调用指令,否则 CPU 都是通 过PC顺序地提取指令。 SP 为 16 位寄存器,一般称为 堆栈指示器 。 SP 的值始终是栈顶元素的地址,随着数据的存 入和删除,SP的值自动改变。 IX 和 IY 是两个独立的 16 位 变址寄存器 ,通常包含一个基地址(这个地址是根据需要写入 的,一般在程序的首部通过赋值完成) ,由基地址加上偏移量(在程序运行中给出)形成操作 数的实际地址。 4. 计算机工作过程 程序是机器指令的有穷序列,机器指令联系着存储器和 CPU。下面我们通过一个程序,了 解计算机组成原理和工作过程。这是一个简单的求和程序:
机器语言简介
个运算过程,使程序中的指令按要求一条一条地执行。输入设备输入指令代码和原始数据。输 思想的人是冯・诺依曼,他用计算机硬件实现了一些简单的操作,每一个操作都用一条机器指 将一个复杂的计算分解为这些操作。他设计出了第一台理论上的计算机——图灵机。实现这个 提供创建存储模式的机制。程序语言正是在这个意义上被称为编程工具的。因此可以说程序是 美国普林斯顿大学的冯・诺依曼于 1945年提出的计算机体系结构设计思想,一般称为“程 3) 程序由机器指令组成,存储在计算机存储器中。每一条机器指令包含操作码和操作数 最先提出计算机设计思想的人是图灵,他提出,应该用机器保留一些最简单的操作,然后 令表示。计算机指令系统构成第一个程序语言—机器语言。机器语言的特点是它的指令直接 操作的存在形式,这些形式可以被计算机直接或间接地识别;所谓算法是指求解可计算性问题 序存储思想 ” 。计算机从 1946 年问世至今都是以这种思想为基本依据的。这个思想主要包含如 计算机程序是在某种存储模式上实现的算法。所谓存储模式是指数据和对数据的一些基本 联系着计算机硬件设施,因此,学习机器语言程序的同时也是在学习计算机的组成和工作过程。 的有限步骤,每一步骤可以转化为基本操作的有穷序列。程序语言提供存储模式的表示方式,
@ @ ? h @ @ @ ? h @@ @ @ @ ? h @ @ ? h@ @ @ @@ @ ? @ @ @ ?h h @@ @ @@ @@ @ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @e e? ?@ @@ @@ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @e e? ?@ @@ @@ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @e e? ?@ @@ @@ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @e e? ?@ @@ @@ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @e e? ?@ @@ @@ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @e e? ?@ @@ @@ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @e e? ?@ @@ @@ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @e e? ?@ @@ @@ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @e e? ?@ @@ @@ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @? ?e e@ @@ @@ @@ @@ @@ @@ @@ @
表 1-1 4 位二进制数和1 位十六进制数的对应表
二进制 0000 0001 0010 0011 十六进制 0 1 2 3 二进制 0100 0101 0110 0111 十六进制 4 5 6 7 二进制 1000 1001 1010 1011 十六进制 8 9 a b 二进制 1100 1101 1110 1111 十六进制 c d e f
存储器分为程序存储区、数据存储区和栈(如图 1-2 所示) 。 CPU 通过地址总线发出相应的 地址,选中存储器的某一字节即存储单元,然后通过数据总线读写该单元中的数据。 在存储器中特别划分出一块区域,称为 栈 ,其特点是存取数据都在一端,该端称为 栈顶 (如图1-3所示) 。栈的存取不需要计算地址,因此速度快,可以作为寄存器的补充。 3. CPU 运算器和控制器合称为中央处理器,简称 CPU 。 CPU 通过数据总线与存储器及接口交换 数据。 在CPU中设有寄存器,它们与运算器或控制器直接相连,可以存放数据或计算的中间结果 (如图 1-2 ) 。因为不通过地址总线和数据总线,所以寄存器的数据存取速度快。但是寄存器不 能无限制增加,否则会影响速度。
2
第1章
CPU
地址总线 输入设备 存储器 接口 输出设备
运算器
控制器
数据总线 控制总线
图1-1 计算机系统结构框图
2. 存储器和地址 存储器由存储单元组成,每一个存储单元称为一个字节( 1B ) ,存储器就是字节序列。一 个字节有8位,存放8位二进制信息。每个字节有一个编号,称为地址(码) 。 存储器的大小是指它有多少字节。每个字节相当于一套房子,有多少套房子,就应该有多 少个地址;反之,有多少个地址,就有多少套房子。地址总线的多少决定了地址的多少,也就 是字节的多少。设有 16 根地址总线,如果一根地址线有脉冲信号时表示 1 ,没有脉冲信号时表 示0,那么16根地址总线可以表示216个地址,这就是说存储器最多可具有216个字节。 例如, 1000000000000000 表示第 1 根地址线有脉冲信号,其他地址线没有脉冲信号,它代 表一个二进制数表示的地址。这个地址可以用一个4位十六进制数简单地表示为 8000H(H代表 十六进制) 。 4位二进制数共有16个可能值, 和1位十六进制数的16个可能值一一对应 (见表1-1) 。 这个一一对应关系可以将一个 16 位二进制数简单地表示为一个 4 位十六进制数。使用十六进制 数仅仅为了简洁。类似地,如果有 32 根地址线,那么 32 位二进制地址可以用 8 位十六进制来自百度文库简 洁地表示。
相关文档
最新文档