16_位和32_位微处理器的指令系统及汇编语言编程

16_位和32_位微处理器的指令系统及汇编语言编程

ID:15332486

大小:364.93 KB

页数:54页

时间:2018-08-02

16_位和32_位微处理器的指令系统及汇编语言编程_第1页
16_位和32_位微处理器的指令系统及汇编语言编程_第2页
16_位和32_位微处理器的指令系统及汇编语言编程_第3页
16_位和32_位微处理器的指令系统及汇编语言编程_第4页
16_位和32_位微处理器的指令系统及汇编语言编程_第5页
资源描述:

《16_位和32_位微处理器的指令系统及汇编语言编程》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第4章16位和32位微处理器的指令系统及汇编语言编程教学目的和要求:通过本章的学习,使学生掌握16位微处理器的寻址方式、指令系统及汇编语言编程,了解32位微处理器的指令系统,并结合附录A能够掌握汇编语言编程的上机操作。重点:16位微处理器的寻址方式、指令系统及汇编语言编程(完整段模式)32位汇编语言编程(简化段模式)难点:微处理器的寻址方式与指令系统汇编语言编程的基本概念和编程方法4.18086微处理器的寻址方式与指令系统4.1.1寻址方式一条指令包含操作码和操作数两部分,操表4-18086/8

2、088所采用的6种寻址方式作码指出该指令要进行的操作,操作数指出该寻址方式汇编格式操作数位置指令需要的操作数或操作数的地址。指令根据寄存器寻址R寄存器寄存器间接寻址[R]内存一定的方式,找到操作数或操作数的地址,然变址寻址X[R]内存后取出操作数进行处理。寻找操作数地址的方基址变址寻址X[BR+IR]内存式称为寻址方式。本节主要介绍8086/8088所直接寻址[EA]内存采用的6种寻址方式,见表4-1。立即寻址n内存代码段一、寄存器寻址汇编格式:R(R是寄存器名)。说明:寻找的操作数在寄存器R中。例【4

3、-1】INCAXINC为加1指令操作符,其操作数地址为寄存器AX。假定执行前(AX)=12H,执行后(AX)=13H。二、寄存器间接寻址汇编格式:[R](R是寄存器名)。表4-2寄存器间接寻址方式物理地址生成段段寄存器EAPA说明:寄存器R的内容是操作数在[BX]内存的EA,先从寄存器R中取出操作数据段DS[SI](DS)左移4位+EA数在内存的EA,再根据EA和某段寄存[DI]器生成PA寻找操作数,所以称为间接[BX]附加数据段ES[SI](ES)左移4位+EA寻址。能用来作间接寻址的寄存器只能[DI

4、]是BX、SI、DI或BP四者之一,因为数堆栈段SS[BP](SS)左移4位+EA据存放在内存的数据段、附加数据段或堆栈段,所以表4-2列出了寄存器间接寻址方式对内存的不同段存取数据时PA的生成式(系统默认,不考虑跨段前缀情况,以下各种寻址方式都遵循此说明。若在指令中使用跨段前缀,参考4.2.3中跨段前缀运算符)。另外,在堆栈段中存取数据时,EA也可由默认的SP提供。以下各种寻址方式用到堆栈段也是这种情况,不再重复说明。例【4-2】MOVAX,[SI][SI]代表内存某一单元的EA,MOV指令的功能是将

5、([SI])传送到AX。执行前:(AX)=1,(SI)=10H,(DS)=2000H,(20010H)=2。PA=(DS)左移4位+(SI)=20000H+10H=20010H。执行后,(AX)=2。这条指令是从内存读数据。如果将指令中的两个操作数交换一下位置就变成MOV[SI],AX,这条指令是向内存写数据。三、变址寻址汇编格式:X[R](R是寄存器名,X表示位移量,其值是用8位或16位二进制补码表示的有符号数)。说明:寄存器R内容和位移量X之和是操作数在内存的EA。先将寄存器R中的值和位移量X相加求

6、出操作数在内存的EA,再根据EA和某段寄存器生成PA寻找操作数。能用来作变址寻址的寄存器只能是BX、SI、表4-3寄存器变址寻址方式物理地址生成DI或BP四者之一。表4-3列出了变段段寄存器EAPA址寻址对内存的不同段存取数据时PA[BX]+X数据段DS[SI]+X(DS)左移4位+EA的生成式。[DI]+X例【4-3】MOVBX,2[BX][BX]+XBX既可作数据寄存器,又可作地附加数据段ES[SI]+X(ES)左移4位+EA址寄存器。本指令的功能是将([BX])[DI]+X堆栈段SS[BP]+X(

7、SS)左移4位+EA传送到BX。在本例中,[BX]代表内存某一单元的EA。执行前:X=2,(BX)=10H,(DS)=2000H,(20012H)=2。PA=(DS)左移4位+(BX)+X=20000H+10H+2=20012H。执行后,(BX)=2。四、基址变址寻址汇编格式:X[BR+IR]或X[BR][IR](BR为基址寄存器,IR为变址寄存器,X表示位移量,其值是用8位或16位二进制补码表示的有符号数)。说明:基址寄存器BR、变址寄存器IR的内容和位移量X三者之和是操作数在内存的EA。先将寄存器B

8、R、IR中的值和位移量X相加求出操作数在内存的EA,再根据EA和某段寄存器生成PA寻找操作数。基址寄存器只能用BX或BP,变址寄存器只能用SI或DI。表4-4列出了利用基址变址寻址方式对内存的不同段存取数据时PA的生成式。例【4-4】下面的指令是错误表4-4基址变址寻址方式物理地址生成的。段段寄存器EAPA①MOVAX,[BX+BP]:基址变[BX]+[SI]+X数据段DS(DS)左移4位+EA址寻址方式中两个寄存器都是基[BX]+[DI]

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

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

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