微机原理、汇编语言与接口技术
五邑大学16/32位微机原理、汇编语言及接口技术钱晓捷第2章-2

寻址方式——指CPU获得操作数的方法 操作数的存放位置: 1)在指令中,2)在寄存器中,3)在内存中
从8088/8086的指令格式入手,
立即数寻址方式 寄存器寻址方式 存储器寻址方式
进而熟悉8088/8086汇编语言指令格式,尤 其是其中操作数的表达方法 为展开8088/8086指令系统做好准备
寄存器名表示其内容(操作数)
MOV AX, BX
;AX←(BX)
演示
微机系统与接口技术
7
2.2.3 存储器寻址方式
操作数在主存储器中,用主存地址表示 程序设计时,8088采用逻辑地址表示主存地址
段地址在默认的或用段超越前缀指定的段寄存器中 指令中只需给出操作数的偏移地址(有效地址EA)
8086设计了多种存储器寻址方式 1、直接寻址方式 2、寄存器间接寻址方式 3、寄存器相对寻址方式 4、基址变址寻址方式 5、相对基址变址寻址方式
微机系统与接口技术
1
指令的组成 操作码 操要执行哪种操作,如传送、运算、 移位、跳转等操作,它是指令中不可缺少的组成部 分 操作数是指令执行的参与者,即各种操作的对象 有些指令不需要操作数,通常的指令都有一个或两 个操作数,也有个别指令有3个甚至4个操作数
微机系统与接口技术
14
相对寻址方式中的位移量
在寄存器相对和相对基址变址寻址方式中,其位
移量不仅可用常量表示,也可用符号表示 这个符号可以是变量名,例如 WVAR 变量,而且 支持多种表达形式 MOV AX, [DI+WVAR] ; ;等同于 MOV AX, WVAR[DI] MOV AX,[BX+SI+WVAR] ;等同于 MOV AX, [SI+WVAR] ;等同于 MOV AX, WVAR[BX+SI] ;等同于 MOV AX, WVAR[BX][SI]
16、32位微机原理、汇编语言与接口技术教程课后复习题答案

《16/32 位微机原理、汇编语言及接口技术教程》部分习题参考解答第 1 章微型计算机系统概述〔习题 1.2 〕什么是通用微处理器、单片机(微控制器)、DSP芯片、嵌入式系统?〔解答〕通用微处理器:适合较广的应用领域的微处理器,例如装在PC 机、笔记本电脑、工作站、服务器上的微处理器。
单片机:是指通常用于控制领域的微处理器芯片,其部除CPU外还集成了计算机的其他一些主要部件,只需配上少量的外部电路和设备,就可以构成具体的应用系统。
DSP芯片:称数字信号处理器,也是一种微控制器,其更适合处理高速的数字信号,部集成有高速乘法器,能够进行快速乘法和加法运算。
嵌入式系统:利用微控制器、数字信号处理器或通用微处理器,结合具体应用构成的控制系统,其典型的特点是把计算机直接嵌入到应用系统之中。
〔习题 1.5 〕说明微型计算机系统的硬件组成及各部分作用。
〔解答〕CPU CPU也称处理器,是微机的核心。
它采用大规模集成电路芯片,芯片集成了控制器、运算器和若干高速存储单元(即寄存器)。
处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。
存储器:存储器是存放程序和数据的部件。
外部设备:外部设备是指可与微机进行交互的输入(Input )设备和输出(Output )设备,也称I/O 设备。
I/O 设备通过I/O 接口与主机连接。
总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。
习题 1.6 〕什么是总线?微机总线通常有哪 3 组信号?各组信号的作用是什么?解答〕总线:传递信息的共用通道,物理上是一组公用导线。
3 组信号线:数据总线、地址总线和控制总线。
I/O 端口的地址信息。
1)地址总线:传输将要访问的主存单元或2)数据总线:传输读写操作的数据信息。
3)控制总线:协调系统中各部件的操作。
〔习题 1.7 〕简答如下概念:(1)计算机字长(2)取指-译码-执行周期(3)ROM-BIOS(4)中断(5)ISA 总线〔解答〕(1)处理器每个单位时间可以处理的二进制数据位数称计算机字长。
微机原理与接口技术汇编语言程序设计

