- 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章 80X86的寻址方式 及指令系统 ;本章要点;定义:;指令的一般格式:
操作助记符 目的操作数(或其位置),源操作数(或其位置)
dst src ;① 立即寻址:操作数(8位或16位)出现在指令
中,与指令代码一起存放在存储器的代码段中。;
②寄存器寻址:操作数放在CPU内部的寄存器中,
可为8位或16位寄存器,由指令给出。
;③ 直接寻址:操作数放在存储器的数据段(其段地址由
DS中的内容决定)中,其有效地址(偏移地址
直接用偏(位)移量表示在指令中,占2个字节。偏
移量常用disp表示,是有效地址的一部分或全部,
可以8位也可以16位。
例:MOV AX,DS:[0100H]; ②寄存器间接寻址:操作数在存储单元中,其有效
由BX﹑SI或DI中的内容给出表示为: (BX)
EA= (SI)
(DI)
寄存器BX﹑SI或DI在指令中给出。
例: MOV AX,[SI]; ⑤ 寄存器相对寻址:操作数在存储器中,其有效地址是
位移量(可8位或者16位)与变址或基址寄存器之和,
Disp与寄存器在指令中给出。;⑥ 基址变址寻址:操作数在存储器中,偏移地址由基址寄
存器和变址寄存器中的内容相加确定。
;⑦ 基址变址相对寻址:寄存器相对寻址与基址变址寻址
方式的结合。;⑧ 隐含寻址:指令本身隐含了操作数的地址,
例如:字符串操作指令 MOVS,
源操作数由DS:SI寄存器间接寻址,
目的操作数由ES:DI寄存器间接寻址。;3.2 8086/8088的指令系统;Ⅰ.数据传送,由 源---》目的
例:MOV AX,BX ;寄存器寻址
MOV DL,AL ;寄存器寻址
MOV AX,02 ;源操作数用立即寻址
MOV SI,[BX] ;源操作数寄存器间接寻址
MOV AL,4[DI] ;源操作数用寄存器相对寻址
MOV AX,[BX+2] ;源操作数用寄存器相对寻址
MOV [BX][DI],DX;目的操作数用基址加变址寻址; 立即数、代码段寄存器CS只能作源操作数。
IP寄存器不能作源操作数或目的操作数。
MOV指令不能在两个存储单元之间直接传
送数据,也不能在两个段寄存器之间直接
传送数据。
两个操作数的类型属性要一致。 ;Ⅱ. 堆栈操作指令:
堆栈:是以后进先出规则保存信息的一种存储机构。
(1)8086中堆栈段地址在SS寄存器中,堆栈当前偏移地
址在SP寄存器中,SP称为堆栈指针。SP的初值代表了堆
栈区的大小,若 SP=0100H,有右图所示:
( 2 ) 堆栈操作方式:
以字为单位进行操作,高字节在高地址,
低字节在低地址。;(3)堆栈操作指令
a、压入指令: PUSH
例:PUSH AX
如果 AX=1234H,则该指令执行后的结果:
SP=00FEH,
(00FFH)=12H,(00FEH)=34H;Ⅲ. 字节或字交换指令:
寄存器之间或寄存器与存储器之间内容交换。
XCHG OPR1,OPR2 ;(OPR1) (OPR2)
例:xchg ax, cx;Ⅳ. 字节转换指令:常用于查表。
格式:XLAT [转换表]
即:XLAT ;(BX+AL)-?AL,BX的内容是表的首地
址,AL的内容是表内的序号。采用隐含寻址方式。
功能:将一个字节从一种代码转换成另一种代码。
XLAT指令是通过查表方式来完成翻译功能的,因此,执行
该指令之前,必须建立好一张翻译表,该表的最大容量为
256个字节。 ; IN A,port ;数据从 port 端口输入到AL或AX
OUT port,A ;数据从AL或AX输出到 port 端口
1) A是AL(8位输入输出)或AX(16位输入输出)
2)port 是外设的端口地址,可以是8位立即数表示的直接
地址,也可以用DX寄存器的内容作为端口地址
文档评论(0)