计算机组成原理与汇编语言程序设计第4章2
计算机组成原理第五版 白中英(详细)第4章习题参考答案

第4章习题参考答案1.ASCII码是7位,如果设计主存单元字长为32位,指令字长为12位,是否合理?为什么?答:不合理。
指令最好半字长或单字长,设16位比较合适。
一个字符的ASCII 是7位,如果设计主存单元字长为32位,则一个单元可以放四个字符,这也是可以的,只是在存取单个字符时,要多花些时间而已,不过,一条指令至少占一个单元,但只占一个单元的12位,而另20位就浪费了,这样看来就不合理,因为通常单字长指令很多,浪费也就很大了。
2.假设某计算机指令长度为32位,具有双操作数、单操作数、无操作数三类指令形式,指令系统共有70条指令,请设计满足要求的指令格式。
答:字长32位,指令系统共有70条指令,所以其操作码至少需要7位。
双操作数指令单操作数指令无操作数指令3.指令格式结构如下所示,试分析指令格式及寻址方式特点。
答:该指令格式及寻址方式特点如下:(1) 单字长二地址指令。
(2) 操作码字段OP可以指定26=64种操作。
(3) 源和目标都是通用寄存器(可分指向16个寄存器)所以是RR型指令,即两个操作数均在寄存器中。
(4) 这种指令结构常用于RR之间的数据传送及算术逻辑运算类指令。
4.指令格式结构如下所示,试分析指令格式及寻址方式特点。
15 10 9 8 7 4 3 0答:该指令格式及寻址方式特点如下:(1)双字长二地址指令,用于访问存储器。
(2)操作码字段OP可以指定26=64种操作。
(3)RS型指令,一个操作数在通用寄存器(选择16个之一),另一个操作数在主存中。
有效地址可通过变址寻址求得,即有效地址等于变址寄存器(选择16个之一)内容加上位移量。
5.指令格式结构如下所示,试分析指令格式及寻址方式特点。
答:该指令格式及寻址方式特点如下:(1)该指令为单字长双操作数指令,源操作数和目的操作数均由寻址方式和寄存器构成,寄存器均有8个,寻址方式均有8种。
根据寻址方式的不同,指令可以是RR型、RS型、也可以是SS型;(2)因为OP为4位,所以最多可以有16种操作。
《计算机组成原理》教程第4章指令系统

4
二 指令的格式
即指令字用二进制代码表示的结构形式
包括 操作码:操作的性质 操作码 地址码:操作数(operand)的存储位置,即参加操作的 operand , 地址码 数据的地址和结果数的地址
操作码域(op) 地址码域(addr)
5
1.操作码 操作码
指令的操作码表示该指令应进行什么性质的操作。 组成操作码字段的位数一般取决于计算机指令系统的 规模。 固定长度操作码:便于译码,扩展性差 . 可变长度操作码:能缩短指令平均长度 操作码的的位数决定了所能表示的操作数,n位操 作码最多表示2n种操作
(2). 堆栈工作过程 .
(一)进栈操作 ① 建立堆栈,由指令把栈顶地址送入SP,指针 指向栈顶。 ② 进栈:(A)→Msp, (sp)-1→SP ;Msp:存储 器的栈顶单元 (二)出栈操作 (SP)+1→SP, (Msp)→A
22
五.指令类型
一个较完善的指令系统应当包括: 数据传送类指令: 例)move、load、store等 算术运算类指令: 例)add、sub、mult、div、comp等 移位操作类指令: 例) shl,shr,srl,srr 逻辑运算类指令: 例)and、or、xor、not等 程序控制类指令: 例)jump、branch、jsr、ret、int等 输入输出指令: 例)in、out等 字符串类指令: 例)如alpha中cmpbge、inswh、extbl等 系统控制类指令: 例)push、pop、test等
18
10) *段寻址方式 段寻址方式 Intel 8086 CPU中采用了段寻址方式(基址寻址的特例)。 由16位段寄存器和16位偏移量产生20位物理地址 11)*自动变址寻址 自动变址寻址 指在变址方式中,每经过一次变址运算时,都自动改变变址寄存 器的内容,以后在PDP-11中详讲.
第4章指令系统层习题参考解答-汇编语言与计算机组成原理 答案

