微机原理与接口技术 第四章(1)

合集下载

微机原理与接口技术-第4-1章

微机原理与接口技术-第4-1章

例4-3 用键盘最多输入10个字符,并存 入内存变量Buff中,若按“Enter”键,则 表示输入结束。
用BIOS层功能调用实现 层功能调用实现 的源程序: 的源程序: .MODEL SMALL CR EQU 0DH .STACK 200H .DATA Buff DB 10 DUP(?) .CODE .STARTUP MOV CX, 0AH LEA BX, Buff
Windows层功能模块的调用
Win32 API使用堆栈来传递参数 API函数调用 C语言的消息框函数的声明: int MessageBox( HWND hWnd, // handle to owner window LPCTSTR lpText, // text in message box LPCTSTR lpCaption, // message box title UINT uType // message box style );//参数 最后还有一句说明: Library: Use User32.lib.//说明这个函数的位置
API 函数的返回值
有的API 函数有返回值,如MessageBox 定义 函数有返回值, 有的 的返回值是int类型的数,返回值的类型对汇编 的返回值是 类型的数, 类型的数 程序来说也只有dword 一种类型,它永远放在 一种类型, 程序来说也只有 eax 中。如果要返回的内容不是一个 如果要返回的内容不是一个eax所能 所能 容纳的, 容纳的,Win32 API 采用的方法一般是返回一 个指针, 个指针,或者在调用参数中提供一个缓冲区地 干脆把数据直接返回到缓冲区中去。 址,干脆把数据直接返回到缓冲区中去。
.REPEAT MOV AH, 0H INT 16H .BREAK .IF AL==CR MOV [BX],AL INC BX .UNTILCXZ .EXIT 0 END

单片机微型计算机原理及接口技术课后习题答案第4章

单片机微型计算机原理及接口技术课后习题答案第4章

单片机微型计算机原理及接口技术课后习题答案第4章4-2 试述指令MOV A,R0和MOV A,@R0的区别两条指令的目的操作数相同,两条指令的区别在于源操作数来源不同:MOV A,R0 指令的源操作数就是R0寄存器的内容;而MOV A,@R0 指令的源操作数是位于存储器单元内,且存储器单元的地址是R0寄存器的内容。

4-3 试述指令MOV A,20H和MOV A,#20H的区别MOV A,20H 源操作数是直接寻址,20H表示源操作数所在存储器单元的地址。

MOV A,#20H 源操作数是立即数寻址,#20H是立即数,也就是源操作数。

4-4 说明一下指令中源操作数所在的存储器类型。

(1)MOV A,#30H; 立即数#30H,就是源操作数,存在于指令中,所以位于程序存储器。

(2)MOV A,30H; 30H是源操作数所在数据存储单元的地址,所以源操作数位于数据存储器。

(3)MOVC A,@A+DPTR;源操作数是变址寻址, 助记符MOVC表示源操作数位于程序存储器。

(4)MOVX A,@DPTR; 源操作数是寄存器间接寻址, 助记符MOVX表示源操作数位于外部数据存储器。

4-5 判断下列指令书写是否正确:(1)MOV A,B; ✔(2)MOV A,#3000H ; ✘,因为A是8位寄存器,而#3000H是16位数值,没法全部存到A里(3)INC,#20H ; ✘只能INC A/direct/Rn/@Ri/DPTR(4)MOV 5,A ; ✔,注意目的操作数是直接寻址方式,不是立即寻址(5)MOV 30H,40H; ✔(6)MOV B,@DPTR ; ✘,@DPTR寻址用于MOVX指令,不能用于MOV指R(7)CJNE 30H,#80H,NEXT ; ✘,CJNE指令格式只能是CJNE A/Rn/@Ri,#data,rel或CJNE A,direct,rel(8)POP A ; ✘只能是直接寻址方式POP direct,正确的是POP ACC(9)PUSH ACC; ✔(10)SJMP 2000H ; ✘rel的范围是-128~127(用补码表示其值)共256B范围4-6 设ACC=12H,B=64H,SP=60H,30H中存放的是78H,试分析下列程序执行后,ACC、B、30H、SP中的内容分别为多少,并画出堆栈示意图。

第4章(1)微机原理与接口技术(第三版)(王忠民)

第4章(1)微机原理与接口技术(第三版)(王忠民)

第四章 80x86 指令系统—立即数寻址方式
MOV AX, 1234H
程序存储器
AH AL
12H 34H 操作码字节 指
34H 令
12H

第四章 80x86 指令系统—寄存器寻址方式
2)寄存器寻址方式 操作数存放在CPU的内部寄存器reg中:
8位寄存器r8: AH、AL、BH、BL、CH、CL、DH、DL 16位寄存器r16: AX、BX、CX、DX、SI、DI、BP、SP 4个段寄存器seg: CS、DS、SS、ES
微机原理与接口技术
西安邮电大学计算机学院 宁晓菊
第四章 80x86 指令系统(第一讲)
第一章 微型计算机系统导论(第一讲)
本章主要内容
1 80x86指令的寻址方式(3讲) 2 80x86指令系统(5讲)
第四章 80x86 指令系统(第一讲)
第一章 微型计算机系统导论(第一讲)
本讲主要内容
1 寻址方式概述 2 数据寻址方式之一:
80 21H
操作码

21H

AL

80
第四章 80x86 指令系统—I/O端口寻址方式
⑵ 间接端口寻址方式 MOV DX, 1234H OUT DX, AL
I/O接口 0001H
DX
12
34
0002H
……
AL
80 1234H
80
Thank you!
感谢
谢谢,精品课件 资料搜集
第四章 80x86 指令系统—立即数寻址方式
1)立即数寻址方式 指令中的操作数直接存放在机器代码中,紧跟在操
作码之后(操作数作为指令的一部分存放在操作码 之后的主存单元中)

微机原理与接口技术课后习题参考答案

