微机原理与应用 习题课

28
微微微微微微微微微微 2009.11. 5 2009.11. 5

Upload: alexis-chen

Post on 02-Jan-2016

151 views

Category:

Documents


4 download

DESCRIPTION

微机原理与应用 习题课. 2009.11. 5. 运算器. 输出设备. 输入设备. 存储器. 控制器. 计算机组成结构. 第一章 概述 计算机的组成 - 冯 · 诺依曼结构. 微处理器 :进行算数 运算和逻辑运算。. 微型计算机硬件系统组成. 存储器 :存储程序、 数据、符号等. I/O 接口 :使外设 与微机相连。. 思考:. 计算机 由哪几部分组成? 微处理器、微型计算机和微型计算机系统三者之间有什么不同?. 暂存数据和结果. 分析和 执行指令. 控制单元. 工作寄存器组. 算术和 逻辑运算. I/O 控制逻辑. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 微机原理与应用 习题课

微机原理与应用习题课

2009.11. 52009.11. 5

Page 2: 微机原理与应用 习题课

第一章 概述第一章 概述计算机的组成 - 冯 · 诺依曼结构

存储器输入设备

控制器

计算机组成结构

输出设备

运算器

Page 3: 微机原理与应用 习题课

微型计算机硬件系统组成微处理器:进行算数

运算和逻辑运算。

存储器:存储程序、数据、符号等

I/O 接口:使外设与微机相连。

Page 4: 微机原理与应用 习题课

思考:思考:计算机由哪几部分组成?微处理器、微型计算机和微型计算机系统三者之间有什么不同?

Page 5: 微机原理与应用 习题课

CPU 结构

控制单元

I/O 控制逻辑

工作寄存器组

ALU

暂存数据和结果

算术和逻辑运算

分析和执行指令

Page 6: 微机原理与应用 习题课

可以进行算数与逻辑运算可以保存少量数据能对指令进行译码并执行指令能与存储器、外设交换信息提供系统所需的定时和控制可响应其它部件发来的中断请求

CPU 功能::

Page 7: 微机原理与应用 习题课

思考:

CPU 在内部结构上由哪几部分组成 ?CPU 应具备什么功能 ? 累加器和其他通用寄存器相比有何不同 ?

Page 8: 微机原理与应用 习题课

第二章 8086/8088 处理器

Page 9: 微机原理与应用 习题课

Intel 8086 微处理器结构(重点)

80868086 的内部结构-的内部结构-成两部分 :总线接口部件 BIU:

总线接口单元 BIU ,负责控制存贮器读写。执行部件 EU:

执行单元 EU 从指令队列中取出指令并执行。特点特点:

BIU 与 EU 两个单元相互独立,分别完成各自操作,还可以并行执行,实现指令预取(指令读取和执行的流水线操作)取指令和执行指令分开进行,提高了速度。

2.2.1 Intel 8086 微处理器结构: 80868086 的内部结构的内部结构

Page 10: 微机原理与应用 习题课
Page 11: 微机原理与应用 习题课

8086 的指令执行过程

Page 12: 微机原理与应用 习题课

16 位标志寄存器标志( Flag )用于反映指令执行结果16 位字利用了 9 位

标志分两类:状态标志( 6 位):反映刚刚完成的操作结果情况。控制标志( 3 位):在某些指令操作中起控制作用。

OF DF IF TF ZF AFSF PF CF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

程序设计需要利用标志的状态!

2.2.1 Intel 8086 微处理器结构:执行部件执行部件 EUEU

Page 13: 微机原理与应用 习题课

思考:8086 的总线接口部件有那几部分组成 ? 8086 的执行部件有什么功能 ? 由那几部分组成 ?

8086/8088内部有哪些通用寄存器?

Page 14: 微机原理与应用 习题课

8086CPU 有 20 条地址线最大可寻址空间为 220= 1MB物理地址范围从 00000H ~ FFFFFH

8086CPU 将 1MB 空间分成许多逻辑段( Segment )

每个段最大限制为 64KB段地址的低 4 位为 0000B

这样,一个存储单元除具有一个唯一的物理地址外,还具有多个逻辑地址

2.2.1 Intel 8086 微处理器结构:存储器的分段管理存储器的分段管理

Page 15: 微机原理与应用 习题课

8086CPU 存储系统中,对应每个物理存储单元都有一个唯一的 20位编号,就是物理地址,从 00000H ~ FFFFFH分段后在用户编程时,采用逻辑地址,形式为

段基地址 : 段内偏移地址

分隔符

物理地址 14700H逻辑地址 1460H:100H

2.2.1 Intel 8086 微处理器结构:存储器的分段管理存储器的分段管理

Page 16: 微机原理与应用 习题课

一个物理地址可以有多个逻辑地址将逻辑地址中的段地址左移 4 位,加上偏移地址就得到 20 位物理地址物理地址 = 16d× 段地址 + 偏移地址

例 5 :逻辑地址 1460:0100H 物理地址 14700H

2.2.1 Intel 8086 微处理器结构:存储器的逻辑地址存储器的逻辑地址

Page 17: 微机原理与应用 习题课

思考:8086CPU 最大可寻址空间为多少?存储器的物理地址是唯一的,用逻辑地址表示一个物理地址,逻辑地址是唯一的吗?存储器的逻辑地址由哪几部分组成?存储器的物理地址是怎样形成的?一个段最大寻址空间为多少?

Page 18: 微机原理与应用 习题课

存储器分段小节:程序的指令序列必须安排在代码段程序使用的堆栈一定在堆栈段程序中的数据默认是安排在数据段,也经常安排在附加段,尤其是串操作的目的区必须是附加段数据的存放比较灵活,实际上可以存放在任何一种逻辑段中