1.什么是“程序可见”的寄存器?程序可见寄存器是指在用户程序中用到的寄存器,它们由指令来指定。
2. 80x86微处理器的基本结构寄存器组包括那些寄存器?各有何用途?基本结构寄存器组按用途分为通用寄存器、专用寄存器和段寄存器3类。
通用寄存器存放操作数或用作地址指针;专用寄存器有EIP和EFLAGS,分别存放将要执行的下一条指令的偏移地址和条件码标志、控制标志和系统标志;段寄存器存放段基址或段选择子。
3.80x86微处理器标志寄存器中各标志位有什么意义?常用的7位:CF进位标志: 在进行算术运算时,如最高位(对字操作是第15位,对字节操作是第7位)产生进位或借位时,则CF置1;否则置0。
在移位类指令中,CF用来存放移出的代码(0或1)。
PF奇偶标志: 为机器中传送信息时可能产生的代码出错情况提供检验条件。
当操作结果的最低位字节中1的个数为偶数时置1,否则置0。
AF辅助进位标志: 在进行算术运算时,如低字节中低4位(第3位向第4位)产生进位或借位时,则AF置1;否则AF置0。
ZF零标志:如指令执行结果各位全为0时,则ZF置1;否则ZF置0。
SF符号标志:其值等于运算结果的最高位。
如果把指令执行结果看作带符号数,就是结果为负,SF置1;结果为正,SF置0。
OF溢出标志: 将参加算术运算的数看作带符号数,如运算结果超出补码表示数的范围N,即溢出时,则OF置1;否则OF置0。
DF方向标志: 用于串处理指令中控制处理信息的方向。
当DF位为1时,每次操作后使变址寄存器SI和DI减小;当DF位为0时,则使SI和DI增大,使串处理从低地址向高地址方向处理。
4.画出示意图,简述实模式下存储器寻址的过程。
20位物理地址如下计算(CPU中自动完成):10H×段基址+偏移地址=物理地址5. 画出示意图,简述保护模式下(无分页机制)存储器寻址的过程。
采用对用户程序透明的机制由选择子从描述子表中选择相应的描述子,得到欲访问段的段基址、段限等有关信息,再根据偏移地址访问目标存储单元。
计算机组成原理-第4章_指令系统

7. 段寻址方式(Segment Addressing)
方法:E由段寄存器的内容加上段内偏移地址而形成。
应用:微型机采用段寻址方式,20位物理地址为16位 段地址左移四位加上16位偏移量。
分类:① 段内直接寻址; ② 段内间接寻址; ③ 段间直接寻址; ④ 段间间接寻址;
9 堆栈寻址方式
堆栈:是一组能存入和取出数据的暂时存储单元。
*** 指令字长度
概念 指令字长度(一个指令字包含二进制代码的位数) 机器字长:计算机能直接处理的二进制数据的位数。 单字长指令 半字长指令 双字长指令
多字长指令的优缺点
优点提供足够的地址位来解决访问内存任何单元的寻址问题 ; 缺点必须两次或多次访问内存以取出一整条指令,降低了CPU的运 算速度,又占用了更多的存储空间。
*** 指令系统的发展与性能要求
*** 指令系统的发展
指令:即机器指令,要计算机执行某种操作的命令。
指令划分:微指令、机器指令和宏指令。
简单
复杂
指令系统:一台计算机中所有指令的集合;是表征
计算机性能的重要因素。
系列计算机:基本指令系统相同、基本体系结构相同 的一系列计算机。
*** 对指令系统性能的要求
(2)立即数只能作为源操作数,立即寻址主要用来给寄存 器或存储器赋初值。以A~F开头的数字出现在指令中时,前 面要加0。
(3)速度快(操作数直接在指令中,不需要运行总线周期)
(4)立即数作为指令操作码的一部分与操作码一起放在代 码段区域中。
(5)指令的长度(翻译成机器语言后)较长,灵活性较差。
【例】MOV AX, 10H 执行后(AX)=? 其中:这是一条字操作指令,源操作数为立即寻址 方式,立即数为0010H,存放在指令的下两个单元。
计算机组成原理(白中英)第4章指令系统