微机原理与接口技术课后习题参考答案

《微机原理与接口技术》李华贵主编课后习题参考答案第1章(1.6 习题)1.简述名词的概念:微处理器、微型计算机、微型计算机系统。

答:(1)微处理器:微处理器(Microprocessor)简称µP或MP,或CPU。

CPU 是采用大规模和超大规模集成电路技术将算术逻辑部件ALU(Arithmetic Logic Unit)、控制部件CU(Control Unit)和寄存器组R(Registers)等三个基本部分以及内部总线集成在一块半导体芯片上构成的电子器件。

(2)微型计算机:微型计算机(Microcomputer)是指以微处理器为核心,配上由大规模集成电路制作的存储器、输入/输出接口电路及系统总线等所组成的计算机,简称微机。

(3)微型计算机系统:微型计算机系统由硬件与软件两大部分组成,分别称为硬件(Hardware)系统与软件(Software)系统。

其中,硬件(Hardware)系统由CPU、内存储器、各类I/O接口、相应的I/O设备以及连接各部件的地址总线、数据总线、控制总线等组成。

软件(Software)系统:计算机软件(Software)是指为运行、维护、管理、应用计算机所编制的程序及程序运行所需要的数据文档资料的总和。

一般把软件划分为系统软件和应用软件。

其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。

而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。

2.简述名词的概念:指令寄存器、地址寄存器、标志寄存器。

答:(1)指令寄存器:指令寄存器(Instruction Register,IR)用来保存计算机当前正在执行或即将执行的指令。

当一条指令被执行时,首先,CPU从内存取出指令的操作码,并存入IR中,以便指令译码器进行译码分析。

(2)地址寄存器:地址寄存器(Address Register,AR)被动地接受IP传送给它的地址值(二进制地址),AR的作用是保持IP送来的地址,并且以并行方式连接输出到CPU的地址引脚上,以便CPU访问指定的内存单元。

微机原理与接口技术答案(含详解)

微机原理与接口技术答案(含详解)

微机原理与接口技术习题课后习题参考答案(含部分详解)第一章(p20)1、参考答案:冯•诺伊曼计算机的设计思想(EDVAC方案:存储程序通用电子计算机方案):①计算机分为计算器、控制器、存储器、输入和输出装置五个部分;②计算机内采用二进制;③将程序存储在计算机内,简称“程序存储”。

其中第三点是冯•诺依曼计算机设计的精华,所以人们又把冯•诺依曼原理叫做程序存储原理,即程序由指令组成并和数据一起存放在存储器中,机器则按程序指定的逻辑顺序把指令从存储器中读出来并逐条执行,从而自动完成程序描述的处理工作。

冯•诺伊曼计算机主要以运算器和控制器为中心,结构框图如下图所示。

2、参考答案:微处理器就是中央处理器CPU,是计算机的核心,单独的CPU不能构成计算机系统;微型计算机由微处理器、主存储器、I/O接口(注意:不是I/O设备)组成;而微型计算机系统除了包括微型计算机外,还有系统软件(即操作系统)、应用软件、外存储器和I/O设备等。

微型计算机系统结构如下图所示。

3、答案略,见p6~74、答案略,见图2,或教材图1-35、答案略,见p12~136、参考答案:由于8086微处理器的地址总线的宽度为20位,所以它可寻址220=1M字节的存储空间;而PentiumII微处理器的地址总线的宽度为36位,所以它可寻址236=64G字节的存储空间。

7、参考答案:①PCI(Peripheral Component Interconnect:外围设备互联),是Intel公司1992年发布486微处理器时推出的32/64位标准总线,数据传输速率位132MB/s,适用于Pentium 微型计算机。

PCI总线是同步且独立于微处理器的具有即插即用(PNP:Plug and play,所谓即插即用,是指当板卡插入系统时,系统会自动对板卡所需资源进行分配,如基地址、中断号等,并自动寻找相应的驱动程序)的特性.PCI总线允许任何微处理器通过桥接口连接到PCI 总线上。

微机原理与接口技术(第四版)课后习题答案(1)

微机原理与接口技术(第四版)课后习题答案(1)

第1章微型计算机系统〔习题1.1〕简答题(2)总线信号分成哪三组信号?(3)PC机主存采用DRAM组成还是SRAM组成?(5)ROM-BIOS是什么?(6)中断是什么?(9)处理器的“取指-译码-执行周期”是指什么?〔解答〕②总线信号分成三组,分别是数据总线、地址总线和控制总线。

③ PC机主存采用DRAM组成。

⑤ ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。

⑥中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍返回被中断的指令继续执行的过程。

⑨指令的处理过程。

处理器的“取指—译码—执行周期”是指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。

〔习题1.3〕填空题(2)Intel 8086支持___________容量主存空间,80486支持___________容量主存空间。

(3)二进制16位共有___________个编码组合,如果一位对应处理器一个地址信号,16位地址信号共能寻址___________容量主存空间。

(9)最初由公司采用Intel 8088处理器和()操作系统推出PC 机。

② 1MB,4GB③ 216,64KB(9)IBM,DOS〔习题1.4〕说明微型计算机系统的硬件组成及各部分作用。

〔解答〕CPU:CPU也称处理器,是微机的核心。

它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。

处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。

存储器:存储器是存放程序和数据的部件。

外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。

I/O设备通过I/O接口与主机连接。

《微机原理与接口技术》(第四版)周何琴课后习题答案

《微机原理与接口技术》(第四版)周何琴课后习题答案

.第1章绪论作业1.将下列二进制数转换成十进制数。

(1)11001010B=202(2)00111101B=61(3)01001101B=77(4)10100100B=1643.将下列十进制数分别转换为二进制数和十六进制数。

