- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理摘录
3.14 输入输出指令 一、端口输入指令IN(Input byte or word from port) 格式: IN DST, SRC 表示CPU从端口读取数据。DST用于指定存储读取数据的寄存器,这里只能取AL或AX寄存器,当从8位端口中读取一个字节时,采用AL寄存器;当从16位端口中读取一个字时,采用AX寄存器。SRC用于指定端口地址,它有两种寻址方式:(1)当端口地址可以用8位地址值表示时,SRC可以直接用地址值(port)表示,这时的寻址方式为直接寻址;(2)当端口地址不能用8位表示时,SRC取DX,即将端口地址存放在DX中,通过DX找到端口地址,这时的寻址方式为寄存器间接寻址。当然,对可以用8位地址表示的端口访问也可以采用寄存器间接寻址方式。 3.15 其它指令 一、标志位处理指令(7条) 3.15 其它指令 二、处理器控制指令(5条) 1.空操作指令NOP 格式: NOP 说明:空操作指令NOP(No operation)表示什么也不做,但要占用机器的三个时钟周期,利用NOP指令可以构成适当的延时操作。 3.15 其它指令 2. 暂停指令HLT 格式: HLT 说明:暂停指令HLT(Halt until interrupt or reset)可以使CPU进入暂停状态,退出暂停状态的条件有: RESET信号有效,即CPU进行复位操作; NMI (非屏蔽中断请求)信号有效,即系统收到了非屏蔽的中断请求,这时系统必须进行适当的处理; INTR (可屏蔽中断请求)信号有效,而且IF=1,这时要求系统响应该指定请求。 适当的使用HLT指令,并与硬件电路配合,可以使CPU与外部设备协调工作。 3.15 其它指令 3.等待指令WAIT 格式: WAIT 说明:等待指令WAIT(Wait for pin active)可以使CPU处于等待状态,这时CPU会定期测试8086/8088芯片的引脚,当它为高电平时,则继续等待,并且每隔5个时钟周期对线的状态进行测试,直到线上出现低电平时,CPU退出等待,并顺序执行下一条指令。 3.15 其它指令 4.总线锁定指令LOCK 格式: LOCK 其它指令 说明:总线锁定指令LOCK(Lock bus during next instruction)可以保持总线的使用权,它放在其它指令之前,表示在执行这组指令期间,使别的设备不能使用外部总线。 3.15 其它指令 5.换码指令ESC 格式: ESC CODE,DATA 说明:换码指令ESC(Escape to external processor)可以完成多处理器之间的指令和数据交换,在8086/8088CPU与其它处理器配合使用时,利用该指令可以将任务分配给其它的处理器,CODE是一个事先规定的6位指令码,表示完成相应的操作,DATA表示要送给其它处理器的数据。 3.16 宏指令 宏指令是用户自己定义的指令,它是由指令和伪指令构成的一个程序段。用户要采用宏指令时,必须先定义后调用。宏指令是指用一个标识符(称为宏指令名)来表示指定的一段程序,在调用该宏指令时可以在程序汇编时展开成相应的程序段(这一过程称为宏展开)。因此宏指令在汇编时并没有相对应的指令代码,而只是类似于EQU定义的一个标识符。 可以将在程序中多次重复的程序段经过整理后定义成宏指令,从而使汇编语言的程序设计得到简化。 3.16 宏指令 宏指令名为一个标识符,即定义的宏指令的名称; 形式参数为宏体中使用的参数,它允许宏指令中具有待定的参数,在宏调用时必须用实际的参数代替它,因此每次宏指令调用时可以通过改变实际参数而改变宏指令的功能,使宏指令的设计更加灵活。 宏指令可有多个形式参数,它们之间以逗号间隔,但总长度不得超过132。调用时,实际参数的个数和类型必须与形式参数一致。 宏指令也可以不带任何形式参数。 3.16 宏指令 二、宏调用与宏展开 宏调用的格式为: 宏指令名 实际参数 应该注意,实际参数应该与宏指令定义时的形式参数一一对应。 在汇编过程中,当汇编到宏调用语句时,将用宏体中的一段程序来代替这一条宏指令,并且用实际参数取代形式参数。在汇编过程产生的LST(列表)文件中,可看到宏展开语句的前面有一个“+”号或其它符号,以表示与其它指令的区别。 3.16 宏指令 例3.40 设计宏指令REGSAVE和REGRESTO分别实现保护和恢复所有通用寄存器。 解:在设计子程序和中断服务子程序时,经常需要在入口处对寄存器的内容进行保护,在出口处恢复寄存器的内容。 3.16 宏指令 保护寄存器的宏指令REGSAVE为: REGSAVE MACRO PUSH AX
文档评论(0)