计算机组成原理(白中英)第4章指令系统指令系统概述寻址方式指令系统20XX年3月15日10时45分概述指令:是指示计算机某种操作的命令。
微指令,机器指令,宏指令指令系统:一台计算机中所有机器指令的集合。
它是机器硬件设计的依据,也是软件设计的基础。
它决定了一台计算机硬件的主要性能和基本功能。
是硬件和软件间的界面。
系列计算机:有共同的指令集,相同的基本体系结构。
CISC和*****X年3月15日10时45分2一个完善的指令系统应满足:1.完备性:指令丰富,功能齐全,使用方便。
1.完备性:指令丰富,功能齐全,使用方便。
完备性 2.有效性程序占空间小,执行速度快。
有效性: 2.有效性:程序占空间小,执行速度快。
3.规整性对称性,匀齐性,规整性:3.规整性:对称性,匀齐性,指令格式和数据格式的一致性。
据格式的一致性。
4.兼容性兼容性:4.兼容性:向上兼容”----系列机中低档机上运行“向上兼容”----系列机中低档机上运行的软件可以在高档机上运行。
的软件可以在高档机上运行。
20XX年3月15日10时45分计算机语言与硬件结构的关系高级语言的语句和用法与具体机器的指令系统无关;低级语言分机器语言和汇编语言,他们和具体机低级语言分机器语言和汇编语言,器的指令系统密切相关。
器的指令系统密切相关。
汇编语言与硬件的关系密切,编写的程序紧凑、汇编语言与硬件的关系密切,编写的程序紧凑、占内存小、速度快,占内存小、速度快,特别适合与编写经常与硬件打交道的系统软件;打交道的系统软件;而高级语言不涉及机器的硬件结构,通用性强、编写程序容易,件结构,通用性强、编写程序容易,特别适合与编写与硬件没有直接关系的应用软件。
编写与硬件没有直接关系的应用软件。
20XX年3月15日10时45分4概述机器指令的要素C C C C 操作码源操作数目的操作数下一条指令的引用指令字(简称指令)即表示一条指令的机器字。
指令字(简称指令)即表示一条指令的机器字。
《计算机组成原理与汇编语言程序设计》教学探讨

《 算 机 组 成 原 理 与 汇 编 语 言 程 序 设 计 计 》 计 算 机 专 业 及 相 关 专 业 学 生 普 遍 重 与 视 的 软 件 类 课 程 有 很 大 的 区 别 , 主 要 要 它 求学生从C PU级 别 掌 握 C PU的 组成 、 令 指 流 程 、 而 掌 握 C U如 何 通 过 系 统 总 线 与 进 P 主 存 以 及 外 部 设 备 构 成 整机 以及 汇 编 语 言 程 序 设 计 方 法 。 是 属 于 硬 件 类 专 业 基 础 它 课 。 算 机 组 成 原 理部 分 理 论 性 较 强 , 计 概念 抽 象 , 要扎 实 的数 字 逻 辑 电路 基 础 , 需 可数 字逻 辑 电路 往 往 是 学 生 门 的 弱 点 , 因此 很 难 激 发 学 生 们 的 兴 趣 ; 汇 编 语 言 是 计 算 而 机语 言 中的 低 级 语 言 , 件 依赖 性 很 高 , 硬 指 令 系 统 中 与计 算 机 硬 件 结 构 、 作 原 理 相 工 关 的 内 容 很 多 , 于 硬 件 知 识 了 解 少 的学 对 生 来说 , 难 理 解 。 加 之随 着新 的 计 算 机 很 再 知 识 的 不 断 涌 入 , 可 避 免 开 设 一 些 计 算 不 机 新 课 程 导致 缩减 了该 门课 程 教 学 时 间缩 短 。 样造 成 了该 门 课 的 难 教难 学 的 局 面 。 这
《 算 机 组 成 原 理 与 汇 编 语 言 程 序 设 计 计 》 程 是 高校 计 算 机 软 、 件 及应 用专 业 课 硬 以及 相 关 专 业 学 生 必 修 的 专 业 基础 课程 之 是 操 作 系 统 、 机 接 1等 其 它 课 程 的 必 微 3 : 要 先 修 课 , 于 训 练 学 生 掌 握 单 台 计 算 机 对 基 本 组 成 原 理 与 内 部 运 行 机 制 、 编 语 言 汇 程序 设 计 技 术 有 着 重要 作 用 。
《计算机组成原理与汇编语言程序设计》教学探讨

