关于微型计算机原理及应用(第三版)郑学坚周斌编著_第1页
关于微型计算机原理及应用(第三版)郑学坚周斌编著_第2页
关于微型计算机原理及应用(第三版)郑学坚周斌编著_第3页
关于微型计算机原理及应用(第三版)郑学坚周斌编著_第4页
关于微型计算机原理及应用(第三版)郑学坚周斌编著_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微型计算机原理及应用(第三版)郑学坚

周斌 编著新世纪计算机基础教育丛书学

录第1章计算机基础知识第2章微型计算机的基本组成电路第3章微型计算机的基本工作原理第4章16位微处理器*第5章

86系列微型计算机的指令系统*第6章

微型计算机的程序设计*第7章

微型计算机汇编语言及汇编程序*第8章

输入/输出接口*第9章

中断控制器、计数/定时控制器及DMA控制器*第1章

计算机基础知识数制*逻辑电路布尔代数二进制数的运算及其加法电路*一、

数制与数制的转换方法

二进制、八进制、十进制、十六进制和8421BCD码,以及它们之间的转换。二、机器数与真值及其互相转换关系

1、机器数–无符号数–有符号数:原码,反码,补码

2、(机器数的)真值3、机器数与真值的相互转换三、

布尔代数函数只有3种基本方式:“与”运算,“或”运算及“反”运算。(位的清0、位的置1功能)“异或”与加的关系(位的取反功能)1.5真值与机器数(设系统为8位字长)⑴.已知补码求真值(有符十进制表示)①

11110000B②

00110110B真值=真值=①[X]原=10010000,X=-16②[X]原=00110110,X=+54若补码给的是十六进制形式,如F0H①展开[X]补=F0H=11110000B;接下去解法就如同题①8421BCD码00100111表示的十进制数是?答:

(0010

0111)BCD=27第1章基础知识第2章

微型计算机的基本组成电路算术逻辑单元(运算器的基本部件)触发器(基本记忆单元电路)寄存器三态输出电路*总线结构*(概念、优缺点、结构特点)存储器*(类型、组成、特点、容量及其与地址位数的关系)第2章基本电路2.3

N位地址的存储器其容量是多少?若某动态存储器芯片有行、列地址各12位,该芯片的存储单元数是多少?若系统中需组成一个256K字节的RAM,选用128K×4位的芯片,需要多少片?2.3答:①容量=2N;②地址=12+12=24,224=16M单元③片数=总位数/每片位数=(256×8)/(128×4)=4片第3章

微型计算机的基本工作原理微型计算机基本结构与组成现代技术在微型计算机中的应用*一、现代技术在微型计算机中的应用二、流水线技术流水线技术是一种同时进行若干操作的并行处理方式。三、高速缓冲存储器

在微型计算机中,虽然CPU的处理速度大大地提高,但主存储器的存/取时间却要比CPU速度慢得多,这一现象严重地影响微型机的运算速度。作用:大大提高对慢部件访问的等效速度

在主存储器和CPU之间加一个容量相对较小的高速缓冲存储器(cache,简称高速缓存器)。CPU在取下一条指令或向操作数发出一个地址时,首先查看所需的数据是否就在高速缓存器里,⑴如果在高速缓存器内(即命中),就立即高速传送给

CPU(快速);⑵如果不在缓存器中(即未命中),就要做一次常规的存储器访问(慢速),从主存储器中存入或取出时,都把被询数及所在的数据块传到高速缓存器中,从而提高命中率。需求、组成、工作原理、使用效果四、虚拟存储器要解决的问题、需要的支持等第3章微机基本工作原理采用流水线的微处理器为何能提高指令的执行速率?

3.1答:采用流水线的微处理是靠流水线各级的并行操作来提高执行指令的速率。3.2为何要在微机中引入CACHE技术?现代微型机中哪些地方使用了CACHE?什么叫命中?CACHE的作用是什么?

CACHE主要靠什么使它能发挥作用的?第4章

16位微处理器*16位微处理器概述8086/8088

CPU的结构*8086/8088

CPU的引脚信号和工作模式*8086/8088的主要操作功能第4章16位微处理器1.8086微处理器由BIU和EU两部分构成什么电路结构?二者之间通过什么联接?(参考作业2,题4.1)答:二级流水线;指令队列8086CPU总线周期由几个时钟周期构成?P78,P97.答:4T8086CPU等待时钟是在总线周期的哪个时钟后插入?P82.答:T38086/8088