(2)76= 100 1100B =4CH(4)134= 1000 0110B =86H4.求下列十进制数的 BCD码(1)327=11 0010 0111 (BCD码)(2)1256=1 0010 0101 0110 ( BCD码)6.求出下列 10 进制数的原码、反码和补码(2)+85 (4)-85解: 85=0101 0101B原码: +85= 0101 0101B-85= 1101 0101B反码: +85= 0101 0101B-85= 1010 1010B补码: +85= 0101 0101B-85= 1010 1011B10.画出微型计算机的基本结构框图,说明各部分的主要功能是什么?解:微型计算机的基本结构框图如下:微处理器地址总线CPU存储器I/O 接口I/O 总线I/O 设备数据总线控制总线微处理器 CPU:控制微处理器与存储器或 I/O 设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。

微处理器主要完成:(1)指令控制:从存储器中取指令,指令译码;(2)数据加工:简单的算术逻辑运算;(3)操作控制:在微处理器和存储器或者I/O 之间传送数据;(4)时间控制:程序流向控制。

存储器:用来存放数据和指令。

I/O接口:主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。

I/O 设备:输入原始数据和程序,转换成计算机能识别的信息,送入存储器去等待处理。

输出运算结果。

总线:连接计算机系统中各功能部件的信息通道。

第 2 章 8086CPU 作业2. 8086CPU 内部由哪两部分组成?它们的大致是如何工作的?答:(1)8086CPU 由指令执行部件 EU 和总线接口部件 BIU 两部分组成。

微机原理与接口技术课后习题答案(朱红)

微机原理与接口技术课后习题答案(朱红)

第一章习题答案一、选择题1.十进制数 66 转换成二进制数为_______。

A. 11000010B.01100110C.11100110D.01000010答案:D2.十进制数 27.25 转换成十六进制数为_______。

A. B1.4HB.1B.19HC.1B.4HD.33.4H答案:C3.下列数中最小的是________。

A. (101001)2B. (52)8C. (2B)16D. (50)10答案:A4.若一个数的 BCD 编码为 00101001,则该数与______相等。

A. 41HB.121DC.29DD. 29H答案:C5.十进制数 9874 转换成 BCD 数为________。

A. 9874HB. 4326HC. 2692HD. 6341H答案:A6.BCD 数 64H 代表的真值为_______。

A. 100B.64C.-100D.+100答案:B7.十六进制数 88H,可表示成下面几种形式,错误的表示为_______。

A. 无符号十进制数 136B.带符号十进制数-120C.压缩型 BCD 码十进制数 88D.8 位二进制数-8 的补码表示答案:D8.若[A]原=1011 1101,[B]反=1011 1101,[C]补=1011 1101,以下结论正确的是______。

A. C 最大B. A 最大C.B 最大D.A=B=C答案:B9.8 位二进制补码表示的带符号数 1000 0000B 和 1111 1111B 的十进制数分别是____。

A. 128 和 255 B. 128 和-1 C. -128 和 255 D. -128 和-1答案:D10.微机中地址总线的作用是___________。

A.用于选择存储器单元B.用于选择进行信息传输的设备C.用于指定存储器单元和 I/O 设备接口单元的选择地址D.以上选择都不对答案:C11.计算机中表示地址使用____。

A.无符号数B.原码C.反码D.补码答案:A二、填空题1.计算机的主机由_______、控制器、主存储器组成。

微机原理与单片机接口技术课后题参考答案_1-6章_

微机原理与单片机接口技术课后题参考答案_1-6章_

5.若下列字符码(ASCII)中有奇偶校验位,但没有数据错误,采用偶校验的
三、简答题
1.简述微处理器、微计算机及微计算机系统三个术语的内涵。 答:微处理器是微计算机系统的核心硬件部件,它本身具有运算能力和控制功 能,对系统的性能起决定性的影响。微处理器一般也称为 CPU;微计算机是由微处 理器、存储器、I/O 接口电路及系统总线组成的裸机系统。微计算机系统是在微计算 机的基础上配上相应的外部设备和各种软件,形成一个完整的、独立的信息处理系 统。三者之间是有很大不同的,微处理器是微型计算机的组成部分,而微型计算机 又是微型计算机系统的组成部分。 2.什么叫总线?为什么各种微型计算机系统中普遍采用总线结构? 答:总线是模块与模块之间传送信息的一组公用信号线。 总线标准的建立使得各种符合标准的模块可以很方便地挂在总线上,使系统扩 展和升级变得高效、简单、易行。因此微型计算机系统中普遍采用总线结构。 3.微型计算机系统总线从功能上分为哪三类?它们各自的功能是什么? 答:微型计算机系统总线从功能上分为地址总线、数据总线和控制总线三类。 地址总线用于指出数据的来源或去向,单向;数据总线提供了模块间数据传输的路 径,双向;控制总线用来传送各种控制信号或状态信息以便更好协调各功能部件的 工作。
2
第 2 章 微处理器及其结构
一、填空题
1.8086/8088 CPU执行指令中所需操作数地址由 EU 计算出 16 位偏移量部分 送 BIU ,由 BIU 最后形成一个 20 位的内存单元物理地址。 2.8086/8088 CPU在总线周期的T1时刻,用A19/S6~A16/S3 输出 20 位地址信息 的最高 4 位,而在其他时钟周期,则输出 状态 信息。 3.8086/8088 CPU复位后,从 0FFFF0H 单元开始读取指令字节,一般这个单 元在 ROM 区中,在其中设置一条 跳转 指令,使CPU对系统进行初始化。 4. 8086系统的存储体系结构中, 1MB存储体分 2 个库, 每个库的容量都是512K 字节, 其中和数据总线D15~D8相连的库全部由 奇地址 单元组成, 称为高位字节库, 并用 BHE 作为此库的选通信号。 5.8086/8088系统中,可以有 64K 个段起始地址,任意相邻的两个段起始地址 相距 16 个存储单元。 6.用段基值及偏移量来指明内存单元地址的方式称为 逻辑地址 。 7.通常8086/8088 CPU中当EU执行一条占用很多时钟周期的指令时,或者在多 处理器系统中在交换总线控制时会出现 空闲 状态。 8.8086 CPU使用 16 根地址线访问I/O端口,最多可访问 64K 个字节端口, 使用 20 根地址线访问存储单元,最多可访问 1M 个字节单元。 9. CPU取一条指令并执行该指令的时间称为 指令 周期, 它通常包含若干个 总 线 周期,而后者又包含有若干个 时钟 周期。 10.设内存中一个数据区的起始地址是1020H:0A1CBH,在存入5个字数据后, 该数据区的下一个可以使用的单元的物理地址是 1020H:0A1D5H 或1A3D5H。 11.8086系统中,默认方式下对指令寻址由寄存器 CS 和 IP 完成,而堆栈段 中的偏移量可由寄存器 SP 或 BP 来指示。 12. 8086的中断向量表位于内存的 00000H~003FFH 区域, 它可以容纳 256 个 中断向量,每个向量占 4 个字节。 13. 8086CPU中典型总线周期由 4 个时钟周期组成, 其中T1期间, CPU输出 地 址 信息;如有必要,可以在 T3和T4 两个时钟周期之间插入1个或多个TW等待周期

