网站大量收购独家精品文档,联系QQ:2885784924

寻址方式及指令系统.ppt

  1. 1、本文档共88页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.2.3 位操作指令 利用循环移位指令可以对寄存器或存储器中的任一位进行测试。 例45 测试AL寄存器中第5位的状态,为“0”时转向ZERO,否则向下继续执行。 方法1 用循环移位指令实现: MOV CL,6 ROR AL,CL ;将AL的bit5移入CF JNC ZERO ;若CF=0,则转向ZERO处… ;否则,继续执行 ZERO: … 方法2 用测试指令实现: TEST AL,20H ;将AL与20H相“与”… JZ ZERO ;若结果为0,则转向ZERO处 ;否则,继续执行 ZERO: … 3.2.4 串操作指令 串操作指令能够对内存中地址连续的字节串或字串进行操作。其约定为: (1)用寄存器SI寻址源操作数,且假定是在现行的数据段,隐含段寄存器DS,但也允许段超越;用寄存器DI寻址目的操作数,且假定是在现行的附加段,隐含段寄存器ES,不允许段超越。 (2)每一次操作后自动修改地址指针,是增量还是减量修改由方向标志DF决定。当DF=0时,按增量修改;若DF=1,按减量修改。增减的量值取决于所操作的数据的类型。字节操作时,量值为1,字操作时为2。 (3)重复前缀REP和REPE/REPZ ①重复前缀REP加在串操作指令前,使串操作重复进行,重复的次数由CX的内容决定。因此,使用重复前缀以前应首先给CX赋值。重复前缀REP每执行一次,CX的内容就减1,直到CX减为0时,结束串指令操作。 ②条件重复前缀REPE/REPZ或REPNE/REPNZ使重复执行的串操作按规定条件结束。REPE/REPZ的重复条件是CX≠0且ZF=1,REPNE/REPNZ的重复条件是CX≠0且ZF=0。若重复条件满足,重复前缀先使CX←CX-1,然后执行后面的串指令。 3.2.4 串操作指令 1.串传送指令 格式:MOVS 目的串,源串 ;一般格式 MOVSB ;字节格式 MOVSW ;字格式 操作:[ES:DI] ← [DS:SI] SI ← SI±1,DI ← DI ± 1(字节操作) 或SI ← SI±2,DI ← DI ± 2(字操作) 说明:MOVS指令将由DS:[SI]作为指针的源串中的一个字节或字内容传送到由ES:[DI]为指针的目的串单元中,然后自动修改地址指针,指向下一字节/字。MOVS指令可与重复前缀REP联用,实现整个数据块的传送。 3.地址目标传送指令 8086/8088CPU提供了三条把地址写入寄存器的指令,它们可以用来写入16位的近地址指针和32位的远地址指针。 (1)取有效地址指令 格式:LEA REG ,OPS 操作数类型:OPS为存储器操作数,REG为16位通用寄存器。 说明:将源操作数OPS的有效地址即16位偏移地址装入到16位通用寄存器REG中。 例16 设DS = 3000H,BX = 2000H,SI = 1000H,指令LEA AX,[BX+SI+1000H]执行的结果是:AX = BX + SI + 1000H = 4000H,执行过程如图3-10所示。 区别:MOV AX,[BX+SI+1000H]指令是将偏移地址为BX + SI + 1000H的内存单元的内容送到AX中,结果是AX=1256H 3.地址目标传送指令 2)地址指针装入DS指令 格式:LDS REG,OPS 操作数类型:OPS为存储器操作数,REG为16位通用寄存器。 说明:将OPS指定的内存中读取双字(四个连续)存储单元内容,将其中的低字(前两个单元)的内容赋给REG,高字(后两个单元)内容传赋给DS。 图3-10 LEA指令执行过程示意图 8DH 80H 00H 56H 12H … 存储器 操作码 位移量 数 据 段 34000H … … … 代码 段 3 4 0 0 0 H + 1 0 0 0 H 10H 4000H AX EA DS 3 0 0 0 0 H BX 2 0 0 0 H SI 1 0 0 0 H 例17 LDS SI,[0100H] 设:原来DS=3000H,而有关单元的内容(30100H) = 60H,(30101H) = 05H,(30102H)=18H,(30103H)=20H,上述指令执行后,SI = 0560H,DS = 2018H,执行过程如图3-11所示。 C5H 36H 00H 05H 18H … 存储器 操作码 位移量 数 据 段 … … … 代码 段 3 0 1 0 0 H DS 3 0 0 0 0 H + 0 1 0 0 H 01H 0560H S

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档