CPU的总线周期是指?答:BIU每完成一次对存储器或I/O端口访问所需的时间引脚状态为IO/M#=0,DT/R#=1时8088作什么操作?(参考作业2,题4.25。)答:存储器写第4章16位微处理器6.INT

2AH中断向量在内存的什么单元?(参考作业2,题4.9,题4.16。P101)答:由2AH×4算得的4个字节,0000:00A8H-00ABH如何设置8086

CPU的最小工作方式?最小工作方式是?(参考作业2,题4.29。)答:MN/MX#=1,系统中只有一个处理器,系统资源由该处理器独占8086系统采用什么方式的I/O端口地址与内存地址?答:分别独立编址当8086CPU复位后的指令指针和中断允许标志的状态是?答:FFFF:0000H;IF=0禁止中断状态CPU操作状态:

M/IO#=1,RD#=0,WR#=1:CPU作内存读操作M/IO#=0,RD#=1,WR#=0:CPU作端口写操作(输出)最小方式系统控制信号直接来自CPU+++

+RDM/IOWRMEMRIORIOWMEMW芯片的控制信号系统控制信号由片信号组合形成系统的控制信号,用于部件控制第4章16位微处理器第5章

86系列微型计算机的指令系统*86系列汇编语言及指令的格式与寻址方式传送类指令数据操作类指令串操作指令控制类指令86系列CPU的寻址方式立即数寻址寄存器寻址存储器寻址①直接寻址(常数指针)②寄存器间接寻址(指针寄存器)基址寻址、变址寻址、……(数据)指针寄存器只有BX,BP,SI和DI。访问内存的指针由常数指针、基址指针(BX,BP)和变址指针(SI,

DI)三者的组合形成。寻址时注意默认的段寄存器。

存储器寻址:常数指针、基址指针和变址指针可组合成寻址的有效地址。第5章86系列微机指令系统1.(题5.1)如果用调试程序Debug的r命令在终端上显示出当前各寄存器的内容如下,请问①当前的栈顶(逻辑)地址?②当前的指令(逻辑)地址?若使用串指令,③问源串(逻辑)首地址?④目的串(逻辑)首地址?⑤目串长度(字节操作)?⑥以及条件标志OF、SF、ZF、CF的值。AX=0000

BX=0000

CX=0079

DX=0000

SP=FFEEBP=0000

SI=0010

DI=0300

DS=10E4

ES=10F4SS=21F0

CS=31FF

IP=0100NV

UP

DI

PL

NZ

NA

PO

NC答:①21F0:FFEEH②31FF:0100H③10E4:0010H

④10F4:0300H

⑤CX=0079H⑥OF=0,SF=0,ZF=0,CF=0第5章86系列微机指令系统若ES=2000H,DS=1500H,CS=4000H,SS=1000H,BX=5006H,SI=0201H,问指令MOV[BX][SI],AL的寻址方式及目的操作数所在存储单元的物理地址?答:源:寄存器寻址,目的:基址变址;15000H+5006H+0201H=1A207H8086CPU堆栈指针SP初值,最好应指向偶地址还是指向奇地址单元?为什么?答:最好指向偶地址单元,因为8086CPU堆栈操作都是16位操作数,偶地址开始的字是规则字(对准16位数据总

线),这样的栈操作只要一个总线周期,因此速度快.第5章86系列微机指令系统设AL=-39,用一条指令使AL=39,这条指令是?答:NEG

AL设单字节机器数A2H,若用CBW扩展则结果是?答:由于A2H是负数的机器数,所以结果是FFA2H6.在指令ADD、CALL、JMP、PUSH、ROL、MOV、RET中,会影响堆栈的指令是?答:CALL、PUSH、RET第6章

微型计算机的程序设计*程序设计步骤简单程序分支程序循环程序子程序查表程序程序设计步骤汇编语言程序设计归纳如下7个步骤。

程序调试是为了纠正错误。纠正错误的方法很多,例如在编辑、汇编、连接或用调试软件(如

DEBUG、CodeView等)调试时都可以发现错误并设法修改程序。本章着重认识汇编程序中常见的几种结构6.2

简单程序(结构)

