- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                第03章80X86指令系统
                    隐含约定:  ①源串: 起始地址(或末地址)为DS:SI。源串允许使用段超越前缀来修改段地址。  ②目的串: 起始地址(或末地址)为ES:DI。目的串不允许使用段超越前缀修改ES。如果要在同一段内进行串运算,必须使DS和ES指向同一段。  ③指针: 每执行一次字符串指令,指针SI和DI会自动修改,以指向下一个待操作单元。    ④DF标志: 控制字符串处理的方向。 DF=0为递增方向。DS:SI指向源串首地址,每执行一次串操作:字节串操作时,SI、DI分别增1;字串操作时,SI和DI分别增2; DF=1为递减方向。DS:SI指向源串末地址,每执行一次串操作:字节串操作时减l;字串操作时减2。 STD使DF置1,CLD将DF清0。  ⑤串长度: 要处理的字符串长度(字节或字数)放在CX寄存器中。  重复前缀:  ①功能: 在基本指令前加重复前缀,可加快串运算指令的执行速度。 每重复执行一次,地址指针SI和DI按方向标志自动修改,CX的值自动减1。  ②类型与格式:  REP	          ;无条件重复(Repeat)     REPE/REPZ         ;相等/结果为零则重复(Repeat while Equal/Zero)     REPNE/REPNZ   ;不相等/结果非零则重复                    (Repeat while Not Equal/Not Zero)   ③重复前缀的运用: REP常与 (MOVS)连用,连续传送字符串。 直到传送完毕,即CX=0为止。  REPE和REPZ常与 (CMPS)连用,连续比较字符串。 当两个字符串相等(ZF=1)和CX≠0时,则重复进行比较,直到ZF=0或CX=0为止。  REPNE和REPNZ常与 (SCAS)连用,当结果非0(ZF=0)和CX≠0时,重复进行扫描,直到ZF=1或CX=0为止。  带有重复前缀的串指令执行过程中允许有中断进入。          1.MOVS字符串传送指令(Move String):                                指令格式:MOVSB 和MOVSW           指令功能:SI作指针的源串中的一个字节或字→DI作指针的目的串;               自动修改指针SI和DI。                            应用:          ▲解决MOV指令不能直接在存储单元间进行数据传送的问题。          ▲若使用重复前缀,还可以利用一条指令传送一批数据。          例3.75  要求把数据段中以SRC_MESS为偏移地址的一串字符“HELLO!”,传送到附加段中以NEW_LOC开始的单元中。 解:DATA            SEGMENT		;数据段         SRC_MESS   DB     ‘HELLO!’		;源串         DATA            ENDS         ;         EXTRA          SEGMENT		;附加段         NEW_LOC    DB   6   DUP(?) 		;存放目的串         EXTRA          ENDS         ;         CODE            SEGMENT                                  ASSUME   CS:CODE,  DS:DATA,  ES:EXTRA         START:      MOV     AX,DATA                                MOV     DS,AX                    ;DS=数据段段址                                MOV     AX,EXTRA 	               MOV      ES,AX		;ES=附加段段址 		LEA       SI,SRC_MESS	;SI指向源串偏移地址 		LEA       DI,NEW_LOC	;DI指向目的串偏移地址 		MOV     CX,6		;CX作串长度计数器                                 CLD			;清方向标志,地址增量 		REP        MOVSB		;重复传送串中各字节,直到CX=0         其中“REP  MOVSB”指令可用以下几条指令代替:                  AGAIN:   MOVSB     		DEC        CX     		JNZ         AGAIN? 2.CMPS
                您可能关注的文档
最近下载
- 五年级数学奥数讲义.pdf VIP
- 牛羊屠宰兽医卫生检验人员理论考试题库及答案.docx VIP
- 牛品种改良与人工授精技术培训课件.ppt
- 五年级数学奥数讲义134讲.doc VIP
- 2025年综合类-电力机车钳工-电力机车钳工(高级技师)历年真题摘选带答案(5卷单选题100题).docx VIP
- 2025年综合类-电力机车钳工-电力机车钳工(高级)历年真题摘选带答案(5卷单选题100道).docx VIP
- 2025年综合类-电力机车钳工-电力机车钳工(高级)历年真题摘选带答案(5卷单选一百题).docx VIP
- 2025年综合类-电力机车钳工-电力机车钳工(高级技师)历年真题摘选带答案(5卷单选100题合辑).docx VIP
- 马来酸氯苯那敏片详细说明书与重点.docx VIP
- 2025年综合类-电力机车钳工-电力机车钳工(高级技师)历年真题摘选带答案(5卷单选一百题).docx VIP
 原创力文档
原创力文档 
                        

文档评论(0)