如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
本教案内容第3章8086CPU指令系统9.转移指令1.汇编语言指令10.循环控制指令2.8086指令分类11.子程序调用返回指令12.中断调用返回指令3.数据与转移地址的寻址方式13.字符串操作指令4.数据传送类指令14.I/O输入输出指令15.其它指令5.算术运算类指令16.宏指令6.逻辑运算类指令7.移位类指令8.标志位操作指令3.15其它指令一、标志位处理指令(7条)格式功能英文原文CLCCF←0ClearcarryflagSTCCF←1SetcarryflagCWCComplementcarryCF←CFflagCLDDF←0CleardirectionflagSTDDF←1SetdirectionflagCLIIF←0;表示关中断ClearinterruptflagSTIIF←1;表示开中断Setinterruptflag3.15其它指令二、处理器控制指令(5条)1.空操作指令NOP格式:NOP说明:空操作指令NOP(Nooperation)表示什么也不做,但要占用机器的三个时钟周期,利用NOP指令可以构成适当的延时操作。3.15其它指令2.暂停指令HLT格式:HLT说明:暂停指令HLT(Haltuntilinterruptorreset)可以使CPU进入暂停状态,退出暂停状态的条件有:RESET信号有效,即CPU进行复位操作;NMI(非屏蔽中断请求)信号有效,即系统收到了非屏蔽的中断请求,这时系统必须进行适当的处理;INTR(可屏蔽中断请求)信号有效,而且IF=1,这时要求系统响应该指定请求。适当的使用HLT指令,并与硬件电路配合,可以使CPU与外部设备协调工作。3.15其它指令3.等待指令WAIT格式:WAIT说明:等待指令WAIT(Waitforpinactive)可以使CPU处于等待状态,这时CPU会定期测试8086/8088芯片的引脚,当它为高电平时,则继续等待,并且每隔5个时钟周期对线的状态进行测试,直到线上出现低电平时,CPU退出等待,并顺序执行下一条指令。3.15其它指令4.总线锁定指令LOCK格式:LOCK<其它指令>说明:总线锁定指令LOCK(Lockbusduringnextinstruction)可以保持总线的使用权,它放在其它指令之前,表示在执行这组指令期间,使别的设备不能使用外部总线。3.15其它指令5.换码指令ESC3.15其它指令格式:ESCCODE,DATA说明:换码指令ESC(Escapetoexternalprocessor)可以完成多处理器之间的指令和数据交换,在8086/8088CPU与其它处理器配合使用时,利用该指令可以将任务分配给其它的处理器,CODE是一个事先规定的6位指令码,表示完成相应的操作,DATA表示要送给其它处理器的数据。3.16宏指令宏指令是用户自己定义的指令,它是由指令和伪指令构成的一个程序段。用户要采用宏指令时,必须先定义后调用。宏指令是指用一个标识符(称为宏指令名)来表示指定的一段程序,在调用该宏指令时可以在程序汇编时展开成相应的程序段(这一过程称为宏展开)。因此宏指令在汇编时并没有相对应的指令代码,而只是类似于EQU定义的一个标识符。可以将在程序中多次重复的程序段经过整理后定义成宏指令,从而使汇编语言的程序设计得到简化。3.16宏指令一、宏指令的定义宏指令名MACRO<形式参数>;宏定义开始伪指令……宏体(由指令语句组成的能完成某一特定功能的一段程序)ENDM;宏定义结束伪指令3.16宏指令<宏指令名>为一个标识符,即定义的宏指令的名称;<形式参数>为宏体中使用的参数,它允许宏指令中具有待定的参数,在宏调用时必须用实际的参数代替它,因此每次宏指令调用时可以通过改变实际参数而改变宏指令的功能,使#宏指令的设计更加灵活。宏指令可有多个形式参数,它们之间以逗号间隔,但总长度不得超过132。调用时,实际参数的个数和类型必须与形式参数一致。宏指令也可以不带任何形式参数。3.16宏指令二、宏调用与宏展开宏调用的格式为:宏指令名<实际参数>应该注意,实际参数应该与宏指令定义时的形式参数一一对应。在汇编过程中,当汇编到宏调用语句时,将用宏体中的一段程序来代替这一条宏指令,并且用实际参数取代形式参数。在汇编过程产生的LST(列表)文件中,可看到宏展开语句的前面有一个“+”号或其它符号,以表示与其它指令的区别。3.16宏指令例3.40设计宏指令REGSAVE和RE