第三章 8086 指令系统.ppt

第三章 8086 指令系统.ppt

ID:48257398

大小:115.50 KB

页数:34页

时间:2020-01-18

第三章 8086 指令系统.ppt_第1页
第三章 8086 指令系统.ppt_第2页
第三章 8086 指令系统.ppt_第3页
第三章 8086 指令系统.ppt_第4页
第三章 8086 指令系统.ppt_第5页
资源描述:

《第三章 8086 指令系统.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第三章8086指令系统每种计算机都有一组指令集提供给用户使用,这组指令集称为该计算机的指令系统。8086微处理器的指令系统具有8位和16位的处理能力。80386、80486等CPU具有32位处理能力。本课程只讲8086指令系统。CPU只能执行二进制代码形式的机器指令,8086机器指令是变字节指令,一条指令一般由1~6个字节组成(加上前缀字节,最长的可为7字节指令)。8086机器指令代码由操作码和操作数代码两部分组成。 直接用机器指令编写程序是一件十分困难的事。通常是用汇编语言编写程序,输入计算机后,由汇编程序将它翻译成机

2、器语言程序,计算机才能执行。因此这里对8086机器语言格式不作更多的叙述。本课程主要介绍汇编语言格式的8086计算机指令。3.18086指令的寻址方式一条指令主要包括两方面内容:一是指令进行什么操作,这由指令操作符表明。二是操作涉及的操作数存放在什么地方,操作的结果存放在什么地方(有些指令不涉及操作数)。8086指令涉及的操作数的存放地点可分为4类:◆操作数直接存放在指令中,即指令本身就含有操作数。◆操作数在寄存器中,指令中指眀寄存器的名称。◆操作数在内存单元中,指令中指明内存单元的地址。当操作数在内存单元中,寻址所需的

3、偏移地址又叫有效地址,用EA表示,它是一个16位的无符号数。◆数据存放在I/O端口中,指令中指明I/O端口的地址。寻址方式就是指令中用于说明操作数所在地址的方法。8086可采用许多不同的方法来说明操作数所在的地址。在后面要用到下列表示方法:◆DS=1000H,表示DS寄存器的内容为1000H。◆(2300H)=8CH,表示物理地址为2300H的内存单元的内容为8CH。◆AX<--5000H表示数值5000H传到AX寄存器中◆AX<--(8000H),表示物理地址为8000H的内存字单元的内容传到AX中。◆(8000H)<

4、--AX,表示AX的内容传到物理地址为8000H的内存字单元中。◆AX<--(DS:5000H),表示逻辑地址为DS:5000H的内存字单元的内容传到AX中。DS内容为段地址,5000H为偏移量)◆AL<--(DS:BX),表示逻辑地址为DS:BX的内存单元的内容传到AL中。◆AL<--(DS:BX+5),表示逻辑地址为DS:BX+5的内存单元的内容传到AL中。寻址方式可分为数据的寻址方式和转移地址的寻址方式两种。3.1.1数据的寻址方式1、立即寻址方式立即寻址方式即操作数直接存放在指令中,紧跟在操作码以后,作为指令的一

5、部分存放在代码段区域中。这种操作数称为立即数。它只能用于源操作数字段,不能用于目的操作数字段.【例】MOV AL,42H指令的执行:AL<--42H42H为8位立即数,它是指令的一个组成部分。指令执行后,AL=42H。【例】MOV DX,2345H;指令的执行:DX<--2345H2345H为16位立即数,它是指令的一个组成部分。指令执行后,DX=2345H。2、寄存器寻址方式寄存器寻址方式即操作数在寄存器中,指令中指明寄存器名称;对于8位操作数,寄存器可以是AL、AH、BL、BH、CL、CH、DL和DH之一。在这种寻址

6、方式中,寄存器可以用作源操作数,也可以存放目的操作数。【例】MOV AX,BP指令的执行:AX<---BP如果指令执行前,AX=3664H,BP=2758H,则指令执行后AX=2758H,BP保持不变。【例】MOV CH,BL指令的执行:CH<---BL如果指令执行前,CH=64H,BL=58H,则指令执行后CH=58H,BL保持不变。立即寻址和寄存器寻址指令,执行速度最快,后面要讲到的存储器寻址指令执行速度较慢。3、直接寻址方式直接寻址方式中,操作数一般在内存数据段中,而操作数的有效地址直接包含在指令中。操作数的物理地

7、址是由数据段寄存器DS的值乘以16再加上这16位的有效地址得到。【例】MOV AX,[2500H]指令的执行:AX<--(DS:2500H)该指令默认DS中为数据段的段地址,指令括号指明的偏移量为2500H,从而可计算出字单元的物理地址,指令执行把该单元内容送到AX中。如果指令执行前DS=8000H,(82500H)=02,(82501H)=03,则指令执行后AX=0302H通常指令中不出现DS段寄存器名称,这种情况叫做默认段寄存器(或叫缺省段寄存器)。但是也允许段超越,即允许操作数在代码段或堆栈段或附加段中,只是必须在

8、指令中指明。【例】MOV AX,SS:[2500H]指令的执行:AX<--(SS:2500H)该指令将SS指明的堆栈段中偏移量为2500H的字单元的内容送到AX中。直接寻址方式中,存储器操作数的有效地址常常用已经定义的变量名表示,此时指令中可不写括号。【例】MOV BH,ARRY指令的执行:BH<--(DS:ARRY

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。