《微机原理与接口技术》课程特点-⒈-综合性强课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《微机原理与接口技术》课程特点-⒈-综合性强课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理与接口技术 微机 原理 接口 技术 课程 特点 综合性 课件
- 资源描述:
-
1、 微机原理与接口技术微机原理与接口技术课程特点课程特点 综合性强综合性强 数字电路、汇编语言程序设计和可编程I/O接口组成 本课程的“三大基石”。使用基本逻辑部件和可编程I/O接口,组成计算机 系统的各种功能电路。使用汇编语言设计控制或者驱动程序,实现电路 的控制功能。三方面知识的有机结合,综合应用。实践(验)性强实践(验)性强 本课程的理解程度、学习效果和学习兴致,与实验操作密切相关。理论知识指导实验操作,实验结果验证理论,通过实验寻找感觉,在深入探索的基础上,有所新认识、新发现。课程主要内容课程主要内容以8088(6)微处理器为核心,介绍其工作原理和接口技术。内容有:CPU、总线控制器、时
2、钟发生器、各种半导体存储器和一系列可编程I/O接口。实验设备与方法实验设备与方法 由PC系统和扩展I/O接口实验系统组成。程序设计使用汇编语言。课程考核课程考核由以下三个方面组成:实验考核:考核对待实验的态度、实验设计与调试 的能力、实验报告的撰写水平等。出勤考核:期中考核:期末考核:第一章第一章 CPU的逻辑结构的逻辑结构一、一、8086的程序模型的程序模型 程序模型程序模型 CPU内部的寄存器阵列,通过汇编语言操作。程序模型图解程序模型图解2.1 通用寄存器通用寄存器 AL AH BL BH DL DH CL CH15 8 7 0AXBXCXDX IP SP BP DI SI15 02.2
3、 段寄存器段寄存器 SS ES DS CS15 0二、内存结构图解二、内存结构图解 字节单元结构字节单元结构 A a1100100B 64H 1007 0100H101H102H103H104H 字单元结构字单元结构 AB ab 0F490H 64ABH 102415 0 100H 102H 104H 106H 108H 数据存储格式数据存储格式小端存储格式小端存储格式 低字节存放低地址单元,高字节存放高地址单元。大端存储格式大端存储格式 低字节存放高地址单元,高字节存放低地址单元。3A 5D7 0100H101H102H103H104H3A5DH 的小端存储格式的小端存储格式 5D 3A7
4、0100H101H102H103H104H3A5DH 的大端存储格式的大端存储格式 练习:将字单元结构转换成小端存储格式练习:将字单元结构转换成小端存储格式 AB ab 0F490H 64ABH 102415 0 100H 102H 104H 106H 108H 内存分段结构内存分段结构 代码(CS)段:源程序存储区。数据(DS)段:操作数存储区。附加(ES)段:数据段扩展。堆栈(SS)段:数据后进先出的存储区CS存储区DS存储区SS存储区ES存储区 物理地址和逻辑地址物理地址和逻辑地址 物理地址物理地址:每个内存单元唯一的地址,由CPU输出。逻辑地址逻辑地址:由段地址和偏移地址组成。编写源程
5、序使用的地址。每个单元享有多个逻辑地址。段地址段地址:段区20位起始物理地址的高16位部分。由CS、DS、ES、SS之一提供。偏移地址偏移地址:段内部单元偏离段起始单元的距离。由BX、SI、DI、BP等提供。逻辑地址与物理地址的转换逻辑地址与物理地址的转换 物理地址段地址10H偏移地址20位段首物理地址练习:将下列4个逻辑地址转换成物理地址。CS1000H,BX1004H;DS208H,SI 284H;ES3406H,DI 23A4H;SS0A05H,BP 10B4H;第二章第二章 汇编语言的寻址方式汇编语言的寻址方式计算机的“方言方言”,与CPU逻辑结构密切相关。编程语句:各种操作功能的指令
6、。例如:四则运算指令、逻辑运算指令等。汇编语言?汇编语言?指令中说明源、目操作数来源的符号。指令中说明源、目操作数来源的符号。汇编语言的核心内容。汇编语言的核心内容。寻址方式寻址方式 指令的基本格式指令的基本格式 OP DST,SRC;说明:OP:操作码(MOV、ADD、SUB)DST:目地址,目操作数。SRC:源地址,源操作数。源操作数:源操作数:来自寄存器、内存单元、立即数和I/O 端口之一。目操作数:目操作数:来自寄存器、内存单元和I/O端口之一。源、目操作数的字长相等。执行结果存入目地址,源操作数不变。源、目操作数不能同为内存单元或I/O端口。目操作数不能是立即数。汇编语言的基本汇编语
7、言的基本“军规军规”:主要的寻址方式主要的寻址方式4.1 立即寻址 源操作数是8/16位直观数据(“现金”)。MOV AL,100;MOV AH,64H;MOV AX,1000H;MOV BL,10011B;MOV BH,A;MOV BX,1000;MOV CL,2;MOV CH,2;MOV CX,2;指出以下指令的错误MOV BL,256;MOV BH,100H;MOV BX,65536;MOV CL,129;MOV CH,128;MOV 100H,CX;4.2 寄存器寻址寄存器寻址 源或目操作数来自8/16位寄存器。MOV AL,DL;ADD AH,CH;SUB AX,BX;SUB SI,
8、BX;ADD BP,AX;AND BX,DI;OR CX,SP;MOV DS,DX;MOV BX,ES;以下指令错误:MOV SI,BL;ADD BH,AX;SUB DX,CH;AND CX,IP;4.3 寄存器间址寄存器间址 源或者目操作数来自内存单元。指定:BX、SI、DI、BP提供偏移地址;CS、DS、ES、SS提供段地址。间址单元汇编符号间址单元汇编符号MEM:BX、BP、SI、DI。其他非法!其他非法!例例1:阅读下列指令,图解执行结果。:阅读下列指令,图解执行结果。MOV AX,1020H;MOV DS,AX;MOV BX,AX;MOV BX,AH;MOV BX+1,AL;AHAL
9、1020H:1020H 1021H 例例2:图解下列指令执行结果。:图解下列指令执行结果。MOV CX,1ABCH;MOV ES,CX;MOV SI,1020H;MOV ES:SI,CL;MOV ES:SI+1,CH;段名前缀CLCH1ABCH:1020H 1021H 例例3:图解下列指令执行结果。:图解下列指令执行结果。MOV CX,1ABCH;MOV ES,CX;MOV BP,1020H;MOV BP,CL;MOV BP+1,CH;省略段名前缀省略段名前缀寄存器间址单元的段默认:寄存器间址单元的段默认:默认默认DS段段 MOV SI,CL;MOV DI,AL;MOV BX,DL;MOV D
10、S:SI,CL;MOV DS:DI,AL;MOV DS:BX,DL;默认默认ES段段 MOV ES:BP,DL;MOV BP,AL;默认默认SS段段 PUSH AX;AX SS:SP字单元 SP=SP+2 POP DX;DX SS:SP字单元 SP=SP-215 0SS:SP高地址方向AX练习:阅读指令,指出内存单元的段属性。练习:阅读指令,指出内存单元的段属性。MOV CS:SI,CL;MOV ES:SI,CL;MOV AX,DI;MOV DS:BP,512;MOV BP,256;4.4 直接寻址直接寻址 源或者目操作数来自内存单元。指令直接给出偏移地址。CS、DS、ES、SS提供段地址。例
11、:设DS=100H,ES=200H,CS=300H,图解执行结果。MOV AX,-2;MOV ES:100H,AH;MOV 101H,AL;MOV CS:200H,-129;小端存储0FFH0FEH7FH0FFH7 0200H:100H100H:101H300H:200H 201H4.5 I/O端口寻址(输入端口寻址(输入/输出指令)输出指令)OUT 40H,AL;IN AL,40H;4.5.1 直接寻址直接寻址 只能使用只能使用8位地址,寻址位地址,寻址I/O端口。端口。OUT 64,AL;IN AL,64;比较前后两组指令之区别。比较前后两组指令之区别。OUT 10H,AX;IN AX,1
12、0H;OUT 16,AX;IN AX,16;错误的直接寻址:错误的直接寻址:OUT 100H,AL;IN AL,100H;OUT 256,AX;IN AX,256;4.5.2 I/O端口间接寻址端口间接寻址 由由DX指定指定I/O端口。端口。MOV DX,100H;端口地址OUT DX,AL;输出数据IN AL,DX;输入数据MOV DX,20H;OUT DX,AX;16位I/O端口IN AX,DX;例例1:指出端口字长和寻址方式。:指出端口字长和寻址方式。OUT DX,AL;IN AL,DX;OUT 20H,AL;IN AL,20H;8位端口,间址8位端口,直接寻址AL7 0端口7 0 20
13、H端口7 0 DXOUT DX,AX;IN AX,DX;OUT 100,AX;IN AX,100;例例2:指出端口寻址方式和字长。:指出端口寻址方式和字长。16位端口,间址16位端口,直接寻址AX15 0端口15 0 100端口15 0 DX例例3:指出下列指令的错误。:指出下列指令的错误。OUT DX,AH;IN AH,DX;OUT 100H,AL;IN AX,CX;OUT DX,BL;例例4、图解执行结果。、图解执行结果。MOV AL,15;OUT 2,AL;IN AL,2;MOV AH,AL;MOV DS,AX;MOV 2,AX;例例5、比较下列指令。、比较下列指令。MOV DX,AL;
14、OUT DX,AL;IN AX,256;MOV AX,256;IN AL,DX;MOV AL,DX;MOV DX,AX;OUT DX,AX;8086指令系统(编程语句集合)指令系统(编程语句集合)一、数据传送类指令一、数据传送类指令 通用寄存器赋值 MOV AL,100;MOV CH,64H;MOV AX,1000H;MOV BL,10010011B;MOV BH,A;MOV BX,1000;MOV CL,2;MOV CH,125;MOV CX,1000;错误的赋值:MOV BL,256;MOV CH,-129;MOV DX,65536;MOV DS,1290H;MOV ES,1280H;军规
15、:段寄存器不能用立即数赋值!军规:段寄存器不能用立即数赋值!段寄存器赋值段寄存器赋值 令DS100H MOV AX,100H;MOV DS,AX;令ES1000H MOV CX,1000H;MOV ES,CX;令SS2100H MOV BX,2100H;MOV SS,BX;令CS4000H MOV SI,4000H;MOV CS,SI;军规:程序员不能赋值军规:程序员不能赋值CS,由系统程序赋值。,由系统程序赋值。小结:小结:段寄存器不接受立即数。段寄存器接受寄存器赋值。CS不能软件赋值。内存单元赋值(写内存)内存单元赋值(写内存)3.1 使用寄存器赋值使用寄存器赋值 MOV BX,AX;MO
16、V BP,DX;MOV ES:DI,CL;MOV CS:100H,CH;分析内存单元字长、逻辑和物理地址。3.2 使用立即数赋值使用立即数赋值 MOV BX,100H;MOV ES:SI,256;MOV SI,129;MOV CS:DI,128;分析内存单元字长、逻辑和物理地址。具有二义性的立即数赋值:具有二义性的立即数赋值:MOV BX,10H;MOV ES:SI,255;MOV SI,2;MOV CS:DI,2;如何解决二义性?如何解决二义性?使用说明符定义单元字长:使用说明符定义单元字长:MOV Byte PTR BX,10H;MOV Word PTR ES:SI,255;MOV Wor
17、d PTR SI,-2;MOV Byte PTR CS:DI,-2;3.3 读内存数据读内存数据 MOV AL,BX;MOV BX,ES:SI;MOV CH,BP;MOV DX,CS:DI;MOV DL,100H;分析内存单元字长、逻辑和物理地址。I/O 端口操作端口操作4.1 存取存取8位位I/O端口端口OUT DX,AL;IN AL,DX;OUT 20H,AL;IN AL,20H;4.2 存取存取16位位I/O端口端口OUT DX,AX;IN AX,DX;OUT 20H,AX;IN AX,20H;编写指令序列,完成下列操作。(实验素材)编写指令序列,完成下列操作。(实验素材)AX 与 BX
18、 交换。20H端口与 BH 交换。BX 与 20H端口交换,16位字长。DI 与 SI 交换,8位字长。SI 与 ES:BX 交换,16位字长。DS 与 ES交换。两个16位端口交换,地址20H和30H。两个8位端口交换,地址200H和300H。堆栈与堆栈存取堆栈与堆栈存取5.1 堆栈 在内存开设,后进先出。以字(16位)为单位存取。SS提供段地址,SP提供偏移地址。SP当前值指示当前栈底或者栈顶单元。5.2 堆栈存取5.2.1 数据入栈格式:PUSH SRC;功能:SP=SP-2 SRC SP 军规:立即数入栈非法!军规:立即数入栈非法!正确的入栈操作:PUSH AX;PUSH BX;PUS
19、H ES:SIPUSH CS;错误的入栈操作:PUSH AH;PUSH BL;PUSH 1000PUSH 100H;5.2.2 数据出栈格式:POP DST;功能:DST SP SP=SP+2军规:军规:CS为目地址非法!为目地址非法!正确的出栈操作:POP AX;POP BX;POP ES:SIPOP DS;错误的出栈操作:POP AH;POP BL;POP CSPOP 100H;例1:完成DS与ES交换。解:应用堆栈存取实现 PUSH DS;PUSH ES;POP DS;POP ES;数据交换数据交换格式:格式:XCHG DST,SRC;不支持段寄存器。不支持立即数。支持8/16位数据交换
20、。正确的数据交换:正确的数据交换:XCHG AX,CX;XCHG BX,DX;XCHG ES:SI,DLXCHG DH,CS:DI;错误的数据交换:错误的数据交换:XCHG AX,DS;XCHG BH,CX;XCHG ES:SI,100H;XCHG BX,CS:DI;二、算术运算类指令二、算术运算类指令 加法指令格式1:ADD DST,SRC;功能:DST=DST+SRC说明:执行后,设置ZF、SF、CF和OF标志值。ZF=0,运算结果不等于0。ZF=1,运算结果等于0。SF=0,运算结果0。SF=1,运算结果0。CF=0,运算结果无进/借位。CF=1,运算结果产生进/借位。OF=0,运算结果
21、未溢出。OF=1,运算结果溢出。PF=0,运算结果中含奇数个1。PF=1,运算结果含偶数个1。AF=0,运算结果D3位无进/借位。AF=1,运算结果D3位产生进/借位。正确的加法运算:正确的加法运算:ADD AX,CX;ADD BX,DH;ADD ES:SI,1000;ADD DS,CS;错误的加法运算:错误的加法运算:ADD AX,CL;ADD 100H,DX;ADD ES:SI,100;ADD CS,DS;例例1:设:设AL=89H,分析加法运算结果。,分析加法运算结果。ADD AL,78H;分析:执行后AL=01H,标志位取值如下CF=1;产生进位;产生进位ZF=0;结果非;结果非0SF
22、=0;结果非负;结果非负OF=0;结果未溢出;结果未溢出提问:提问:序数运算的结果?整数运算的结果?例例2:设:设AL=89H,分析加法运算结果。,分析加法运算结果。ADD AL,87H;分析:执行后AL=10H,标志位取值如下CF=1;产生进位;产生进位ZF=0;结果非;结果非0SF=0;结果非负;结果非负OF=0;结果溢出;结果溢出提问:提问:序数运算的结果?整数运算的结果?整数相加,溢出判断:整数相加,溢出判断:异号数相加,不溢出。同号数相加,和改变符号则溢出。格式2:ADC DST,SRC;功能:DST=DST+SRC+Cy说明:与ADD相同。例例3:AXBX=AXBX+SIDI。解:
23、ADD BX,DI;ADC AX,SI;例例4:89FDCBH+9652DBH,分析运算结果,分析运算结果。解:解:MOV BX,0FDCBH;ADD BX,52DBH;MOV AL,89H;ADC AL,96H;格式3:INC DST;功能:DST=DST+1说明:不影响CF标志。例例5:7FH+1,分析运算结果,分析运算结果。解解1:MOV BX,7FH;INC BX;未溢出解解2:MOV BH,7FH;INC BH;溢出 减法指令格式1:SUB DST,SRC;功能:DST=DST-SRC说明:执行后,设置ZF、SF、CF和OF标志值。例例1:设:设AL=89H,分析相减结果。,分析相减
展开阅读全文