微机原理与接口技术(楼顺天第二版)第四章习题解答

微机原理与接口技术(楼顺天第二版)第四章习题解答

微机原理与接口技术(楼顺天第二版)习题解答第4章汇编语言程序设计4。

1、已知在BUF的起始处保存有N个字符的ASCII码,编写汇编语言程序实现,将这组字符串传送到缓冲区BUFR中,并且使字符串的顺序与原来的顺序相反。

答:BUF D B ”BONJOUR_BELLE"BUFR DB 100 DUP(?)MOV CX, NLEA SI, BUFLEA DI, BUFRADD DI,CXDEC DIL1:MOV AL,[SI]MOV [DI],ALINC SIDEC DILOOP L14。

2、利用移位、传送和相加指令实现AX的内容扩大10倍.答:将扩大后的结果放在DX:AX中,注意到10×AX=8×AX+2×AX。

XOR DX,DXSHL AX,1RCL DX,1MOV BX,AXMOV CX,DXSHL AX,1RCL DX, 1SHL AX, 1RCL DX, 1ADD AX, BXADC DX, CX4。

3、在缓冲区V AR中连续存放着3个16位的无符号数,编写程序实现将其按递增关系排列;如果V AR中保存的为有符号数,则再编写程序实现将其按递减关系排列。

答:V AR DW 1236,-432,3900XOR SI,,SIMOV AX,V AR[SI]CMP AX,V AR[SI+2]JAE L1XCHG AX,V AR[SI+2]L1:CMP AX, V AR[SI+4]JAE L2XCHG AX, V AR[SI+4]L2:MOV V AR[SI],AXMOV AX,V AR[SI+2]CMP AX,V AR[SI+4]JAE L3XCHG AX,V AR[SI+4]L3:MOV V AR[SI+2], AX4。

4、编写程序段实现将AL和BL中的每一位依次交叉,得到的16位字保存在DX中,例如(AL)=01100101B,(BL)=11011010B,则得到的(DX)=10110110 10011001B。

微机原理及接口第四章习题答案

微机原理及接口第四章习题答案

“微机系统原理与接口技术”第四章习题解答1.判断以下说法是否正确,如有错,请说明原因并改正。

(1)伪指令在汇编过程中不会产生二进制代码。

(2)宏和过程的相同之处是都可用于简化源程序书写、精简目标代码。

(3)在计算机中,高级语言通常需要转换为汇编语言后才能执行。

(4)汇编语言程序上机一般包括编辑、汇编、链接和调试几个步骤。

答:(1)正确。

(2)错误。

宏不能精简目标代码。

(3)错误。

高级语言程序经编译或解释后直接转换为目标代码。

(4)正确。

2.已知数据和符号定义A1 DB ?A2 DB 8K1 EQU 100判断下列指令的正误,并说明错误指令的原因。

(1)MOV K1,AX(2)MOV A2,AH(3)MOV BX,K1MOV [BX],DX(4)CMP A1,A2(5)K1 EQU 200答:(1)错误。

K1是符号常数,在此处相当于立即数100,故不能做目的操作数。

(2)正确。

(3)正确。

(4)错误。

A1、A2都是字节变量,相当于两个存储器单元,故不能同时出现在一条指令中直接进行比较。

(5)错误。

用EQU定义的符号不能重新赋值,除非已用PURGE解除了原值。

3.若数据段中有定义NUM1 EQU 23HNUM2 DW 0则指令MOV NUM2,NUM1 的源、目操作数的寻址方式以及指令执行后NUM2+1单元的内容分别是什么?答:指令MOV NUM2,NUM1的源操作数使用立即数寻址,目的操作数使用直接寻址。

指令执行后NUM2+1单元的内容是0。

4.设DS=6000H,BX=8432H,SS=5000H,SP=3258H,内存69632H~69635H单元的内容依次是00H、11H、22H、33H。

4字节指令CALL DWORD PTR [BX+1200H] 本身位于2000H:3250H处的双字单元中。

当8086执行该指令后转移至子程序入口时,CS、IP、SS、SP各寄存器以及栈顶2个字单元的内容分别是多少?答:执行结果为CS=3322H,IP=1100H,SS=5000H,SP=3254H,栈顶的两个字即断点地址,为2000H:3254H。

微机原理与接口技术 第04章 可编程定时器计数器8254

微机原理与接口技术 第04章 可编程定时器计数器8254