该程序结构的特点是顺序逐条执行指令语句,直到程序结束。6.3分支程序

分支(结构)程序是利用条件转移指令,使程序执行到某一指令后,根据条件是否满足,来改变程序执行的次序。这类程序使计算机有了判断功能。分支的关键在于:①先用比较指令或数据操作及位检测指令等来改变标志寄存器各个标志位(产生条件)。②用条件转移指令进行分支(条件判定、分支)。6.4循环程序循环(结构)程序重复执行某一指令系列。

循环程序一般由4部分组成:初始化、循环体、循环控制和循环结束处理着重:①减1计数法;②条件控制法6.5子程序子程序调用与返回子程序设计与应用应注意的问题现场保护与恢复参数传递子程序说明(功能、参数入/出口、使用的特殊性、范例等)要求能把一般程序改写成子程序,并注意上述问题6.6查表程序(线性表)理解线性表的查找原理和算法,能够熟练使用XLAT,或编写查表(表格项为单/多字节)程序。第6章微机程序设计分析下面程序段:ORG

500HA1

DB

?…

…LEAMOVNEXT:ADDLOOPSI,A1CX,SISI,2NEXT问:变量A1的偏移地址=?程序段执行后SI=?分析:这是一个循环程序,循环量由CX=SI=500H决定答:①ORG指令决定A1的地址为500H。②SI初值为500H,每次循环都加2,所以SI=500H+2×500H=F00H第6章微机程序设计6.7分析下面程序段:MOVAL,200;200=C8H=11001000BSARAL

,1;AL=11100100BMOVBL,AL;BL=11100100BMOVCL

,2SARAL

,CL;

AL=11111001BADDAL

,BL;

AL=11011101B试问程序段执行后AL=

,BL=

。解法1:按指令功能,一条条处理得到结果答:执行后AL=

11011101B或=DDH

BL=11100100B或=E4H。ALCF第6章微机程序设计6.7分析下面程序段:MOVAL,200;200=C8H=11001000B→-56SARAL

,1;AL=-28MOVBL,AL;BL

=-28MOVCL

,2SARAL

,CL;

AL=-7ADDAL

,BL;AL=-35=11011101B=DDH解法2:理解SAR指令具有有符号数的除2功能答:执行后AL

=-35或=11011101B或=DDH

BL

=-28或=11100100B或=E4H。第6章微机程序设计设CX=–1,这四条指令:①INC

CX②SUB

CX,0FFFFH③AND

CX,0FFFFH④XOR

CX,0FFFFH,哪条能使CX=0?答:使CX=0的:

INC

CXSUB

CX,0FFFFHXOR

CX,0FFFFH第7章

微型计算机汇编语言及汇编程序*宏汇编语言的基本语法伪指令*宏指令*系统功能调用*汇编程序的功能及汇编过程汇编语言程序设计*

*7.1.3

表达式与运算符增加了数据来源形式和使用的灵活性主要运算符:1算术、2分析、3组合等7.2

伪指令

伪指令没有对应的机器指令,它不是由86系列

CPU来执行,而是由汇编软件(如MASM等)识别,并完成相应的功能。因此也可称之为汇编命令。必须搞清楚这些伪指令的功能及其用法,才能比较好地编制汇编语言源程序。

主要有:{EQU=},{DB

DW

DD},{SEGMENTENDS

PROC

ENDP},ASSUME

END

ORG等7.3

宏指令

宏指令是一种简化汇编语言源程序的方法。把频繁出现的程序段定义为“宏指令”,当程序中遇到这个程序段时,只需用一条宏调用语句,这样有效地缩短了源程序的长度,使源程序易读,也减少了由于重复书写而引起的错误。掌握宏指令的定义与调用方法,理解虚参与实参的关系,还要会用重复定义语句定义表格等。例:⑴在DATA数据段中用宏指令定义线性表Y=X2+4X,其中

X=2,3,4,…,50,表的首地址为XTAB。(双字节)判定表项的最大值2700,所以数据定义为双字节SEGMENTX=2XTAB

EQU

THIS

WORDREPT

(50-2+1)DW

X*X+4*X·

DATA·······DATAX=X+1ENDMENDS7.4

系统功能调用

