- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、通用数据传送指令
1、传送指令 MOV (move)
指令的汇编格式:MOV DST,SRC
指令的基本功能:(DST)- (SRC) 将原操作数 (字节或字)传送到目的地址。
指令支持的寻址方式:目的操作数和源操作数不能同时用存储器寻址方式,这个限制适用于
所有指令。
指令的执行对标志位的影响:不影响标志位。
指令的特殊要求:目的操作数DST 和源操作数SRC 不允许同时为段寄存器;
目的操作数DST 不能是CS,也不能用立即数方式。
2、进栈指令 PUSH (push onto the stack)
出栈指令 POP (pop from the stack)
指令的汇编格式:PUSH SRC ;POP DST
指令的基本功能:PUSH 指令在程序中常用来暂存某些数据,而POP 指令又可将这些数据恢复。
PUSH SRC (SP)- (SP)-2 ;(SP)- (SRC)
POP DST (DST)- ((SP));(SP)- (SP)
指令支持的寻址方式:push 和 pop 指令不能不能使用立即数寻址方式。
指令对标志位的影响:PUSH 和 POP 指令都不影响标志位。
指令的特殊要求:PUSH 和 POP 指令只能是字操作,因此,存取字数据后,SP 的修改必须是
+2 或者 -2;
POP 指令的DST 不允许是CS 寄存器;
3、交换指令 XCHG (exchange)
指令的汇编格式:XCHG OPR1,OPR2
指令的基本功能:(OPR1)- (OPR2)
指令支持的寻址方式:一个操作数必须在寄存器中,另一个操作数可以在寄存器或存储器中。
指令对标志位的影戏:不影响标志位。
指令的特殊要求:不允许使用段寄存器。
二、累加器专用传送指令
4、输入指令 IN (input)
输出指令 OUT (output)
指令的汇编格式:IN ac,port port=0FFH
IN ac,DX port0FFH
OUT port,ac port=0FFH
OUT DX,ac port0FFH
指令的基本功能:对8086 及其后继机型的微处理机,所有 I/O 端口与CPU 之间的通信都由
输入输出指令IN 和OUT 来完成。IN 指令将信息从I/O 输入到CPU,OUT 指令将信息从CPU 输
出到I/O 端口,因此,IN 和OUT 指令都要指出I/O 端口地址。
IN ac,port port=0FFH (AL)-(port)传送字节 或 (AX)-(port+1,port)
传送字
IN ac,DX port0FFH (AL)- ((DX))传送字节 或 (AX)- ((DX)+1,
(DX))传送字
OUT port,ac port=0FFH (port)- (AL)传送字节 或 (port+1,port)-
(AX)传送字
OUT DX,ac port0FFH (DX)- (AL)传送字节 或 ((DX)+1, (DX))
- (AX)传送字
指令对标志位的影响:不影响标志位。
指令的特殊要求:只限于在AL 或AX 与I/O 端口之间传送信息。
传送 16 位信息用AX,传送8 位信息用AL,这取决于外设端口的宽度。
5、换码指令 XLAT (translate)
指令的汇编格式:XLAT opr 或 XLAT
指令的基本功能:这条指令根据AL 寄存器提供的位移量,将BX 指使的字节表格中的代码换
存在AL 中。
(AL)- ((DS)*16+ (BX)+ (AL))
指令对标志位的影响:不影响标志位。
指令的特殊要求:所建字节表格的长度不能超过256 字节,因为存放位移量的是8 位寄存器
AL。
opr 为表格的首地址,因为opr 所表示的偏移地址已存入BX 寄存器,所以opr
在换码指令中可有可无,有则提高程序的可读性。
三、地址传送指令
6、有效地址传送器 LEA (load effective address)
指令的汇编格式:LEA reg,src
指令的基本功能:LEA 指令把源操作数的有效地址送到指定的寄存器,这个有效地址是由src
文档评论(0)