4.1 概述
输出(分频)
声音的产生:
对输出方波整形 变成正弦波,经放大处理接 到扬声器上,产生不同声音 的波形。
输入脉冲
若选择标准输入脉冲, 例1KHz,则当输入1000个标 准输入脉冲,需要1s,则当 计数值为1000时,输出端每 隔1s输出一个脉冲,实现了 定时。 计算初值:N=fclki / fouti
硬件启动:在写入计数初值后计数器不工作,只有当GATE信 号出现0到1的变化后,计数器才开始工作 初值自动重装:当计数结束后,即减1计数器减到规定值的时候, 存放在初值寄存器中的计数初值自动重新装入减1计数器,这种功 能称为初值自动装载(方式2和方式3具有此功能)
4.2.3 8254的工作方式
4.1 概述
实现定时/计数有三种不同的方法:
(1)软件定时:执行一个具有固定延迟时间的循环程序。
优点:不需外加硬件,灵活,定时较准确。 缺点:在定时过程中CPU不能做任何其它工作。
总结:适用于定时时间短的场合。
(2)硬件定时:采用中规模TTL或CMOS芯片外加电阻电容来实现的。 不同的时间间隔主要是通过配接不同的阻容值达到的。 优点:不占用CPU时间。 缺点:变换定时较难。 总结:适用于定时时间间隔固定的场合。
8254有6种工作方式:方式0~方式5。对于每一种工作方式, 由时钟输入信号CLK确定计数器递减的速率。门控信号GATE用于 允许或禁止计数器计数。计数结束时在输出线OUT上产生一个信 号。 无论采用哪一种工作方式,都会遵循下面几条原则: (1)控制字写入计数器时,所有的控制逻辑电路立即复位, 输出端OUT进入初始态(高电平或低电平)。 (2)计数初值写入后,要经过一个时钟上升沿和一个下降 沿,计数执行部件才开始计数。 (3)在时钟脉冲CLK的上升沿时,门控信号被采样。 (4)在时钟脉冲CLK的下降沿时,计数器作减1计数,输出 端OUT的波形也都是在时钟周期的下降沿时产生电平的变化。

微机原理与接口技术(科学出版社)第4章课后习题及答案

微机原理与接口技术(科学出版社)第4章课后习题及答案

微机原理与接口技术第四章课后习题1.指令主要有哪些分类方式? 其主要类别是什么?答:操作数、级别、功能。

操作数:无操作数、单操作数、双操作数三操作数;级别:机器指令和汇编指令功能:传送类、算术运算类、位操作类、I/O类、串操作类、CPU控制类、转移类;2.80X86的寻址方式有哪些?它们的具体含义是什么?答:操作数寻址方式主要有立即寻址方式、寄存器寻地址、存储器寻址方式、端口寻址方式(1)立即寻址方式:操作对象是这个操作数本身(2)寄存器寻地址:操作对象是寄存器中的内容(3)存储器寻址方式:操作对象是内存地址所对应的存储单元中的内容(4)端口寻址方式:操作数是指明端口的地址、端口地址所对应的端口中的内容是操作对象3. 指出下列各指令中源操作数和目的操作数的寻址方式:⑴MOV BX,WORD PTR[2200H] ⑵ AAA⑶JUM 2200H ⑷ LES DI,[2100H]⑸ MOV [BX+SI+8], BX ⑹ ADD AX,[BP+3000H]答:⑴MOV BX, WORD PTR[2200H] 源操作数:直接寻址;目的操作数:寄存器寻址⑵AAA 源操作数:寄存器寻址AL(也称隐含寻址);目的操作数:寄存器寻址⑶JUM 2200H 程序转移段内直接寻址方式⑷LES DI,[2100H] 源操作数:直接寻址;目的操作数:寄存器寻址⑸MOV [BX+SI+8], BX 源操作数:寄存器寻址;目的操作数:相对基址变址寻址⑹ADD AX,[BP+3000H] 源操作数:直接寻址;目的操作数:寄存器相对寻址4. 设CS=1000H,DS=2000H,ES=3000H,SS=4000H,IP=100H,SP=200H,BX=300H,BP=400H,SI=500 H,则:(1)10202H(2)40300H(3)21010H(4)42156H(5)31510H5.写出清除AX寄存器内容的方法并比较。

微机原理与接口技术第1~4章作业题及补充题解答

微机原理与接口技术第1~4章作业题及补充题解答

习题1 (P14)4、试用示意图说明内存单元的地址和内存单元的内容,二者有何联系和区别?解:内存单元的地址和内容如图,在存储器中,每个存储单元都有一个地址,每个单元可存放一个字节。

任何相邻字节单元可以存放一个字,一个字占用2个地址中小的那个地址作为该字的地址,并且较高存储器地址的字节是该字节的高8位,较低存储器地址的字节是该字节的低8位。

如图X表示某存储单元的地址,则X单元的内容(X)表示。

假如X单元中存放着Y,则(X)=Y。

而Y又是一个地址(数值上),则可用((X))来表示Y单元里的内容。

9、把下列十进制数转化为二进制数、八进制数和十六进制数。

(1)4.85 (2)255 (3)256解:(1)4.85=100.1B=4.6Q=4.DH(2)255=11111111B=377Q=0FFH(3)256=100000000B=400Q=100H10、把下列数转化为十进制数。

(1)10001100B (2)27Q (3)1FH解:(1)10001100B=2^7+2^3+2^2=140(2)27Q=2*8+7=23(3)1FH=16+15=3115、给出十进制数—30的原码、反码、补码(8位二进制数)的形式,并指出8位二进制原码、反码、补码所能表示的数值范围(用十进制数表示)。

解:[—30D]原=10011110B=9EH[—30D]反=11100001B=0E1H[—30D]补=11100010B=0E2H8位二进制数原码表示的数值范围:—127~+127;反码表示的数值范围:—127~+127;当补码表示无符号数时,表示的数值范围为:0~255,当补码表示有符号数时,表示的数值范围为:—128~+127.16、用组合和非组合BCD码分别表示十进制数388和12。