⑴汇编语言是机器语言的符号表示语言,因此,程序设 计人员可以充分利用机器硬件的全部功能,发挥机器的 长处。
⑵现在的微机系统中,底层的一些功能仍然靠 汇编语言程序来实现。例如机器的自检、系统初始化、 实际的输入输出操作,至今仍然是用汇编语言编制的 程序来完成。 ⑶汇编语言程序的效率通常高于高级语言程序。 所以在节省内存空间和提高程序运行速度的重要场合, 如实时控制,常常使用汇编语言来编制的。 鉴于以上理由,现在许多高级语言都设置有与 汇编语言程序接口的功能,以便于提高高级语言程序 的效率。
§4.3伪指令(伪操作)
伪指令是一种说明性语句,它本身不产生对应的机
器目标代码,它仅仅是告诉汇编程序,对后面的指令语 句和伪指令语句的操作数应该如何产生机器目标代码, 每条伪指令共分四边个字段:
伪致可以分为以下几类:
一、数据定义伪指令
[变量名] DB DW DD 操作数
变量也有三种属性:段、偏移量和类型。 ① 变量的段属性是变量所代表的数据区所在段的段
地址。由于数据区一般在存储器的数据段中,因此变
量的段地址常常在DS和ES寄存器中。 ② 变量的偏移量属性是该变量所在段的起始地址与 变量的地址之间的字节数。 ③ 变 量 的 类 型 属 性 有 BYTE( 字 节 ) 、 WORD
四、段定义伪指令 SEGMENT
段名 SEGMENT [定位类型][组合类型][‘类别名’] …... 段名 ENDS
段名:是逻辑段的标识符,不可缺省,表示逻辑段在存储器中
的地址, SEGMENT 和ENDS前的段名相同。
定位类型:
BYTE 表示该段起始地址可以在存储单元的任何字节地址; WORD 表示该段起始地址必须是偶数即地址末1位为0 ; PARA 表示该段起始地址在节的边界整数上,每16存储单元 为1节即地址末4位为0,定位类型缺省则默认为PARA ; PAGE 表示该段起始地址在页首,每256存储单元为1页即地 址末8位为0 。
微机原理与接口技术汇编语言程序教案

微机原理与接口技术汇编语言程序教案第一章:汇编语言概述1.1 汇编语言的概念让学生了解汇编语言的定义、特点和作用。
让学生掌握汇编语言的基本组成元素,如指令、寄存器、操作数等。
1.2 汇编语言的表示方法让学生了解汇编语言的指令格式和操作数表示方法。
让学生掌握汇编语言的助记符及其含义。
1.3 汇编语言与机器代码的关系让学生了解汇编语言与机器代码的转换过程。
让学生掌握汇编语言指令与机器代码之间的对应关系。
第二章:汇编语言的语法规则2.1 指令语句的语法结构让学生了解指令语句的构成,包括操作码、寄存器、操作数等。
让学生掌握不同类型指令的语法规则,如数据传输指令、算术运算指令等。
2.2 伪指令和宏指令让学生了解伪指令和宏指令的概念及其作用。
让学生掌握伪指令和宏指令的语法规则和使用方法。
2.3 汇编语言的程序结构让学生了解汇编语言程序的组成部分,如数据段、代码段、堆栈段等。
让学生掌握汇编语言程序的格式和编写规范。
第三章:汇编语言的编程技巧3.1 寄存器的使用让学生了解寄存器的作用和分类,如AX、BX、CX、DX等。
让学生掌握寄存器在汇编语言编程中的应用技巧。
3.2 数据传输指令让学生了解数据传输指令的用法,如MOV、PUSH、POP等。
让学生掌握数据传输指令在汇编语言编程中的应用技巧。
3.3 算术运算指令让学生了解算术运算指令的用法,如ADD、SUB、MUL、DIV等。
让学生掌握算术运算指令在汇编语言编程中的应用技巧。
第四章:汇编语言程序设计实例4.1 实例一:计算两个数的和让学生了解程序设计的基本步骤,如编写算法、选择寄存器等。
让学生掌握汇编语言编程的基本技巧,如数据传输、算术运算等。
4.2 实例二:排序算法(冒泡排序)让学生了解排序算法的原理和实现方法。
让学生掌握汇编语言编程中循环结构和条件判断的使用技巧。
4.3 实例三:字符串操作让学生了解字符串的基本操作,如字符串长度计算、字符串复制等。
让学生掌握汇编语言编程中字符串操作的相关指令和技巧。
微机原理、汇编与接口技术103页PPT

