微型计算机接口技术课件第三章1.ppt

上传人:b****1 文档编号:1737539 上传时间:2022-10-23 格式:PPT 页数:95 大小:428.50KB
下载 相关 举报
微型计算机接口技术课件第三章1.ppt_第1页
第1页 / 共95页
微型计算机接口技术课件第三章1.ppt_第2页
第2页 / 共95页
微型计算机接口技术课件第三章1.ppt_第3页
第3页 / 共95页
微型计算机接口技术课件第三章1.ppt_第4页
第4页 / 共95页
微型计算机接口技术课件第三章1.ppt_第5页
第5页 / 共95页
点击查看更多>>
下载资源
资源描述

微型计算机接口技术课件第三章1.ppt

《微型计算机接口技术课件第三章1.ppt》由会员分享,可在线阅读,更多相关《微型计算机接口技术课件第三章1.ppt(95页珍藏版)》请在冰豆网上搜索。

微型计算机接口技术课件第三章1.ppt

第3章指令系统

(1),主要内容:

指令系统的一般概念对操作数的寻址方式六大类指令的操作原理,操作码的含义指令对操作数的要求指令执行的结果,3.1概述,了解:

指令及指令系统指令的格式指令中的操作数类型,一、指令与指令系统,指令:

控制计算机完成某种操作的命令指令系统:

处理器所能识别的所有指令的集合指令的兼容性:

同一系列机的指令都是兼容的,二、指令格式,指令中应包含的信息:

运算数据的来源运算结果的去向执行的操作,指令格式:

操作码操作数,操作数,执行何种操作,目标操作数,源操作数,参加操作的数据或数据存放的地址,指令格式:

零操作数指令:

操作码单操作数指令:

操作码操作数双操作数指令:

操作码操作数,操作数多操作数指令:

三操作数及以上,三、指令中的操作数,表征参加操作的数据本身立即数表征数据存放的地址,寄存器存储器,操作数:

立即数操作数:

表示参加操作的数据本身,可以是8位或16位例:

MOVAX,1234HMOVBL,22H立即数无法作为目标操作数立即数可以是无符号或带符号数,其数值应在可取值范围内,操作数:

寄存器操作数:

表示参加运算的数存放在指令给出的寄存器中,可以是16位或8位。

例:

MOVAX,BXMOVDL,CH,操作数:

存储器操作数:

表示当前参加运算的数存放在存储器的某一个或某两个单元中例:

MOVAX,1200HMOVAL,1200H,22H,11H,1200H,偏移地址,AHAL,四、指令字长与机器字长,指令字长由操作码的长度、操作数地址长度、操作数个数决定8088/8086CPU采用变字长指令格式机器字长:

计算机能够直接处理的二进制数的位数,五、指令的执行速度,指令的字长影响指令的执行速度(常用指令的执行时间见表3-1)对不同的操作数,指令执行的时间不同:

存储器立即数寄存器,快!

3.2寻址方式,寻找操作数所在地址的方法寻找转移地址的方法,本节,一、立即寻址,指令中的源操作数是立即数,即源操作数是参加操作的数据本身例:

MOVAX,1234H,12H,34H,AHAL,MOV,代码段,二、直接寻址,指令中直接给出操作数的偏移地址例:

MOVAX,1200H,22H,11H,1200H,偏移地址,AHAL,1122,数据段,直接寻址,直接寻址方式下,操作数的段地址默认为数据段,但允许段重设,即由指令定义段。

例:

MOVAX,ES:

1200H,三、寄存器寻址,参加操作的操作数在CPU的通用寄存器中。

例:

MOVAX,BX,AX,BX,四、寄存器间接寻址,参与操作的操作数存放在内存中,其偏移地址为指令中的寄存器的内容。

例:

MOVAX,BX设(BX)=1200H,22H,11H,1200H,偏移地址,AHAL,1122,数据段,代码段,MOV,寄存器间接寻址,由寄存器间接给出操作数的偏移地址存放偏移地址的寄存器称为间址寄存器,它们是:

BX,BP,SI,DI操作数的段地址(数据处于哪个段)取决于选择哪一个间址寄存器:

BX,SI,DI默认在数据段BP默认在堆栈段,寄存器间接寻址,寄存器间接寻址,基址寻址(间址寄存器为基址寄存器BX,BP)变址寻址(间址寄存器为变址寄存器SI,DI),五、寄存器相对寻址,操作数的偏移地址为寄存器的内容加上一个位移量例:

MOVAX,BX+DATA设DS=2000H,BX=0220H,DATA=05H则:

AX=20225H,六、基址、变址寻址,操作数的偏移地址为一个基址寄存器的内容加上一个变址寄存器的内容,操作数的段地址由选择的基址寄存器决定例:

MOVAX,SI+BX,七、基址、变址、相对寻址,操作数的偏移地址为一个基址寄存器的内容加上一个变址寄存器的内容,再加上一个位移量操作数的段地址由选择的基址寄存器决定例:

MOVAX,BP+SI+DATA,八、隐含寻址,指令隐含了的一个或两个操作数的地址,即操作数在默认的地址中例:

MULBL指令的执行:

ALBLAX,3.38086指令系统,从功能上包括六大类:

数据传送算术运算逻辑运算和移位串操作程序控制处理器控制,一、数据传送,通用数据传送输入输出地址传送标志位操作,1.通用数据传送,一般数据传送指令堆栈操作指令交换指令查表转换指令字位扩展指令,特点:

该类指令的执行对标志位不产生影响,一般数据传送指令,一般数据传送指令MOV格式:

MOVdest,src操作:

srcdest例:

MOVAL,BL,一般数据传送指令,注:

两操作数字长必须相同两操作数不允许同时为存储器操作数两操作数不允许同时为段寄存器在源操作数是立即数时,目标操作数不能是段寄存器IP和CS不作为目标操作数,FLAGS一般也不作为操作数在指令中出现,一般数据传送指令,判断下列指令的正确性:

MOVAL,BXMOVAX,SI05HMOVBXBP,BXMOVDS,1000HMOVDX,09HMOV1200,SI,一般数据传送指令应用例,将(*)的ASCII码2AH送入内存1000H开始的100个单元中:

MOVDI,1000HMOVCX,64HMOVAL,2AHAGAIN:

MOVDI,ALINCDI;DI+1DECCX;CX-1JNZAGAIN;CX0则继续HLT,上段程序在代码段中的存放形式,設CS=109EH,IP=0100H,则各条指令存放地址如下:

CS:

IP109E:

0100MOVDI,1000H109E:

0103MOVCX,64H109E:

0106MOVAL,2AH109E:

0108MOVDI,AL109E:

010AINCDI109E:

010BDECCX109E:

010CJNZ0108109E:

010EHLT,数据段中的分布,送上2AH后数据段中相应存储单元的内容改变如下:

DS:

10002A2A2A2A2A2A2A2A-2A2A2A2A2A2A2A2ADS:

10102A2A2A2A2A2A2A2A-2A2A2A2A2A2A2A2ADS:

10202A2A2A2A2A2A2A2A-2A2A2A2A2A2A2A2ADS:

10302A2A2A2A2A2A2A2A-2A2A2A2A2A2A2A2ADS:

10402A2A2A2A2A2A2A2A-2A2A2A2A2A2A2A2ADS:

10502A2A2A2A2A2A2A2A-2A2A2A2A2A2A2A2ADS:

10602A2A2A2A000000000000000000000000,偏移地址DI,堆栈操作指令,掌握:

有关堆栈的概念栈顶、栈首、栈底堆栈指令的操作原理,执行过程,执行结果,堆栈操作的原则,先进后出以字为单位,堆栈操作指令,压栈指令PUSH格式:

PUSHOPRD出栈指令POP格式:

POPOPRD,压栈指令PUSH,指令执行过程:

(SP)(SP)-2(SP)-1操作数高字节(SP)-2操作数低字节,压栈指令的操作,设AX=1234H,SP=1200H执行PUSHAX指令后堆栈区的状态:

1200H,堆栈段,SP-2=11FEH,12H,34H,1200H,堆栈段,12H34H,AX,入栈后,入栈前,出栈指令POP,指令执行过程:

(SP)操作数低字节(SP)+1操作数高字节(SP)(SP)+2,出栈指令的操作,执行POPAX堆栈区的状态:

12H,34H,11FEH,堆栈段,代码段,PUSH,1234,AX,SP+2,堆栈操作指令说明,指令的操作数必须是16位的操作数可以是寄存器或存储器两单元,但不能是立即数不能从栈顶弹出一个字给CSPUSH和POP指令在程序中一般成对出现PUSH指令的操作方向是从高地址向低地址,而POP指令的操作正好相反,堆栈操作指令例,PUSHAXPUSHBXPUSHWORDPTRBXPOPWORDPTRBXPOPAXPOPBX,如此,会使AX和BX的内容互换,交换指令,格式:

XCHGREG,MEM/REG两操作数必须有一个是寄存器操作数不允许使用段寄存器。

例:

XCHGAX,BXXCHG2000,CL,查表指令,格式:

XLAT说明:

用BX的内容代表表格首地址,AL内容为表内位移量,BX+AL得到要查找元素的偏移地址操作:

BX+ALAL例:

教材第112页,查表指令例,数据段中存放有一张ASCII码转换表,设首地址为2000H,现欲查出表中第11个代码的ASCII码(设DS=4000H),30,31,32,.,39,41,42,.,45,46,.,42000H+0,42000H+11,0,1,2,9,A,B,E,F,查表指令例,可用如下指令实现:

MOVBX,2000H;(BX)表首地址MOVAL,0BH;(AL)序号XALT;查表转换执行后得到:

(AL)=42H,字位扩展指令,将符号数的符号位扩展到高位指令为零操作数指令,采用隐含寻址,隐含的操作数为AX及AX,DX无符号数的扩展规则为在高位补0,字节到字的扩展指令,格式:

CBW操作:

将AL内容扩展到AX规则:

若最高位=1,则执行后AH=FFH若最高位=0,则执行后AH=00H,字到双字的扩展指令,格式:

CWD操作:

将AX内容扩展到DXAX规则:

若最高位=1,则执行后DX=FFFFH若最高位=0,则执行后DX=0000H,字位扩展指令例,MOVAL,44HCBW;执行结果MOVAX,0AFDEHCWDMOVAL,86HCBW,?

2.输入输出指令,掌握:

指令的格式及操作指令的两种寻址方式指令对操作数的要求,输入输出指令,专门面向I/O端口操作的指令包括,输入指令INacc,PORT输出指令OUTPORT,acc,端口地址,指令寻址方式,直接寻址直接给出8位端口地址,可寻址256个端口间接寻址16位端口地址由DX指定,可寻址64K个端口,I/O指令例,INAX,80HMOVDX,2400HINAL,DXOUTDX,AXOUTAL,35H,3.地址传送指令,取偏移地址指令LEALDS指令LES指令,取偏移地址指令LEA,将变量的16位偏移地址取出送目标寄存器格式:

LEAREG,MEM指令要求源操作数必须是一个存储器操作数,目标操作数通常是间址寄存器,,LEA指令,比较下列指令:

LEASI,DATA1MOVSI,DATA1MOVBX,BXLEABX,BX,DATA1,符号地址,12H,34H,1100H,88H,77H,BX=1100H,LEA指令在程序中的应用,将数据段中首地址为MEM1的50个字节的数据传送到同一逻辑段首地址为MEM2的区域存放。

编写相应的程序段,LEA指令在程序中的应用,开始,取源地址,取目标地址,送数据块长度到CL,传送一个字节,修改地址指针,修改计数值,计数值=0?

结束,N,Y,LEA指令在程序中的应用,LEASI,MEM1LEADI,MEM2MOVCL,50NEXT:

MOVAL,SIMOVDI,ALINCSIINCDIDECCLJNZNEXTHLT,取远地址指针指令,LDSreg,MEM32LESreg,MEM32指令中源操作数是存储器某4个连续单元的偏移地址,目标操作数是间址寄存器。

LDS指令例,例:

LDSDI,1200HMOVAX,DI,指令执行后:

LDS指令例,DS=6000HDI=1234HAX=2233H,12H,34H,00H,60H,1200H,数据段1,DS,DI,数据段2,33H,22H,61234H,LES指令例,LESDI,1200HMOVAX,DI,12H,34H,00H,60H,1200H,数据段,ES,DI,附加段,33H,22H,61234H

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1