解:组合:388D=(0011 1000 1000)BCD12D=(0001 0010)BCD非组合:388D=(00000011 00001000 00001000)BCD12D=(00000001 00000010)BCD习题2 (P43)3、8086CPU的标志寄存器中有哪些标志位?它们的含义和作用是什么?解:(1)有6个状态标志位CF、OF、ZF、SF、AF、PF;3个控制标志位DF、IF、和TF。

微机原理与接口技术第四章试题及答案

微机原理与接口技术第四章试题及答案

第四章4-1填空1.MCS-51的Po口作为输出端口时,每位能驱动8 个SL型TTL负载.2.MCS-51有4个并行I\O口,其中P0~P3是准双向口,所以由输出转输入时必须先写入"1"3.设计8031系统时,_P0、P2 口不能用作一般I\O口.4.MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器__SCON _加以选择.5.当使用慢速外设时,最佳的传输方式是中断.6.当定时器To工作在方式3 时,要占定时器T1的TR1和TF1_两个控制位.7.MCS-51有5 个中断源,有2 个中断优先级,优先级由软件填写特殊功能寄存器IP 加以选择..8.用串口扩并口时,串行接口工作方式应选为方式0 .9.在串行通信中,有数据传送方向单工、半双工、全双工三种方式.10.外部中断入口地址为_ 0013H4-2判断1.MCS-51的5个中断源优先级相同。

(×)2.要进行多机通信,MCS-51串行接口的工作方式应为方式1。

(×)3.MCS-51上电复位时,SBUF=00H。

(×)。

4.MCS-51有3个中断源,优先级由软件填写特殊功能寄存器IP加以选择.. (×)5.用串口扩并口时,串行接口工作方式应选为方式1. (×)6.外部中断INTO 入口地址为_0013H(×)7.MCS-51外部中断0的入口地址是0003H。

(√).8.TMOD中的GATE=1时,表示由两个信号控制定时器的启停。

(√)。

9.使用8751且=1时,仍可外扩64KB的程序存储器。

(×)10.PC存放的是当前执行的指令。

(×)11.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。

(×)12.MCS-51有4个并行I\O口,其中P0~P3是准双向口,所以由输出转输入时必须先写入"0"(×)4-3选择1.在中断服务程序中,至少应有一条( D )(A)传送指令(B)转移指令(C)加法指法(D)中断返回指令2.要使MCS-51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的内容应是( B )(A)98H (B)84H (C)42 (D)22H3.D MCS-51在响应中断时,下列哪种操作不会发生( D ).(A)保护现场(B)保护PC (C)找到中断入口若悬河(D)保护PC转入中断入口4.用MCS-51串行接口扩展并行I\O口时,串行接口工作方式应选择( C )(A)方式0 (B)方式1 (C)方式2 (D)方式35.MCS-51有中断源(A)(A)5个(B)2个(C)3个(D)6个6.MCS-51响应中断时,下面哪一个条件不是必须的()(A)当前指令执行完毕(B)中断是开放的确(C)没有同级或高级中断服务须(D)必须有RET1指令7.使用定时器T1时,有几种工作模式(D)(A)1种(B)2种(C)3种(D)4种8.计算机在使用中断方式与外界交换信息时,保护现场的工作方式应该是( B )(A)由CPU自动完成(B)在中断响应中完成功之路(C)应由中断服务程序完成(D)在主程序中完成9.下面哪一种传送方式适用于处理外部事件( C )(A)DMA (B)无条件传递进(C)中断(D)条件传递1、2、4章的编程1.8225A控制字地址为300FH,请按:A口方式0输入,B口方式1输出,C口高位输出,C口低位输入,确定8225A控制字并编初始化程序.解:控制字为10010101=95H初始化程序:MOV DPTR ,#300FHMOV A,#95HMOVX @DPTR ,A2.编定一个软件延时1S和1min的子程序.设fosc=6Hz,则一个机器周期1μs。

微机原理与接口技术-四章-16位微处理器

微机原理与接口技术-四章-16位微处理器

数据与指令的存储与访问
内存示意图
地址是数 据存放的 门牌号码 是标明数 据所在位 置的唯一 代号
所有CPU可以访问的数 据与指令都以二进制数 的形式存放在内存中
地址 0 1 2 … 255 …
内 容 00000100B(4) 10000000B(128) 00010001B(17) …… 00001111B (15) ……
数据寄存器
SP BP SI DI
IP
通用寄存器
地址指针和 变址寄存器
FLAGS
CS DS SS ES
控制寄存器
段寄存器
8086CPU内部寄存器结构
3.段寄存器 8086有四个段寄存器。为了寻址1MB内存,将内存分成若 干个逻辑段。每个段长64KB。使用四个段寄存器存放各段的基 本地址。 BIU中的四个段寄存器分别称为代码段CS(Code Segment) 寄存器、数据段DS(Data Segment) 寄存器、堆栈段SS(Stack Segment) 寄存器和附加段ES(Extra Segment) 寄存器。 CS段寄存器给出当前代码段的基址。DS段寄存器给出当前 数据段的基址。SS段寄存器给出当前堆栈段的基址。ES段寄存 器给出当前使用的附加段的基址。 4.控制寄存器 包括IP和FR两个16位寄存器。IP为指令指针寄存器,用来 存放代码段中的偏移地址。它与CS寄存器联用确定下一条指令 的物理地址。FR寄存器,下一小节将详细介绍。
2.指针及变址寄存器 包括SP、BP、SI、DI四个16位寄存器。它们可以像数据 寄存器一样在运算过程中存放操作数,但它们只能以字(16 位)为单位使用。此外,在段内寻址时用它们来提供偏移地 址。 SP:称为堆栈指针寄存器。用来指示栈顶的偏移地址, BP:称为基址指针寄存器。用作堆栈区中的一个基地址以 便访问堆栈中的其他信息。 SI:源变址寄存器。当与DS联用时,用来确定数据段中某 一存储单元的地址,在串处理指令中,SI作为隐含的源变址 寄存器,与DS联用达到在数据段寻址的目的。 DI:目的变址寄存器。在串处理指令中,DI作为隐含的目 的变址寄存器并ES联用在附加段中寻址,其它功能和使用方 法与SI基本相同。