25、学习是劳动,是充满思想的劳动。——乌申斯基
谢谢!
微机原理、汇编与接口技术
•
26、我们像鹰一样,生来就是自由的 ,但是 为了生 存,我 们不得 不为自 己7、法律如果不讲道理,即使延续时 间再长 ,也还 是没有 制约力 的。— —爱·科 克
•
28、好法律是由坏风俗创造出来的。 ——马 克罗维 乌斯
•
29、在一切能够接受法律支配的人类 的状态 中,哪 里没有 法律, 那里就 没有自 由。— —洛克
•
30、风俗可以造就法律,也可以废除 法律。 ——塞·约翰逊
21、要知道对好事的称颂过于夸大,也会招来人们的反感轻蔑和嫉妒。——培根 22、业精于勤,荒于嬉;行成于思,毁于随。——韩愈
微机原理 汇编语言与接口技术 (周杰英 著) 人民邮电出版社

h 目的操作数
源操作数
k(1) MOV AX,100
寄存器寻址
立即数寻址
(2) MOV AX,[100]
寄存器寻址
直接寻址
(3) MOV DL,[BP+SI] 寄存器寻址
基址变址寻址
(4) MOV [BX],CX
寄存器间接寻址 寄存器寻址
(5) MOV DX,[SI]
寄存器寻址
寄存器间接寻址
(6) MOV 1234H[BX],DS 寄存器相对寻址 寄存器寻址
www.kh 课d后a答案w网.com
课后答案网
周期来完成 16 位数据的传送,而对于非规则字则用相邻两个总线周期来完成该字的存
储操作,先取其奇地址字节(即数据的低位字节),然后存取偶地址字节。在组成存储
系统 时, 总是偶 地址 单元的 数据 通过 AD0~AD7 传送 ,而 奇地址 单元 的数据 通 过 AD8~AD15 传送,即通过总线高字节传送。 BHE 信号和 A0 信号控制存储器读写见下表:
优点? 解:总线接口部分和执行部分是分开的,每当 EU 执行一条指令时,造成指令队列空出 2 个或空出一个指令字节时 ,BIU 马上从内存中取出下面一条或几条指令,以添满他 的指令队列。这样,一般情况下,CPU 在执行完一条指令后,便可马上执行下一条指 令,不像以往 8 位 CPU 那样,执行完一条指令后,需等待下一条指令。即 EU 从指令队 列中取指令、执行指令和 BIU 补充指令队列的工作是同时进行的。这样大大提高了 CPU 利用率,降低了系统都对存储器速度的要求。
课后答案网
www.kh 课d后a答案w网.com
第一章 绪论
习题与答案
m 1. 把下列二进制数转换成十进制数、十六进制数及 BCD 码形式。 o (1) 10110010B =
微机原理与接口技术汇编语言程序教案
微机原理与接口技术汇编语言程序教案第一章:汇编语言基础1.1 汇编语言简介汇编语言的定义与发展历程汇编语言与机器语言的关系汇编语言的优势与局限性1.2 汇编语言的组成指令、操作码和操作数寄存器、标志寄存器及指令集1.3 汇编语言的语法规则指令格式与操作数寻址方式指令间的符号命名规则数据声明与宏定义第二章:汇编语言编程步骤与实例2.1 汇编语言编程步骤分析需求、确定算法选择合适的寄存器和寻址方式编写汇编代码调试与优化2.2 汇编语言编程实例编写一个简单的加法程序实现一个字符串的逆序输出第三章:微机原理概述3.1 微机的硬件系统结构中央处理器(CPU)存储器输入输出设备3.2 微机的工作过程指令的获取、解码与执行数据的传输与处理3.3 微机的性能指标频率、缓存与内存容量处理速度与功耗第四章:接口技术基础4.1 接口的概念与分类硬件接口与软件接口并行接口与串行接口4.2 接口的技术参数数据宽度、传输速率与协议接口的电气特性与物理形态4.3 接口的设计与实现接口电路的设计方法接口芯片的选择与应用第五章:汇编语言与接口技术的结合5.1 汇编语言与接口编程汇编语言控制接口的方法接口指令与中断处理5.2 实例:汇编语言实现串口通信串口通信的基本原理编写汇编代码实现串口收发数据5.3 实例:汇编语言控制打印机打印机接口的原理与驱动方法编写汇编代码实现打印机控制第六章:汇编语言与中断系统6.1 中断系统概述中断的概念与分类中断处理程序的执行过程6.2 中断向量与中断服务程序中断向量的定义与寻址中断服务程序的编写与调用6.3 汇编语言中断指令与中断编程INT指令的使用方法非屏蔽中断与可屏蔽中断中断编程实例第七章:汇编语言与DMA传输7.1 DMA传输原理DMA的概念与作用DMA与CPU的协同工作方式7.2 DMA控制器与DMA编程DMA控制器的功能与接口DMA编程步骤与指令集7.3 汇编语言实现DMA传输编写DMA服务程序DMA传输过程的监控与调试第八章:汇编语言与A/D转换8.1 A/D转换原理A/D转换器的工作原理与性能指标A/D转换的过程与数据类型8.2 A/D转换器的接口与驱动A/D转换器的接口电路设计A/D转换器的驱动程序编写8.3 汇编语言实现A/D转换编写A/D转换服务程序A/D转换在实际应用中的实现第九章:汇编语言与I/O控制9.1 I/O控制概念与方法I/O控制的概念与分类I/O控制的编程方法与接口9.2 汇编语言I/O指令与编程I/O指令的使用方法与限制端口地址与I/O编程实例9.3 汇编语言实现I/O控制编写I/O服务程序I/O控制应用实例第十章:汇编语言程序设计实践10.1 汇编语言程序设计流程需求分析与算法设计寄存器分配与指令选择代码编写与调试10.2 汇编语言与操作系统应用汇编语言编写系统调用程序汇编语言实现进程管理与同步10.3 汇编语言与设备驱动程序开发设备驱动程序的概念与作用汇编语言编写设备驱动程序的方法与步骤10.4 综合实例:汇编语言实现一个小型的操作系统设计目标与功能需求主要模块与实现方法系统测试与优化第十一章:汇编语言与故障诊断计算机系统故障的类型与等级故障诊断的重要性与挑战11.2 汇编语言在故障诊断中的应用汇编语言诊断程序的特点与优势故障诊断程序的编写方法与步骤11.3 常见故障诊断实例处理器故障的诊断与处理存储器故障的诊断与处理输入输出设备故障的诊断与处理第十二章:汇编语言与性能分析12.1 性能分析的基本概念计算机系统性能的评价指标性能分析的方法与工具12.2 汇编语言程序的性能优化指令选择与优化数据访问与缓存利用程序结构的优化12.3 性能分析实例汇编语言程序性能分析的方法性能瓶颈的识别与改进策略第十三章:汇编语言与安全编程计算机系统安全的重要性常见安全威胁与防护措施13.2 汇编语言程序的安全性汇编语言程序的脆弱性安全编程的最佳实践13.3 安全编程实例汇编语言程序的漏洞分析安全漏洞的修复与防护措施第十四章:汇编语言与嵌入式系统14.1 嵌入式系统的基本概念嵌入式系统的定义与特点嵌入式系统的应用领域14.2 汇编语言在嵌入式系统中的应用嵌入式系统编程的特殊性汇编语言与硬件的紧密耦合14.3 嵌入式系统实例汇编语言编写嵌入式系统程序的方法嵌入式系统程序的调试与优化第十五章:汇编语言与现代计算机体系结构15.1 现代计算机体系结构的发展流水线技术、超标量和超流水线多核处理器与并行计算15.2 汇编语言与现代计算机体系结构的适配汇编语言在多核处理器上的编程汇编语言与向量处理器的接口15.3 现代计算机体系结构下的汇编语言编程汇编语言程序在现代计算机上的优化面向现代计算机体系结构的汇编语言编程实例重点和难点解析本文主要介绍了汇编语言程序设计、微机原理与接口技术的相关知识。
[计算机硬件及网络]微机原理与接口技术汇编语言程序设计
ORG 200H
;目标程序的偏移量
DATA SEGMENT
;数据段开始
指令性语句和指示性语句的最大区别就是指示性 语句在标识符和伪指令助记符没有冒号
4.2 汇编语言程序结构
段定义伪指令SEGMENT、ENDS、ASSUME
伪指令SEGMENT和ENDS总是成对出现。SEGMENT用来定义 段开始,ENDS是来定义段结束。这一段伪指令可以将源程序 分为几个段,通常为数据段,堆栈段和代码段。
汇编语句语句格式
指令性语句的格式如下:
<标识符:> 指令助记符 目标操作数 <,源操作数> <;注释>
START: MOV AX,1090H
;将16进制数1090H送入AX
INC BX
指示性语句的格式如下:
<标识符> 伪指令助记符 <操作数1,操作数2…> <;注释>
CR DB ODH
;在字节单元CR处存放数据0DH
段,所以错误信息并不
←“no stack segment”
影响程序正常执行。
DEBUG和MASM的区别
DEBUG是调试器,它的主要用途在于除错,能够 观察每条汇编语句运行后的结果,方便的修正汇编 程序中的错误。DEBUG中必须使用16进制的数。
MASM是一种编译器,它能将汇编源程序进行编 译、链接形成可执行文件,但汇编程序必须使用规 范书写方式,源程序中除了指令性语句,还必须加 入许多与指令语句无关的指示性语句,以供编译器 识别。 MASM中的数据默认为10进制。
汇编源文件 .ASM
汇编 MASM.EXE
目执行程序 .EXE
汇编语言语句类型
指令性语句
汇编语言、微机原理及接口技术(第3版)郑初华_课后题解答
第1章进制及码元1.进制转换129= 81H= 10000001B=201Q298= 12AH= 100101010B=452Q1000= 3E8H= 1111101000B= 1750Q5DH= 1011101 B= 135 Q= 93 D3E8H= 1111101000 B= 1750Q= 1000 D;357Q=11101111 B= 0EF H= 239 D3.数据表示范围:一字节的无符号数表示范围为0~255,有符号数(补码)表示范围为-l28—+127。
一个字的无符号数表示范围为0~65535,有符号数(补码)表示范围为—32768~+32767。
N位二进制数的无符号数表示范围为0~(2N-1),有符号数(补码)表示范围为-2N-1~(2N-1-1).4.35H代表的ASCII字符为'5',代表十六进制数时等价的十进制值为53 ,代表压缩8421BCD码等价的十进制值为35 ,代表非压缩8421BCD码等价的十进制值为5。
5.FFH代表无符号数时等价的十进制值为255 ,代表补码有符号数时等价的十进制值为一1 ,代表反码有符号数时等价的十进制值为一0 ,代表原码有符号数时等价的十进制值为一l27。
6.--20的8位二进制补码为ECH ,原码为94H ,反码为EBH 。
158的16位二进制补码为009EH,原码为009EH ,反码为009EH 。
第2章微机硬件基础1.计算机系统硬件的五大功能部件及其主要功能?答:硬件系统按功能模块分为运算器、控制器、存储器、输入设备、输出设备。
运算器主要完成算术运算、逻辑运算及移位运算,其中主要包括算术逻辑运算单元Arithmetic Logic Unit,ALU)和暂存数据(原始、中间、结果)的寄存器(Register,R)。
控制器实现对计算机部件的协调调度完成指令的分析执行,其中主要有程序计数器Program Counter,PC)或叫指令指针(Instruction Pointer,IP)、指令寄存器(Instruction register,IR)、指令译码器(Instruction Decoder,ID)、微操作命令发生器、时序发生器等。
《微机原理、汇编语言与接口技术》韩晓茹(习题解答全套
答:(123.025)10=(11111011.00000110)2=(7B.06)16
1.6将十六进制数(3E.7)16和(A4.B)16转换成十进制数。
答:(3E.7)16=(62.4375)10
(A4.B)16=(164.6875)10
[-Y]补=[[Y]补]求补=[[-0001111B]补]求补=[11110001B]求补=00001111B。
[X-Y]补=[X]补+[-Y]补=00100101B+00001111B=0011 0100B
习
2.18086/8088 CPU分为哪两大功能部件?其各自的主要功能是什么?8086/8088 CPU中有哪些寄存器?各有什么用途?
微型计算机由中央处理器、存储器、输入/件系统和软件系统两部分组成。也就是在微型计算机的外面加上电源和外部设备,然后配上系统软件和应用软件构成的系统。
1.3什么是系统总线?按照信号的种类不同可以把系统总线分成哪三类?它们各有什么特点?
答:连接微处理器与存储器、输入输出接口,用以构成完整的微型计算机的总线称为系统总线。系统总线分为数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)。
[-78]原=1100 1110B[-78]反=1011 0001B[-78]补=1011 0010B
1.9设[X]补=11001010B,[Y]补=01001010B,求它们的真值。
答:X的真值是-54,Y的真值是74。
1.10设X=+37,Y=-15,求[X-Y]补。
答:[X]补=[+37]补=[+100101B]补=00100101B。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章绪论习题与参考答案(部分)1.把下列二进制数转换成十进制数、十六进制数及BCD码形式。
(1)10110010B =(2)01011101.101B =解:(1) 10110010B = 178D = B2H = (0001 0111 1000)BCD (2) 01011101.101B = 93.625D = 5D.AH= (1001 0011.0110 0010 0101)BCD2.把下列十进制数转换成二进制数。
(1)100D =(2)1000D =(3)67.21D =解:(1)100D = 01100100B(2) 1000D = 1111101000B(3) 67.21D = 1000011.0011B3.把下列十六进制数转换成十进制数、二进制数。
(1)2B5H =(2)4CD.A5H =解:(1)2B5H = 693D = 0010 1011 0101B(2)4CD.A5H = 1229.6445D = 0100 1100 1101.1010 0101 B4.计算下列各式。
(1)A7H+B8H =(2)E4H-A6H =解:(1) A7H+B8H = 15FH(2) E4H-A6H = 3EH5.写出下列十进制数的原码、反码和补码。
(1) +89(2) -37解:(1) [+89 ] 原码、反码和补码为: 01011001B(2) [-37] 原码 = 10100101 B[-37] 反码 = 11011010 B[-37] 补码 = 11011011 B6.求下列用二进制补码表示的十进制数(1)(01001101)补 =(2)(10110101)补 =解:(1)(01001101)补 = 77D(2)(10110101)补 = -75D7.请用8位二进制数写出下列字符带奇校验的ASCII码。
(1)C: 1000011 (2)O: 1001111(3)M: 1001101 (4)P: 1010000解:(1)C:0 1000011 (2)O: 0 1001111(3)M:1 1001101 (4)P: 1 10100008.请用8位二进制数写出下列字符带偶校验的ASCII码。
(1)+:0101011 (2)=: 0111101(3)#:0100011 (4)>: 0111110解:(1)+:0 0101011 (2)=: 1 0111101(3)#:1 0100011 (4)>: 1 01111109.叙述CPU 中PC的作用。
解:PC是CPU中的程序计数器,其作用是提供要执行指令的地址。
第2章微处理器的结构习题与参考答案1.8086/8088 CPU 由哪两大部分组成?请分别叙述它们的功能。
解:8086/8088 CPU均由两个独立的逻辑单元组成,一个称为总线接口单元BIU(Bus Interface Unit),另一个称为执行单元EU(Execution Unit)。
总线接口单元BIU取指令时,从存储器指定地址取出指令送入指令队列排队;执行指令时,根据EU命令对指定存储器单元或I/O 端口存取数据。
执行单元EU任务是执行指令,进行全部算术逻辑运算、完全偏移地址的计算,向总线接口单元BIU提供指令执行结果的数据和偏移地址,并对通用寄存器和标志寄存器进行管理。
2.8086/8088与传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点?解:总线接口部分和执行部分是分开的,每当EU执行一条指令时,造成指令队列空出2个或空出一个指令字节时,BIU马上从内存中取出下面一条或几条指令,以添满他的指令队列。
这样,一般情况下,CPU在执行完一条指令后,便可马上执行下一条指令,不像以往8位CPU那样,执行完一条指令后,需等待下一条指令。
即EU从指令队列中取指令、执行指令和BIU补充指令队列的工作是同时进行的。
这样大大提高了CPU利用率,降低了系统都对存储器速度的要求。
3.状态标志和控制标志有何不同?8086/8088的状态标志和控制标志分别有哪些?解:8086/8088 CPU设立了一个两字节的标志寄存器,共九个标志。
其中标志位O、S、Z、A、P、C是反映前一次涉及ALU操作结果的状态标志,D、I、T是控制CPU操作特征的控制标志。
4.8086/8088 CPU寻址存储器时,什么是物理地址?逻辑地址?它们之间有何关系?解:8086/8088系统中每个存储单元都有一个物理地址,物理地址就是存储单元的实际地址编码。
在CPU与存贮器之间进行任何信息交换时,需利用物理地址来查找所需要的访问的存储单元。
逻辑地址由段地址和偏移地址两部分组成。
逻辑地址的表示格式为:段地址:偏移地址。
知道了逻辑地址,可以求出它对应的物理地址:物理地址=段地址×10H+偏移地址。
5.段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗?解:根据:物理地址=段地址×10H+偏移地址,指令的物理地址为21F00H。
指向这一物理地址的CS值和IP值不唯一。
6.8086 CPU中BHE信号和A0信号是通过怎样的组合解决存储器和外设端口的读/写的?这种组合决定了8086系统中存储器偶地址体及奇地址体之间应该用什么信号区分?怎样区分?解:若存取一个字节的数据,总是用一个总线周期来完成该操作;若存取一个字,则依该字是规则字还是不规则字需用一个或两个总线周期来完成。
对规则字,只用一个总线周期来完成16位数据的传送,而对于非规则字则用相邻两个总线周期来完成该字的存储操作,先取其奇地址字节(即数据的低位字节),然后存取偶地址字节。
在组成存储系统时,总是偶地址单元的数据通过AD0~AD7传送,而奇地址单元的数据通过AD8~AD15传送,即通过总线高字节传送。
BHE信号和A0信号控制存储器读写见下表:第3章80x86指令系统习题与参考答案1、指出下列指令中操作数的寻址方式(8086系统)。
(1) MOV AX,100 (2) MOV AX,[100] (3) MOV DL,[BP+SI] (4) MOV [BX],CX (5) MOV DX,[SI] (6) MOV 1234H[BX],DS (7) MOV [DI+5678H],AL (8) MOV 12[BP][DI],BH(9) POP CX (10)MOV AX,[BX+SI+10] 解:2、指出下列指令中操作数的寻址方式(80386系统)。
(1) MOV [EBX+12H],AX (2)MOV [EBP+EDI*2],EBX(3) MOV [EBX*4],BX (4) MOV EDX,[EAX+ESI*8-12H]解:3、指出以下指令中,哪些指令是非法的,并说明为什么(8086系统)。
(1) PUSH 1234H (2) MOV CS,AX(3) IN AX, 300 (4) MOV AX,[DX+12](5) MOV BX,[BX] (6) MOV DS,1000H(7) XCHG AL,AL (8) MOV AL,100H(9) MOV DX,AL (10)LEA BL,[BX+5] (11)LEA DX,BX (12)MOV [1000H],12H (13)ADD AX,DS (14)SUB [0100H],BYTE PTR [0001](15)SHL BL,2 (16)SHR CL,CL(17)MUL AL,BL (18)INT 400解:(1)非法,8086系统不允许PUSH指令的操作数为立即数;(2)非法,MOV指令中CS不能作为目的操作数;(3)非法,端口号大于0FFH;(4)非法,DX不能出现在中括号[]内;(5)合法;(6)非法,不能把立即数赋给段寄存器;(7)合法;(8)非法,源操作数大于0FFH,不能赋给8位寄存器AL;(9)非法,源操作数是8位寄存器,目的操作数却是16位寄存器,不匹配;(10)非法,LEA指令得到的是16位偏移量,但目的操作数是8位寄存器;(11)非法,LEA指令的源操作数只能是存储器操作数;(12)非法,指令存在歧义,无法确定传送的是字节还是字;(13)非法,段寄存器不能参与算术运算;(14)非法,源和目的寄存器不能同为存储器操作数;(15)非法,在8086系统中,移位次数大于1时需要将移位次数存放到CL中;(16)合法;(17)非法,在8086系统中MUL指令没有双操作数的用法;(18)非法,中断类型号大于0FFH。
4、指出以下指令中,哪些指令是非法的,并说明为什么(80386系统)。
(1) MOV AX,12[EBX][SI*16] (2) RCR EAX,10 (3) PUSH 5678H (4) POP 1000H(5) MOV [EAX+EAX],EAX (6) MOV AL,[ESP+ESP*2](7) MOV BL,[AX+12] (8) IMUL AL,BL,12解:(1)非法,比例因子只能是1、2、4、8,不能是16;(2)合法;(3)合法;(4)非法,POP指令的目的操作数不能是立即数;(5)合法;(6)非法,ESP只能作为基址寄存器,不能作为变址寄存器;(7)非法,在386系统中AX不能作为基址寄存器,也不能作为变址寄存器;(8)合法。
5、假设(AX)=1234H,(BX)=5678H,(SP)=1000H,指出执行下面的程序段后,各相关寄存器及堆栈段中的内容。
PUSH AX ;(AX)=?,(BX)=?,(SP)=?,栈顶字节[SP]=?,栈顶第二字节[SP+1]=?PUSH BX ;(AX)=?,(BX)=?,(SP)=?,栈顶字节[SP]=?,栈顶第二字节[SP+1]=?POP AX ;(AX)=?,(BX)=?,(SP)=?,栈顶字节[SP]=?,栈顶第二字节[SP+1]=?解:(AX)=1234H,(BX)=5678H,(SP)=0FFEH,栈顶字节[SP]=34H,栈顶第二字节[SP+1]=12H(AX)=1234H,(BX)=5678H,(SP)=0FFCH,栈顶字节[SP]=78H,栈顶第二字节[SP+1]=56H(AX)=5678H,(BX)=5678H,(SP)=0FFEH,栈顶字节[SP]=34H,栈顶第二字节[SP+1]=12H6、假设A、B、C、D、X、Y为字节变量,AA、BB、YY为字变量,试利用算术运算指令编写程序段,完成以下各算术运算题。
(1)计算YY←A+B*C,其中A、B、C都是无符号数;(2)计算(AA+BB)/(C-D),商赋给X,余数赋给Y,其中AA、BB、C、D都是带符号数;(3)计算YY←(A-B)*C,其中A、B、C都是未组合BCD码。