第3章 指令系统及汇编语言程序

第3章 指令系统及汇编语言程序

ID:44954450

大小:149.50 KB

页数:28页

时间:2019-11-06

第3章  指令系统及汇编语言程序_第1页
第3章  指令系统及汇编语言程序_第2页
第3章  指令系统及汇编语言程序_第3页
第3章  指令系统及汇编语言程序_第4页
第3章  指令系统及汇编语言程序_第5页
资源描述:

《第3章 指令系统及汇编语言程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第3章指令系统及汇编语言程序【本章内容简介】本章以INTEL8086为核心CPU,介绍其寻址方式、指令系统、汇编语言的基本语法和程序设计的基本方法,然后,在此基础上,简单地介绍了32位机的指令系统。【本章重点难点】重点掌握8086的指令系统和汇编语言程序设计的基本方法。3.18086指令系统概述3.1.18086指令的基本格式操作码目的操作数,源操作数3.1.28086指令的寻址方式8086微处理器支持的操作数类型有两大类:数据操作数和转移地址操作数。1.数据操作数(1)立即数(2)寄存器操作数(3)存储器操作数2.转移地址

2、操作数转移地址操作数是指在程序发生转移时,与转移的目标地址有关的操作数。它可以是立即数,也可以是寄存器或存储器操作数的形式。数据操作数的寻址方式(1)立即寻址例如:MOVAX,1234H;十六进制数1234H作为源操作数,送入AX寄存器,也即是给AX赋值。(2)寄存器寻址例如:MOVAX,BX;将寄存器BX的内容送入AX中运行结果为:(AX)=(BX)(3)直接寻址例如:MOVAL,[2000H];指令中源操作数的寻址方式为直接寻址方式。将逻辑地址为DS:2000单元内的字节送入AL。(4)寄存器间接寻址例如:MOVAX,[

3、BX];指令中源操作数的寻址方式为寄存器间接寻址方式。BX内容为有效地址(偏移地址),段地址为默认的数据段地址。(5)寄存器相对寻址方式例如:MOVAL,[BX+5];指令中源操作数的寻址方式为寄存器相对寻址方式。若DS=6000H,BX=2000H,BX的内容加上8位位移量05H作为操作数的有效地址。传送逻辑地址为6000H:2005H单元(物理地址为62005H单元)的一个字节到AL中。(6)基址加变址寻址方式例如:MOVAX,[BX+SI];指令中源操作数的寻址方式为基址加变址寻址方式。BX的内容与SI的内容之和作为源

4、操作数的有效地址,传送数据段中的一个字。(7)相对基址加变址寻址方式例如:MOVAH,[BX+DI+1234H];指令中源操作数的寻址方式为相对基址加变址寻址方式。BX的内容加上DI的内容再加上位移量1234H作为源操作数的有效地址,传送数据段中的一个字节。转移地址的寻址方式(1)段内直接寻址方式例如:JMPNEARKEYB;程序跳转至KEYB处,其距当前指令位置在-128~+127字节范围内,故用NEAR表明是短转移。(2)段内间接寻址方式例如:JMPBX;转移目标地址为原代码段,有效地址为BX的内容。若该指令在存储器中的

5、逻辑地址为2000H:3000H,BX=2500H,则执行完该指令后,下一条要执行的指令在2000H:2500H处。(3)段间直接寻址方式例如:JMP3000H:2000H;转移目标地址为3000H:2000H。(4)段间间接寻址方式例如:JMPDWORDPTR[SI+BX];取DS段中偏移地址为[SI+BX]处的双字内容作为新的CS和IP的内容。3.2.1数据传送类指令注意:*目的操作数不能是立即数,CS,IP寄存器。*立即数不能直接给段寄存器赋值,立即数送存储器时,数据类型要匹配。*两个存储器之间,两个段寄存器不允许直接

6、传送数据。*PUSH,POP指令均为单操作数形式,且操作数为字的形式。*XCHG不能在存储器间直接交换数据,也不能用段寄存器,立即数作为操作数。*输入/输出指令用于累加器AL,或AX与外设端口交换数据,8位端口号在指令中直接给出,16位端口号必须由DX给出。*除SAHF,POPF外,数据传送指令均不影响标志位。3.2.2算术运算类指令注意:*算术运算指令中,除两操作数中源操作数为立即数外,必有一操作数在寄存器中,单操作数不能为立即数。*操作数的类型表达式或寄存器操作数决定运算为字节或字的形式。*算术运算指令一般都会影响标志位

7、。如果运算结果为0,则ZF=1;如果运算结果为负,则SF=1;如果运算结果的低八位中有偶数个1,则PF=1;3.2.3逻辑运算类指令指令类型指令格式功能说明逻辑运算指令ANDOPR1,OPR2将两操作数相“与”后送至目的操作数OROPR1,OPR2将两操作数相“或”后送至目的操作数XOROPR1,OPR2将两操作数相“异或”后送至目的操作数NOTOPR1将操作数取反TESTOPR1,OPR2将两操作数相“与”,但不回送。移位指令SALOPR1,OPR2算术左移SAROPR1,OPR2算术右移SHLOPR1,OPR2逻辑左移S

8、HROPR1,OPR2逻辑右移循环移位指令ROLOPR1,OPR2循环左移ROROPR1,OPR2循环右移RCLOPR1,OPR2带进位的循环左移RCROPR1,OPR2带进位的循环右移3.2.4串操作类指令注意:*通过加重复前缀来实现串操作;*可以对字节串进行操作也可对字串进行操作;*所

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

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

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