《计算机组成原理与汇编语言程序设计》教学探讨摘要:为了提高教学水平,完善教学质量,本文对计算机组成原理与汇编语言程序设计课程的教学进行了一系列的探讨,提出了在高校计算机专业的计算机组成原理与汇编语言程序设计的课程教学中如何改进教学方法来激发学生们的学习兴趣、指导学生有效轻松学习该课程的几点措施。
关键词:启发式教学法案例教学法对比法多媒体教学实验教学《计算机组成原理与汇编语言程序设计》课程是高校计算机软、硬件及应用专业以及相关专业学生必修的专业基础课程之一,是操作系统、微机接口等其它课程的必要先修课,对于训练学生掌握单台计算机基本组成原理与内部运行机制、汇编语言程序设计技术有着重要作用。
1 课程特点和存在的问题《计算机组成原理与汇编语言程序设计》与计算机专业及相关专业学生普遍重视的软件类课程有很大的区别,它主要要求学生从CPU 级别掌握CPU的组成、指令流程、进而掌握CPU如何通过系统总线与主存以及外部设备构成整机以及汇编语言程序设计方法。
它是属于硬件类专业基础课。
计算机组成原理部分理论性较强,概念抽象,需要扎实的数字逻辑电路基础,可数字逻辑电路往往是学生门的弱点,因此很难激发学生们的兴趣;而汇编语言是计算机语言中的低级语言,硬件依赖性很高,指令系统中与计算机硬件结构、工作原理相关的内容很多,对于硬件知识了解少的学生来说,很难理解。
再加之随着新的计算机知识的不断涌入,不可避免开设一些计算机新课程导致缩减了该门课程教学时间缩短。
这样造成了该门课的难教难学的局面。
2 教学方法中的一些探索建议通过对上述难点的分析和结合自身的教学经验,对《计算机组成原理和汇编语言程序设计》的教学方法提出几点建议,目的是在现有的资源下,调动学生积极性,让学生能更好将《计算机组成原理与汇编语言程序设计》这门课程学好。
2.1 采用启发式教学方法启发式教学法就是教师启发学生积极思维、让学生主动掌握知识。
为了达到最好效果,我们课前做了充分备课,在上课过程中我们注重把所讲知识用相应的思维方法串起来,熟练的表达出来,使学生感到这些知识是从教师大脑思维中自然流出来的,从而集中精力,跟随教师的思维一起思考,掌握所学知识和相应的思维方法。
计算机组成原理与汇编语言

