- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五讲 80X86寻址方式与指令系统
微机原理及应用内容概要8086指令系统总计(75条左右)指令8086指令系统8086指令系统是80x86的基本指令集,按功能可以把这些指令分为六种类型:数据传送指令(10)算术运算指令(20)逻辑运算与移位指令(5)串操作指令(6)控制转移指令(20)中断指令(3)处理器控制指令(12)数据传送指令数据传送指令用于寄存器,存储单元和输入输出端口之间传送数据或地址。除SAHF和POPF外,对标志无影响。主要有四类:1.通用数据传送指令2.地址传送指令3.标志传送指令4.输入输出指令通用数据传送指令(1)基本的传送指令mov格式:MOV DEST , SRC功能:将源操作数的内容传送到目的操作数例3-12 基本的传送指令MOV AL,30H;立即数传送到寄存器MOV AL, BL;寄存器之间传送字节数据MOV SI, [BX+62H];寄存器和存储器之间传送数据例3-13下列指令是不合法的。MOV 6234H,AX;立即数不能用于目的操作数MOV CS,AX;CS不能用于目的操作数MOV IP,AX;IP不能用于目的操作数MOV DS,4234H;立即数不能直接传送给段寄存器MOV AL,BX;源操作数与目的操作数的位数必须一致MOV BUF1,BUF2;不能在两个存储器单元之间传送数据MOV DS,ES;不能在两个段寄存器之间传送数据(2)交换指令格式:XCHG DEST,SRC功能:将源操作数与目的操作数的内容交换(Exchange)例3-14 交换指令XCHG AL,CL;字节交换XCHG BX,SI;字交换XCHG AX,[BX+SI];寄存器和存储器之间交换数据例3-15 下列指令是非法的XCHG AX,6234H;寄存器与立即数之间不能交换XCHG BUF1,BUF2;存储器单元与存储器单元之间不能交换XCHG ADDR,4234H;存储器单元与立即数之间不能交换XCHG CS,DAT[BX];不能与CS(或IP)寄存器进行交换×16++×16SS0200SS0200SP存储器+2存储器-2CX12FASS段首地址200012FACXSS段首地址200012FAH12FAH原栈顶FA2006122007新栈顶2006FA新栈顶2008122007原栈顶2008(3)堆栈操作指令堆栈是按“先进后出”原则工作的一段存储器区域 格式:PUSH SRC POPDEST例3-16 将16位通用寄存器CX的内容压入堆栈,然后,弹出栈顶至CX中,已知:(SS)=0200H,(SP)=0008H,(CX)=12FAH,其示意图见图3-1和图3-2。 Hex_table+030H‘0’31H‘1’Hex_table+132H‘2’Hex_table+238HHex_table+8‘8’39HHex_table+9‘9’(4)换码指令格式:XLAT功能:这是一条专门用于AL和字节表中某一存储单元之间执行数据传送的指令。执行(AL)← [BX+AL]的操作,使AL中的一个值变换为内存表格中的某一个值,实现编码的转换。例3-17 在内存的数据段中存放有一张数值0~9的ASCII码转换表,首地址为Hex_table,如图3-3所示。现要把数值8转换成对应的ASCII码,可用以下几条指令实现:LEA BX,Hex_table ;(BX)←表首偏移地址MOV AL, 8; (AL)←8XLAT ;查表转换2.地址传送指令(1)有效地址传送指令格式:LEA DEST,SRC功能:这是一条取有效地址的指令(Load effective address)。它用来将源操作数的偏移地址传送到通用寄存器、指针或变址寄存器中 例3-18 有效地址传送指令MOV BX,[3200H];将3200H单元的内容送BXLEA BX,[3200H];将有效地址3200H送BXLEA SI,ADDR;将ADDR的有效地址送SI(2)地址指针传送指令格式:LDS DEST,SRC LES DEST,SRC功能:将源操作数指定的连续4个存储器单元中存放的32位地址指针(包括一个段地址和一个偏移地址)传送到两个16位寄存器 例3-19 地址指针传送指令POINT DD ;设定POINT的段地址和偏移地址LDS BX,POINT ;(BX)=3344H,(DS)=5566HLES BX,POINT ;(BX)=3344H,(ES)=5566HD7 D0 AHD15 D0FLAGS OF DF IF TFSF ZF AF PF CF图3-4 LAHF指令操作示意图3.标志传送指令(1)标志读写指令格式:LAHF/
文档评论(0)