寻址方式与指系统97.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
寻址方式与指系统97

第三章 寻址方式与指令系统;寻找指令中所需操作数的各种方法叫寻址方式;1.立即数寻址;例:MOV AX,20A0H;2.寄存器寻址;一个存储单元逻辑地址表示形式:; 位移量、基址和变址三个地址分量组合时,若有两个或两个以上分量时,将进行以216为模的十六位加法运算。;在汇编语言源程序中,直接寻址方式用符号或常数来表示。;4.寄存器间接寻址;例如:MOV AX,[BX];5.基址寻址和变址寻址;例:MOV AX,10H [SI]; 6.基址变址寻址;例如:MOV CX,100H[BX][DI] MOV TABLE[BX][DI],AX;存储器操作数寻址方式中地址形成小结;7.串操作寻址方式;;(1) 直接端口寻址;3.2 指令系统;(2)在指令格式中,没有显式地指明操作数,但是它隐含指明了操作数的存放地方。;作用:将源操作数指定的内容传送到目的操作数,即DEST=(SRC)。;注意:立即数只能作为源操作数,立即数不能传送给段寄存器。;综合起来,MOV指令在使用时需注意以下几个问题:; 数据交换可以在寄存器之间或寄存器与存储器单元之间进行。但是不能在存储单元之间直接进行数据交换。寄存器只能使用通用寄存器。; 为了完成两个存储单元(DA_BYTE1和DA_BYTE2)之间的数据交换可以使用以下三条指令来实现。;;(2)存储标志寄存器指令;(4)标志出栈指令;其中:源操作数SRC必须是一个字节或字存储器操作数(地址),DEST必须为一16位通用寄存器。;例2 指令 LEA BX,[23H]与 MOV BX,[23H]的比较。 ;(2)装入地址指针指令;例:LDS SI,TABLE[BX];二、算术运算类指令;指令格式:ADD DEST,SRC;SRC可以是通用寄存器、存储器或立即数操作数。;ADD AX,CX 功能:将寄存器AX的内容与CX的内容相加,结果传送到AX中。 (2) ADD AH,DATA_BYTE 功能:将由直接寻址方式所指示的存储单元的内容与AH内容相加,结果送回AH中。 (3) ADD CX,10H 功能:将常数10H加入到CX中。为字操作数指令. (4) ADD AX, [BX][SI] 功能:将由基址变址寻址方式所指示的存储单元的内容加入到AX中。;指令格式:ADC DEST,SRC;例:计+376425H;目的操作数可以是任意的8位、16位通用寄存器或存储器操作数。目的操作数被视为带符号二进制数;功能:目的操作数的内容减去源操作数的内容,结果送入???的操作数,源操作数中原有内容不变。;例:SUB AX,BX SUB AH,10H SUB DX,DA-WORD SUB DA-BYTE,BL;该指令的功能与SUB指令基本相同,不同的是在两个操作数相减后再减去进位标志CF的值。 即:DEST=(DEST)-(SRC)-CF。;该指令为单操作数指令,将目的操作数的内容减1后,送回到目的操作数。即:DEST=(DEST)-1;DEC指令的使用类似INC指令。主要用于计数和修改地址指针,计数方向与INC指令相反。;指令功能:用零减去目的操作数的内容,并送回目的操作数,即:DEST=0-(DEST);只有当操作数为零时,进位标志CF被置零,其它情况都被置1.;例1 设AL中存放一个正数:(AL)=25H,BL中存放一个负数:(BL)=-58H,求它们的相反数,即负数。;例2 一个32位带符号数存放在DAW开始的四个字节存储单元中,DAW字节单元存放最低字节。求该数的负数,并存入原存储单元中。;逻辑“与”指令 AND DEST,SRC 逻辑“或”指令 OR DEST,SRC 逻辑“异或”指令 XOR DEST,SRC 逻辑“非”指令 NOT DEST;这4条指令都是执行按位逻辑运算,如下表所示:;逻辑指令对标志位的影响:;例1:AND AH,0F0H;;该指令的功能与AND指令相似,实现源操作数与目的操作数进行按位“逻辑与”运算,对标志位的影响与AND指令相同,但运算的结果不送入目的操作数,即目的操作数内容也将保持不变。;例1 TEST AL,01 JZ ZERO ……. ZERO: …...;3.移位/循环移位指令;(2)逻辑移位;小循环: 循环左移 ROL DEST,COUNT 循环右移 ROR DEST,COUNT;大循环: 带进位循环左移

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档