2.2.1 Intel 8086 微处理器结构:如何分配各个逻辑段如何分配各个逻辑段

Page 19: 微机原理与应用 习题课

思考:代码段地址由 CPU 的哪两个寄存器确定?堆栈段地址由 CPU 的哪两个寄存器确定?

Page 20: 微机原理与应用 习题课

第第 33 章 章 80868086 指令系统指令系统了解微处理器基本结构、 8088/8086 的功能结构掌握 8088/8086 的寄存器结构、存储器结构和寻址方式熟悉汇编语言的语句格式,掌握 8088/8086 基本指令:

数据传送: MOV / XCHG / XLAT 、 PUSH / POP 、 LEA加减运算: ADD / SUB 、 ADC / SBB 、 CMP 、 INC / DEC

AAA/DAA 、 AAS/DAS位 操 作: AND / OR / XOR / NOT / TEST 、 SHL / SHR / SAR 、

ROL / ROR / RCL / RCR串 操 作: MOVSB 、 CMPSB 、 SCASB控制转移: JMP 、 JZ/JNZ 、 JC/JNC 、 JA/JNA 、 JB/JNB 、 JG/JL 、 LOOP 、 CALL / RET 、 INT n

Page 21: 微机原理与应用 习题课

例 1 、请指出下列指令源操作数是什么寻址方式? ( l ) MOV CL , 20H ( 2 ) MOV [BP][DI] , CX( 3 ) LEA BX , 20H [ BX ] [SI] 2 、解释下列指令的含义:( 1 ) MOV BX, BUFFER LEA BX, BUFFER ;MOV BX, OFFSET BUFFER( 2 ) LEA AX, [2344H]

LDS DI, [2344H] 假设: DS=1000H,(12344H)=082CH, (12346H)=6F78H 执行上面两条指令后, AX=2344H DS=6F78H DI=082CH

Page 22: 微机原理与应用 习题课

例 3 、下面这些指令哪些是正确的?哪些是错误的?如是错误的,请说明原因。1) MOV DS,AX ( )

2) MOV [BX] , [1000] ( )

3) PUSH CS ( )

4) POP CS ( )

5) MOV 1000H,AX ( )

6) MOV AX,BL ( )

7) OUT 20H,AL ( )

Page 23: 微机原理与应用 习题课

例 4: 89+75=164 MOV AL , 89H MOV BL , 75H ADD AL , BL ;( AL ) =0FEH , AF=0 , CF=0 DAA ;( AL ) =64H , AF=1 , CF=1

例 5 :假定 DH=10111001B , CF=1 ,试确定下列各条指令单独执行后 DH 的值。 ( 1 ) SHL DH , 1 ; DH=01110010,CF=1( 2 ) SAR DH , 1 ; DH=11011100,CF=1( 3 ) ROL DH , 1 ; DH=01110011,CF=1

Page 24: 微机原理与应用 习题课

第第 44 章 汇编语言程序设计章 汇编语言程序设计熟悉常见程序设计问题

多精度运算查表(查代码、特定值等)ASCII 和 BCD 代码转换;数据范围判断( 0~9 、 A~Z 、a~z )字母大小写转换字符串传送、比较等操作求最小最大值数据求和统计字符个数

Page 25: 微机原理与应用 习题课

伪指令OFFSETSEG/ORGDB/DW/DDPTR SEGMENT/ENDS/END/ASSUMEFAR/NEAR

例: BUF DB 12H,56H,78H N EQU $-BUF ; N=0003H MOV BX,OFFSET BUF ; (BX)=0000H MOV AL,BUF+1 ; (AL)=56H MOV DX,WORD PTR [BX] ; (DX)=5612H

Page 26: 微机原理与应用 习题课

例 1 :将 DAT1 开始的 10 个字节传送到 DAT2 开始单元。 MOV SI,OFFSET DAT1 ;SI 指向源串地址MOV DI,OFFSET DAT2 ;DI 指向源串地址MOV CX,10 ; 置计数器 CLD ; 清方向标志 REP MOVSB ; 将源地址的 10 个字传送到目的地址单元

例 2 :假设将 1000H : 2000H 开始的 10 个数据传送到 1000H:2005H 开始单元,编程。MOV SI,2000HMOV DI,2005HADD SI,10-1ADD DI,10-1MOV CX,10STD REP MOVSB

Page 27: 微机原理与应用 习题课

例 3. 从地址为 BLOCK 开始单元 , 存放 100 个字节的字符串 , 找出第一个字符 $ (ASCII 码 24H), 将 $ 的第一个地址存入 BX 中 , 否则将 BX 清零 .

LEA DI, BLOCK ; 送目标串首地址 MOV CX, 100 CLD ; 清方向标志 MOV AL, ‘$’ REPNZ SCANB ;AL - [DI] JZ FOUND ; 找到 $, 转 MOV BX,0 JMP STOPFOUND: DEC DI ; 退回到 $ 所在地址 MOV BX,DI ;$ 所在地址送 BXSTOP: HLT

Page 28: 微机原理与应用 习题课

例 4: 求和 Y=A1 + A2 + …. + A100Ai 是字变量。设 CX: 计数器,循环次数

BX: 数据指针DX, AX: 存和 XOR AX, AX ; 清 AX MOV BX, OFFSET TABLE

MOV CX, 100 CLC LP: ADD AX, [BX] ; 求和 JNC DON INC DX CLC DON: INC BX INC BX ; 指向下一个数 LOOP LP ; 未加完 , 继续 MOV YAL,AX ; 存和 MOV YAH,DX