微机原理和接口技术课后习题答案周明德

微机原理和接口技术课后习题答案周明德

微机课后习题答案第一章:1.1 IA- 32结构微处理器直至Pentium4,有哪几种?8086. 80286.80386.80486.Pentium.Pentium MMX. Pentium Pro. Pentium Ⅱ. Pentium Ⅲ1.2 80386和8086在功能上有哪些区别?(1)从16位扩展为32位(2)从保护模式到实模式(3)片内存储管理单元1.3 80486和80386在功能上有哪些区别浮点支持1.4 Pentium相对于80486在功能上有什么扩展?(1)页从4KB扩展到4MB(2)内部寄存器仍是32位,但为了加快数据传送,内部数据总线是128和256位,外部数据总线是64位(3)增加了可编程中断控制器,以支持多个奔腾处理器系统(4)Pentium MMX引入了多媒体扩展指令集技术(MMX)1.5 Pentium Ⅱ以上的处理器采用了什么结构。

P6系列的超标量微结构。

1.6徽处理器、微型计算机和微型计算机系统三者之间有什么不同?微处理器:将cpu集成在一块集成电路芯片上。

微型计算机:由微处理器,存储器,输入输出接口电路和输入输出设备组成。

微型计算机系统:由微型计算机与运行、管理、维护计算机的软件组成。

1.7 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?组成:内部寄存器阵列,累加器和算术逻辑单元,指令寄存器,指令译码器和控制信号的产生电路。

功能:进行算术逻辑运算,控制计算机按照程序的规定运行。

1.8 微型计算机采用总线结构的优点。

增加了数据传送了灵活性,减少了芯片之间的连线,因而减少了连线所占的面积。

且总线可以标准化,有利于工业生产和兼容。

1.9数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?区别:数据总线是双向的,地址总线是单向的。