十进 十六进 8 8 9 9 10 A 11 B 12 C 13 D 14 E 15 F
计 算 机 组 成 原 理 与 汇 编 语 言
二进 0000 0001 0010 0011 0100 0101 0110 0111
十进 0 1 2 3 4 5 6 7
二进 1000 1001 1010 1011 1100 1101 1110 1111
计 算 机 组 成 原 理 与 汇 编 语 言
基本字长 指参与运算的操作数的 基本位数;决定通用寄存器、加法 器和数据总线等部件的宽度。
位 字节 字
主存容量 主存储器所能够存储的全 部信息总量。
K=1024 M=1024K G=1024M
计 算 机 组 成 原 理 与 汇 编 语 言
(1101.1101)2
综合结果为
(13.8125)10
计 算 机 组 成 原 理 与 汇 编 语 言
二进,八进,十六进
按N展开式求和
例 :
十进
(11001.101)2
(27451.12)8 (2AD.1C)16
计 算 机 组 成 原 理 与 汇 编 语 言
(11001.101)2
=1*2 4 +1*2 3 +0*2 2
十进 8 9 10 11 12 13 14 15
计 算 机 组 成 原 理 与 汇 编 语 言
数制间转换 原则:整数变整数,小数变小数;
十进
二进
整数部分:除2取余倒排,直到商为0
; 小数部分:乘2取整,直到小数位为0 ; 例: (13.8125)10
计 算 机 组 成 原 理 与 汇 编 语 言
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PF(Parity Flag) 奇偶标志。用来为机器中传送信息时可能产生 的代码出错情况提供检验条件。当运算结果中1的个数为偶数时置1, 否则置0。
② 控制标志位1位
DF(Direction Flag)方向标志,用来在串处理指令 中控制处理信息的方向。当DF位为1时,每次操作后使变 址寄存器SI和DI减小,这样就使串处理从高地址向低地址 方向处理。当DF位为0时,则使SI和DI增大,使串处理从 低地址向高地址方向处理。
③ 系统标志位有10位:
TF(Trap Flag) 陷阱标志,用于调试时的单步方式 操作。
IF(Interrupt Flag) 中断标志 。
IOPL(I/O Privilege Level) I/O特权级标志 。
NT(Nested Task) 嵌套任务标志,用来表示当前的 任务是否嵌套在另一任务内。
RF(Resume Flag) 恢复标志位,它与调试寄存器 的断点一起使用,以保证不重复处理断点。
80386及其后继机型的指令指针寄存器EIP和标志寄存器EFLAGS 是32位的,其作用和相应的16位寄存器相同。
: 下图说明了80x86 CPU中标志寄存器的内容
① 条件码标志包括以下6位:
OF(Over Flow Flag) 溢出标志。将参加算术运算的数看作带符 号数,如运算结果超出补码表示数的范围N,即溢出时,则OF置1; 否则OF置0。对于字节运算有128≤N≤+127;对于字运算有 32768≤N≤+32767。
1822:0003 8ED8 MOV DS,AX
(3)段寄存器
段寄存器用于存储器寻址,用来直接或间接地存放段 地址。段寄存器的长度为16位,在80286以前的处理器中 ,只有代码段CS(Code Segment)、数据段DS(Data Segment)、堆栈段SS(Stack Segment)和附加段ES( ExtrGS 两个段寄存器,它们也属于附加的数据段。有关段寄存器 的使用将在下一节中说明。
AX(Accumulator)作为累加器用。在乘除等指令中指定用来存 放操作数。另外,所有的I/O 指令都使用这一寄存器与外部设备传送 信息。
BX(Base)可以作为通用寄存器使用。此外,在计算存储器地址 时,它经常用作基址寄存器。
CX(Count)可以作为通用寄存器使用。此外,它还常用来保存 计数值,如在移位指令、循环(LOOP)和串处理指令中用作隐含的 计数器。
4.2 80x86 CPU的寄存器和主存储器
4.2.1 80x86 CPU的寄存器
1.80x86 CPU的寄存器分类
80x86 CPU的内部寄存器可分为以下3大类:
基本结构寄存器组 :通用寄存器、指令指针寄存器、标志寄存
器、段寄存器。
系统级寄存器组 :系统地址寄存器、控制寄存器、测试寄存器
、调试寄存器。
浮点寄存器组 :数据寄存器、标记字寄存器、指令和数据指针寄
存器、控制字寄存器。
2.基本结构寄存器组
基本结构寄存器组如 右图所示:
通用寄存器; 指令指针寄存器; 标志寄存器; 段寄存器 。
(1)通用寄存器
图中除阴影区以外的寄存器是8086/8088和80286所具有的寄存器 ,它们都是16位寄存器。其中4个16位的寄存器AX、BX、CX、DX 可称为数据寄存器。这4个寄存器都是通用寄存器,但它们又可以用 于各自的专用目的。
DX可以作为通用寄存器使用。一般在做双字长运算时把DX和AX 组合在一起存放一个双字长数,DX用来存放高位字。此外,对某些 I/O 操作,DX可用来存放I/O 的端口地址。
SP、BP、DI、SI 这4个16位寄存器可以像数据寄存器一样在运算 过程中存放操作数,但它们只能以字(16位)为单位使用。此外,它 们更经常的用途是在存储器寻址时,提供偏移地址。因此,可称它们 为指针或变址寄存器。
VM(Virtual-8086 Mode) 虚拟8086模式位 。
AC(Alignment Check mode) 对准检查方式位 。
VIF(Virtual Interrupt Flag) 虚拟中断标志。
VIP(Virtual Interrupt Pending flag) 虚拟中断未决 标志。
ID(IDentification flag) 标识标志,程序有设置和 清除ID标识的能力,以指示处理机对CPU ID指令的支持 。
SF(Sign Flag) 符号标志。把指令执行结果看作带符号数,如结 果为负,则SF置1;结果为正,则SF置0。
ZF(Zero Flag) 零标志。如指令执行结果各位全为0时,则ZF置 1;否则ZF置0。
CF(Carry Flag) 进位标志。在进行算术运算时,如最高位( 对字操作是第15位,对字节操作是第7位)产生进位或借位时,则CF 置1;否则置0。在移位类指令中,CF用来存放移出的代码(0或1) 。
4.2.2 80x86的主存储器
1.存储单元的地址和内容
AX102A在B调X试000程0 序CXD0E1B00UDGX中0提000供SP了0测04试0 B标P志00位00 的SI手00段00,DI它0000 DS用152符8 号ES表14示28某SS些1标723志C位S的182值2 I:P0003 NV UP DI PL NZ NA PO NC
(2)指令指针寄存器和标志寄存器
IP(Instruction Pointer)为指令指针寄存器,它用来存放代码段 中的偏移地址。IP作为指令的地址指针,其作用类似于其他计算机中 的程序计数器PC,当现行指令执行完毕时,由IP提供下一条指令地 址。
FLAGS为标志寄存器,又称PSW(Program Status Word),即 程序状态寄存器。这是一个存放条件码标志、控制标志和系统标志的 寄存器。