系统中有许多内部例程子程序,可完成I/O设备管理、存储管理、文件管理和作业管理等功能。它们的入口已由系统置入中断入口地址表中。为了利用系统资源、为给编写汇编语言源程序提供方便,在汇编语言源程序中可用软中断指令调用它们。理解和掌握INT

21H中AH=1、2、9、0AH,4CH功能及光标换行等,并能熟练应用在程序编写中。汇编程序的功能及汇编过程汇编程序的功能常用DEBUG命令的使用:{D,E},{

A,U},{T,G},{R,R

reg},Q例:写出在DEBUG中执行520H~56AH之间的程序段的指令。答:G=520

,56A例:在DEBUG中显示当前数据段中320—32FH的内容.答:D

320,32F

汇编语言的程序要经过编辑、汇编(MASM或TASM)、连接(LINK)和调试(DEBUG、TD、CodeView等)这些步骤。建立源程序文件汇编(MASM或ASM)源程序程序连接调试程序执行程序7.6

汇编语言程序设计第7章汇编语言程序设计7.9在STR单元开始定义了一长度为LEN字节的字符串,统计出其中大写字母的个数并存放到LARGE字节单元中。请编一完整的源程序。数据段如下:DATA

SEGMENTSTR

DB

‘The

fact

that

we

are…’LEN

EQU

$-

STRLGE

DB

?DATA

ENDS答:CD

EGMENTASSUME

CS:CD,DS:DATALARG

PROC

FARMOV

AX,DATA

MOV

DS,AXLEA

SI,STRMOV

CX,LENMOV

BL,0NT:

CMP

BYTE

PTR

[SI],‘A’JB

NOLARGCMP

BYTE

PTR

[SI],‘Z’JA

NOLARGINC

BLNOLARG:INC

SILOOP

NTMOV

LGE,BLMOV

AH,4CHINT

21HLARG

ENDP

CD

ENDSEND

LARG第8章

输入/输出接口*微型计算机的输入/输出接口*并行通信与并行接口可编程并行通信接口芯片8255A*串行通信及串行接口可编程串行通信接口芯片8251A*8.1.2输入/输出的控制方式程序控制方式中断控制方式(也要用程序作输入/输出)直接存储器存取方式(DMA方式)(输入/输出不用CPU)输入/输出处理机方式比较这些方式各自的优缺点和适用范围并行通信与并行接口可编程并行通信接口芯片8255A

理解并行通信概念,掌握几种常用芯片(如74LS244、373、138、8282、8255A等),能设计、解释简单的

应用接口。8.4串行通信及串行接口

着重理解串行通信原理和方法,接口各部分的功能和之间的关系;正确编写8251A初始化程序和简单通信程序。串行通信数据的收发方式(协议)异步通信方式同步通信方式了解它们的异同点第8章

输入/输出接口1.8255芯片的PC口具有位控功能,CPU可用输出指令单独置C口的某位的状态,正确的方法是通过哪个口写入?设置PC0=1和PC7=0的控制字各是?(参考作业6,题8.7

)答:向控制口写;01H=00000001B,0EH=00001110B什么是波特率?(参考作业6,题8.12)工作在异步串行数据传送方式,每个字符传送格式为8位数据,1位奇偶校验位,2位停止位,当波特率为

9600bps(位/每秒),问每秒钟最多能传送的字符数是?答:9600/(1+8+1+2)=800(字符/秒)第8章

输入/输出接口设8255芯片的PA、PB、PC和控制口地址为20H—23H,用

PA口监测开关SW1、SW2的状态,控制接在PB口的8只发光管L0—L7。①写出8255的初始化程序,通道PA和PB都采用方式0,并使发光管处在全暗状态。②编写工作程序。要求程序循环进行:当SW0=1时,8个发光二级管全暗;

当SW0=0时,若SW1=0,则每次一个管亮600毫秒,8个管

按L0→L1→L2……→L7→L0…顺序循环点亮;若SW1=1,则点亮时间缩小到300毫秒(设有现成延时50毫秒的子程序D50MS可供调用).。(参考作业6,题8.15)第8章

输入/输出接口如图有以下结论:①i灯亮PBi=0,i灯暗PBi=1②SWi接通,则PAi=0,断开时则PAi=1③测SW0IN

AL,20HTEST

AL,00000001BJZ

转SW0接通处理SW0断开处理④SW0接通情况下,测SW1:TEST

AL,00000010BJ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论