区分:地址总线和数据总线是分时复用的,它们主要靠信号的时序来区分,通常在读写数据时,先发送地址,然后再将数据送到数据总线上。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章
数据传送指令
罗文坚 中国科大 计算机学院
/~wjluo/mcps/
本章内容
• • • • • • • MOV指令回顾 PUSH/POP指令 装入有效地址 数据串传送 其他数据传送指令 段超越前缀 汇编程序详述
MOV指令回顾
• 机器语言 – 操作码、MOD字段、寄存器分配、R/M存储器寻 址、特殊寻址方式、32位寻址方式、立即指令、 段寄存器MOV指令
8086~Core 2指令的格式
• 段寄存器MOV指令 – 段寄存器的内容通过MOV、PUSH、POP指令传送,用一 组专门的寄存器位(REG字段)选择段寄存器。
8086~Core 2指令的格式
• 段寄存器MOV指令 – 例,MOV [DI], DS
注意Opcode!
64位模式
• 64位模式增加了一个REX前缀(40H~4FH),放在 在其它前缀之后,操作码之前。 • REX前缀的目的是修改指令的第二字节中的REG字 段和R/M字段。 – REG字段用于寻址R8~R15寄存器。
• POP CS是不允许的。
初始化堆栈
• 初始化堆栈时应加载堆栈段寄存器和堆栈指针寄存器。 • 例,堆栈段驻留在10000H~1FFFFH处。
SS=1000H SP=0000H 执行PUSH AX指令?
初始化堆栈
• 汇编语言中堆栈段的设置
• 第一条语句定义堆栈段的开始; • 最后一条语句说明堆栈段的结束。 • 汇编和连接程序将正确的堆栈段的地址压入SS,把 栈顶地址压入SP。
• PUSHFD指令:将标志寄存器EFLAGS压入堆栈。
PUSH指令
• PUSH立即数指令有两种操作码,都是将一个16位立 即数压入堆栈。 – PUSH imm8,操作码为6A – PUSH imm16,操作码为68H
• PUSHD imm32:将32位立即数压入堆栈。
POP指令
• POP指令的格式
8086~Core 2指令的格式
• REG字段和R/M字段(仅当MOD=11时)指示寄存器 的分配情况
8086~Core 2指令的格式
• 例,假设有一个2字节指令8BECH。
MOV BP, SP
8086~Core 2指令的格式
• 例,对于80386以上微处理器,以16位指令模式操作 时,出现了668BE8H指令。 – 第1个字节是66H,寄存器长度超越前缀。 – 操作码MOV,源操作数EAX,目的操作数EBP。 – 这条指令是:MOV EBP, EAX • 例,对于80386以上微处理器,以32位指令模式操作 时,出现了668BE8H指令. – 这条指令是:MOV BP, AX
8086~Core 2指令的格式
• 80386~Core 2微处理器中的32位指令模式,MOD字段的含义:
8086~Core 2指令的格式
• MOD字段的含义受地址长度超越前缀影响。 – 当MOD=10时,16位指令模式下,16位位移量变 成32位位移量。 – 在80386以上微处理器中,工作在32位指令模式下 时,如果不用地址长度超越前缀,则只允许用8位 或32位位移量。 – 当然,32位指令模式下,8位/16位的位移量将被 符号扩展至32位。
8086~Core 2指令的格式
• R/M选择的32位寻址方式
8086~Core 2指令的格式
• R/M选择的32位寻址方式
– 当R/M=100时,指示“比例变址寻址”,指令中 出现附加字节——比例变址字节。
注意:INห้องสมุดไป่ตู้EX=100时,无变址寄存器。
思考:如何指示是否包含位移量?
8086~Core 2指令的格式
PUSH/POP指令
• 立即数寻址(8086/8088不支持,其余支持) – 允许立即数压入堆栈,但不能从堆栈弹出。 • 寄存器寻址 – 可以将任何16位通用寄存器入栈、出栈。 – 80386以上微处理器中,可以将32位扩展寄存器和标志寄 存器EFLAGS入栈、出栈。 – 对于段寄存器寻址,所有段寄存器可以入栈,但CS不作为 出栈的目的操作数。 • 采用存储器寻址时 – 可将16位存储单元的内容入栈、出栈。 – 80386以上CPU中,可将16位存储单元的内容入栈、出栈。
• 6中形式的PUSH/POP指令 – PUSH / POP 寄存器 – PUSH / POP 存储器 – PUSH / POP 立即数 – PUSH / POP 段寄存器 – PUSH / POP 标志寄存器 – PUSHA / POPA (全部寄存器)
• 8086/8088不支持PUSH/POP立即数,不支持 PUSHA/POPA。 • Pentium4和Core2的64位模式不支持PUSHA/POPA。
8086~Core 2指令的格式
• 操作码:选择微处理器执行的操作(加、减、传送) 等。多数机器语言指令的操作码长度为1或2个字节。 • 多数机器语言指令的第1个操作码字节的一般格式。
• D位:指示数据流的方向。 • W位:指令模式位(W=0: 8位;W=1: 16或32位)。
8086~Core 2指令的格式
本章内容
• • • • • • • MOV指令回顾 PUSH/POP指令 装入有效地址 数据串传送 其他数据传送指令 段超越前缀 汇编程序详述
PUSH指令
• PUSH指令的格式
PUSH指令
• PUSHA指令:将AX、CX、DX、BX、SP、BP、SI、 DI顺序入栈。 – 压入堆栈的SP的内容是其在PUSHA指令执行前的 值。
• PUSHF指令:将标志寄存器FLAGS压入堆栈。
• PUSHAD指令:压入80386~Pentium 4中全部32位 寄存器。此时,需要32字节(4×8)的存储空间。
16位指令模式的MOD字段(不带操作数长度前缀)
8086~Core 2指令的格式
• 16位指令模式的MOD字段(不带操作数长度前缀)
– 如果MOD=11,选择寄存器寻址方式,用R/M字段制定寄 存器而不是存储单元。 – 如果MOD=00,01,或10,R/M字段选择一种数据存储器 寻址方式。 • 00表示不带位移量,例,MOV AL, [DI] • 01表示包含8位有符号扩展的位移量。例,MOV AL, [DI+2] • 10表示包含16位有符号扩展的位移量。例,MOV AL, [DI+1000H]
8086~Core 2指令的格式
• 32位指令格式的地址长度前缀(67H)的用法与寄存器长
度前缀类似。
• 在带有前缀的指令中,前缀把寄存器及操作数的长度 从16位转换到32位,或是从32位转换到16位。 • 注意:16位指令模式用8位及16位寄存器和寻址方式; 而32位指令模式使用8位及32位寄存器和寻址方式, 这是默认的用法。 – 前缀可以超越这些默认,使得32位寄存器可以用 于16位模式,而16位寄存器可以用于32位模式。
• R/M选择的32位寻址方式
– 比例变址字节有8位,MOD有2位,REG有3位,D 和W各1位,共计15位,则比例变址有215种组合。 – 在80386~Core2中,仅MOV指令就有32000中组 合。
8086~Core 2指令的格式
• 立即指令。例,MOV WORD PTR [BX+1000H], 1234H
初始化堆栈
• 汇编语言中堆栈段的设置
• 适用于MASM
.MODEL SMALL .STACK 200H;设置堆栈,初始化SS和SP
初始化堆栈
• 如果程序没有定义堆栈段,会出现警告信息。 “LINK: warning L4021: no stack segment” – 该警告信息可以不必理会,因为在操作系统装入程 序时会自动为其添加一个默认的堆栈段,即“缺省 指定”。
64位模式
• REX无比例变址的应用
64位模式
• 64位寄存器和内存的 RRRR和MMMM字段 的标志符
64位模式
• 含比例变址
本章内容
• • • • • • • MOV指令回顾 PUSH/POP指令 装入有效地址 数据串传送 其他数据传送指令 段超越前缀 汇编程序详述
PUSH/POP指令
8086~Core 2指令的格式
• 16位指令模式的MOD字段(不带操作数长度前缀)
– …… – 当微处理器执行指令时,将8位的位移量符号扩展为16位 的位移量。 – 例如,80H符号扩展(sign-extended)后成为FF80H。 • 80386~Core 2微处理器中,对于16位指令模式,MOD字段的 含义没有变化。
8086~Core 2指令的格式
• 16位指令模式
• 32位指令模式(仅用于80386~Pentium 4)
8086~Core 2指令的格式
• 32位指令格式的头2个字节,因为不常出现,故称为超越前 缀(Override prefix)。 – 第1个字节用来修改指令操作数的长度,称为地址长度前 缀。 – 第2个字节修改寄存器的长度,称为寄存器长度前缀。 • 32位指令格式的寄存器长度前缀: – 如果80386~Pentium 4按16位指令模式的机制操作(实 模式或保护模式),而使用32位寄存器,则指令的前面出 现寄存器长度前缀66H。 – 如果微处理器按32位指令模式操作(只在保护模式),而 且使用32位寄存器,则不存在寄存器长度前缀。 – 如果在32位指令模式中出现16位寄存器,则要用寄存器 长度前缀选择16位寄存器。
POP指令
• POP指令不能用立即寻址方式。
• POPF从堆栈弹出2字节数据,并送入FLAGS。 – POPFD恢复EFLAGS。
• POPA从堆栈弹出16字节的数据,依次送入DI、SI、 BP、SP、BX、DX、CX和AX。 – POPAD类似,但针对32位的扩展寄存器。 – 数据出栈时,SP/ESP被忽略。
• 编写汇编程序时,可以指定16位或32位指令模式。
相关文档
最新文档