书签 分享 收藏 举报 版权申诉 / 187
上传文档赚钱

类型《微机原理与接口技术》课程特点-⒈-综合性强课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4845687
  • 上传时间:2023-01-17
  • 格式:PPT
  • 页数:187
  • 大小:1.55MB
  • 【下载声明】
    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,分析相减结果。,分析相减

    24、结果。SUB AL,78H;分析:执行后AL=11H,标志位取值如下CF=0;无借位;无借位ZF=0;结果非;结果非0SF=0;结果非负;结果非负OF=1;结果溢出;结果溢出整数相减,溢出判断:整数相减,溢出判断:同号数相减(异号数相加),不溢出。异号数相减(同号数相加),差与被减数 同号,无溢出。否则溢出。证明:证明:设X0,Y0当X-Y 0,未溢出。当X-Y 0,溢出。设X0,Y0当X-Y 0,溢出。当X-Y 0,未溢出。格式2:SBB DST,SRC;功能:DST=DST SRC-Cy说明:与SUB相同。格式3:DEC DST;功能:DST=DST 1说明:不影响CF。格式4:CMP D

    25、ST,SRC;功能:DST SRC说明:执行后,源目不变,标志与SUB相同。格式5:NEG DST;功能:DST=0-DST 说明:与SUB相同。例例2:7FH 与与89H,比较结果,比较结果。解:解:MOV BL,7FH;CMP BL,89H;CF=1;序数目源序数目源ZF=0;源目不等SF=1;结果为负OF=1;溢出整数目源整数目源整数比较:整数比较:DST-SRC OF SF ZF 结果结果 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1例例7:数据:数据8FH求补求补。解:解:MOV BL,8FH;NEG BL;结果:BL=71H 乘法指令3.1 序数相乘格式:MUL SR

    26、C;功能:AX=AL SRC(8)DXAX=AX SRC(16)说明:执行后,设置CF、OF标志值。ZF和SF随机值。正确的序数相乘:正确的序数相乘:MUL CX;MUL DH;MUL ES;MUL SI;指出乘法指令的错误,并纠正之。指出乘法指令的错误,并纠正之。MUL BX;MUL 100;MUL ES:SI;MUL 100H;例例1:序数:序数1020,分析相乘结果,分析相乘结果。解:解:MOV BL,10;MOV AL,20;MUL BL;结果:AH=0,AL=0C8H,BL=0AHCF=OF=0;高一半乘积等于0。SF=1/0 和 ZF=1/0,随机。例例2:序数:序数1616,分析

    27、相乘结果,分析相乘结果。解:解:MOV BL,16;MOV AL,16;MUL BL;结果:AH=1,AL=0,BL=10HCF=OF=1;高一半乘积不等0。SF=1/0 和 ZF=1/0,随机。3.2 整数相乘格式:IMUL SRC;功能:AX=AL SRC(8)DXAX=AX SRC(16)说明:执行后,设置CF、OF标志值。ZF和SF随机值。例例3:整数:整数-22,分析相乘结果,分析相乘结果。解:解:MOV BL,-2;MOV AL,2;IMUL BL;结果:AH=0FFH,AL=0FCH,BL=0FEHCF=OF=0;高一半是低一半的符号扩展。SF=1/0 和 ZF=1/0,随机。例

    28、例4:整数:整数-1616,分析相乘结果,分析相乘结果。解:解:MOV BL,-16;MOV AL,16;IMUL BL;结果:AH=0FFH,AL=0,BL=0F0HCF=OF=1;高一半非低一半的符号扩展。SF=1/0 和 ZF=1/0,随机。除法指令4.1 序数相除格式:DIV SRC;功能:AHAL=AX SRC(8位)AL=商,AH=余数。DXAX=DXAX SRC(16位)AX=商,DX=余数。执行后,所有标志取随机值。执行后,所有标志取随机值。指出除法指令的错误,并纠正之。指出除法指令的错误,并纠正之。MUL BX;MUL 100;MUL ES:SI;MUL 100H;例例1:A

    29、X=100,BL=12,分析相除结果,分析相除结果。解:解:DIV BL;结果:AH=4(余),AL=8(商)CF、OF、SF和 ZF取随机值。4.2 整数相除格式:IDIV SRC;功能:用于符号数除法运算。4.3 整数字长扩展指令 字节扩展成字格式:CBW(convert byte to word)功能:把AL符号位扩展到AH,形成AX。AL7=0,AH=00H AL7=1,AH=0FFH 字扩展成双字格式:CWD(convert word to double word)功能:把AX符号位扩展到DX,形成DXAX。AX15=0,DX=0000H AX15=1,DX=0FFFFH例例2:AL

    30、=-2,BL=2,分析相除结果,分析相除结果。解:解:CBW;AL扩展成扩展成AX IDIV BL;结果:AH=0(余),AL=0FFH(商),BL=02HCF、OF、SF和 ZF取随机值。例例3:整数四则运算:整数四则运算 (W-(XY+Z-540)/X变量变量X等为等为16位存储单元,定义如下:位存储单元,定义如下:X EQU Word PTR 100HY EQU Word PTR 102H 解:顺序结构源程序如下解:顺序结构源程序如下MOV AX,X;IMUL Y;DXAXMOV BX,AX;转存;转存MOV CX,DX;CXBXMOV AX,Z;CWD;Z扩展成扩展成DXAXADD B

    31、X,AX;ADC CX,DX;SUB BX,540;SBB CX,0;减去借位减去借位MOV AX,W;CWD;W扩展成扩展成DXAXSUB AX,BX;SBB DX,CX;IDIV X;JMP$;到此结束到此结束 压缩BCD码调整指令 压缩BCD码 一个字节表示两位十进制数,取值0 99。例:45H、89H、36H、99H 5.1 加法调整格式:DAA 说明:紧跟ADD(C)之后执行,调整压缩BCD码 相加结果。调整原理如下:当AL309或AF1时,执行ALAL+6,AF=1。当AL749或CF1时,执行ALAL+60H,CF=1。执行后,OF随机,其他受影响。例例1:55+38,分析相加结

    32、果,分析相加结果。解解1:MOV AL,55 ADD AL,38;结果:AL=5DH(93)CF=0,OF=0,SF=0,ZF=0,AF=0。解解2:MOV AL,55H ADD AL,38H;DAA;结果:AL=93H(93)CF=0,OF随机,SF=1,ZF=0,AF=1。例例2:5538+3855,分析相加结果,分析相加结果。解解1:以下加法可否?:以下加法可否?MOV AX,5538H ADD AX,3855H;DAA;解解2:MOV AL,38H;低字节 ADD AL,55H;DAA;MOV AH,AL;转存 MOV AL,55H;高字节 ADC AL,38H;DAA;XCHG AH

    33、,AL;高低字节交换5.2 减法调整格式:DAS 自学!三、逻辑运算类指令三、逻辑运算类指令 与运算:与运算:AND DST,SRC;功能:DST=DST SRC执行后,CF=OF=0,ZF、SF和PF随结果确定。PF=0,DST含奇数个1。PF=1,DST含偶数个1。Parity:(:(N+1)位奇校验,)位奇校验,N为为DST字长。字长。或运算:或运算:OR DST,SRC;功能:DST=DST SRC 异或运算:异或运算:XOR DST,SRC;功能:DST=DST SRC 非运算:非运算:NOT DST;功能:DST=/DST 测试:测试:TEST DST,SRC;功能:DST SRC

    34、例例1:58H69H,分析运算结果,分析运算结果。解:解:MOV AL,58H AND AL,69H;结果:AL=48HCF=OF=0、SF=0、ZF=0,PF=1。例例2:AL7、AL6置置1,AL1、AL0清清0,AL5AL2 求反求反。解:解:OR AL,11000000B;AND AL,11111100B;XOR AL,00111100B;例例3:如果:如果AL=0,转入,转入ZERO处执行处执行。解解1:TEST AL,0FFH;不改变AL,设置ZF值。JZ ZERO;解解2:CMP AL,0;不改变AL,设置ZF值。JE ZERO;例例4:如果:如果AL 含偶数个含偶数个1,转入,

    35、转入EVEN处执行处执行。解:解:TEST AL,0FFH;不改变AL,设置PF值。JP EVEN;例例5:如果:如果AX=BX,转入,转入EQUAL处执行处执行。解解1:XOR AX,BX;设置ZF值。JZ EQUAL;解解2:CMP AX,BX;设置ZF值。JE EQUAL;四、移位和循环类指令四、移位和循环类指令 逻辑左移逻辑左移格式格式1:SHL DST,1;格式格式2:SHL DST,CL;CL2执行后,CF、OF、ZF、SF和PF随结果确定。DST07/15CF0 逻辑右移逻辑右移SHRDST07/15CF0 算术左移算术左移SAL 功能与SHL相同。DST07/15CF0 算术右

    36、移算术右移SARDST07/15CF符号位不变。符号位不变。左循环左循环ROLDST07/15CF 右循环右循环RORDST07/15CF 串串CF左循环左循环RCLDST07/15CF 串串CF右循环右循环RCRDST07/15CF例例1:设:设AL=BL=100,分析下列执行结果,分析下列执行结果。解:解:SHL AL,1;SHR BL,1结果:结果:AL=0C8H(200),BL=32H(50)结论:自行归纳结论:自行归纳例例2:设:设AL=BL=-100,分析下列执行结果,分析下列执行结果。解:解:SAL AL,1;SAR BL,1结果:结果:AL=38H,OF=1,溢出!溢出!BL=

    37、0CEH(-50),OF=0,正确。结论:自行归纳结论:自行归纳五、转移类指令五、转移类指令 无条件转移无条件转移格式格式1:JMP Short Label;2字节字节功能:IP=IP当前值+位移量(8);相对寻址转移范围转移范围:-128+127字节格式格式2:JMP Near PTR Label;3字节字节功能:IP=IP当前值+位移量(16)转移范围转移范围:-32768+32767字节 单标志条件转移指令单标志条件转移指令格式格式1:JC Label;进;进/借位,借位,2字节字节功能:当CF=1,IP=IP当前值+位移量(8);否则,顺序执行。格式格式2:JNC Label;无进;无

    38、进/借位借位功能:当CF=0,IP=IP当前值+位移量(8);否则,顺序执行。格式格式3:JZ/JE Label;结果为;结果为0(相等)(相等)功能:当ZF=1,IP=IP当前值+位移量(8);否则,顺序执行。格式格式4:JNZ/JNE Label;结果非;结果非0(不等)(不等)功能:当ZF=0,IP=IP当前值+位移量(8);否则,顺序执行。格式格式5:JS Label;结果为负;结果为负功能:当SF=1,IP=IP当前值+位移量(8);否则,顺序执行。格式格式6:JNS Label;结果非负;结果非负功能:当SF=0,IP=IP当前值+位移量(8);否则,顺序执行。格式格式7:JO L

    39、abel;结果溢出;结果溢出功能:当OF=1,IP=IP当前值+位移量(8);否则,顺序执行。格式格式8:JNO Label;结果未溢出;结果未溢出功能:当OF=0,IP=IP当前值+位移量(8);否则,顺序执行。格式格式9:JP Label;结果含偶数个;结果含偶数个1功能:当PF=1,IP=IP当前值+位移量(8);否则,顺序执行。格式格式10:JNP Label;结果含奇数个;结果含奇数个1功能:当PF=0,IP=IP当前值+位移量(8);否则,顺序执行。两个序数比较,条件转移指令两个序数比较,条件转移指令格式格式1:JB/JNAE Label;功能:当DSTSRC,IP=IP当前值+位

    40、移量(8);否则,顺序执行。单一条件:CF=1即:JB=JNAE=JC格式格式2:JBE/JNA Label;功能:当DSTSRC,IP=IP当前值+位移量(8);否则,顺序执行。复合条件:CF=1,ZF=0或者CF=1,ZF=0;即:CFZF=1 格式格式3:JA/JNBE Label;功能:当DSTSRC,IP=IP当前值+位移量(8);否则,顺序执行。复合条件:CF=0,ZF=0即:CFZF=0格式格式4:JAE/JNB Label;功能:当DSTSRC,IP=IP当前值+位移量(8);否则,顺序执行。单一条件:CF=0;即:JAE=JNB=JNC 例例1:比较序数:比较序数AX与与BX

    41、。如果AX=BX,转入Zero执行。如果AX BX,转入Above执行。否则,转入Here执行。解:解:CMP AX,BX;JE Zero;JA Above;JMP Here;两个整数比较,条件转移指令两个整数比较,条件转移指令 测试测试OF、SF、ZF复合条件。复合条件。格式格式1:JL/JNGE Label;功能:当DSTSRC,IP=IP当前值+位移量(8);否则,顺序执行。整数比较:整数比较:DST-SRC OF SF ZF 结果结果 0 0 0 DSTSRC 0 1 0 DSTSRC 1 0 0 DSTSRC 1 1 0 DSTSRC 0 0 1 DSTSRC格式格式2:JLE/JN

    42、G Label;功能:当DSTSRC,IP=IP当前值+位移量(8);否则,顺序执行。格式格式3:JG/JNLE Label;功能:当DSTSRC,IP=IP当前值+位移量(8);否则,顺序执行。格式格式4:JGE/JNL Label;功能:当DSTSRC,IP=IP当前值+位移量(8);否则,顺序执行。例例2:比较整数:比较整数AX与与BX。如果AX=BX,转入Zero执行。如果AX BX,转入Large执行。否则,转入Here执行。解:解:CMP AX,BX;JE Zero;JG Large;JMP Here;例例3:比较:比较AX与与BX。如果AX BX,BX置换AX。否则,转入Equa

    43、l执行。解:解:CMP AX,BX;JZ Equal;MOV AX,BX;六、常用伪指令六、常用伪指令 CPU不认识不执行,由汇编程序解读执行。程序区程序区/数据区定位数据区定位格式:格式:ORG 数值表达式数值表达式功能:程序/数据自数值表达式数值表达式确定的偏移地址 开始存储。例例1:在程序段定义中,解读ORG伪指令。ORG 100H Begin:MOV AX,0;解读:表示程序自地址解读:表示程序自地址CS:100H开始存储。开始存储。开辟数据区,存储原始数据。开辟数据区,存储原始数据。格式格式1:X DB 表达式表达式1,表达式,表达式2,表达式表达式n功能:开辟n个字节单元,依次存储

    44、n个数据字节。例例2:在:在DS段如下定义,图解说明。段如下定义,图解说明。ORG 1000H Data DB 2,-2,a,A,20h DB abcdefgh格式格式2:X DW 表达式表达式1,表达式,表达式2,表达式表达式n功能:开辟n个字单元,依次存储n个数据字。例例3:在:在DS段如下定义,图解说明。段如下定义,图解说明。ORG 1000H byte DB 2,-2,a,A,20h word DW 2,-2,a,A,20h例例4:在:在DS段如下定义,图解说明。段如下定义,图解说明。ORG 1000H byte DB AB word DW AB DB CDEF DW CDEF DW

    45、CD,EFerror!例例5:在:在DS段如下定义,图解说明。段如下定义,图解说明。ORG 1000H X DB 100 DUP (0)Y DB 2 DUP (0,1,2)DW 4 DUP(-1,-2)给变量赋值。给变量赋值。格式格式1:变量名:变量名 EQU 表达式表达式功能:表达式值赋予变量名。例例1:解读EQU伪指令。ORG 100H Value EQU 10 MOV AX,value;例例2:解读EQU伪指令。V1 EQU 10 V2 EQU V1+10 V3 EQU V2+V1 V4 EQU V3-V2 V5 EQU V4-V1 存储段定义。存储段定义。4.1 DS、ES段定义,格式

    46、如下:段定义,格式如下:段名段名 Segment 伪指令集合 段名段名 Ends例例1:某:某DS/ES段定义如下:段定义如下:Data Segment ORG 10H X DB 100 DUP (0)Y DB 2 DUP (0,1,2)V1 EQU 10 V2 EQU V1+10 Data Ends4.2 CS段定义,格式如下:段定义,格式如下:段名段名 Segment Assume CS:段名段名 ORG 100H Begin:源程序源程序 段名段名 Ends End Begin4.3 CSSS四段合一的定义四段合一的定义 C Segment Assume CS:C,DS:C,ES:C,S

    47、S:C ORG 100H;Begin:MOV DX,C;MOV DS,DX;MOV ES,DX;MOV SS,DX;源程序源程序 ORG 1000H;数据区定位数据区定位 数据定义数据定义 C Ends End Begin4.4 CSSS各段独立定义各段独立定义 D Segment ORG 0H 数据定义数据定义 D Ends E Segment ORG 10H 数据定义数据定义 E EndsS Segment ORG 100H 堆栈定义堆栈定义S EndsC Segment Assume CS:C,DS:D,ES:E,SS:S ORG 100H Begin:MOV DX,D;MOV DS,DX;各段寄存器赋值 MOV DX,E;MOV ES,DX;MOV DX,S;MOV SS,DX;源程序源程序C Ends End Begin

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《微机原理与接口技术》课程特点-⒈-综合性强课件.ppt
    链接地址:https://www.163wenku.com/p-4845687.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库