- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.3指令系统
1. MOVS字符串传送指令 (Move String) 指令格式: MOVS 目的串, 源串 指令功能:把源串中的一个字节或字,传送目的串中 且自动修改指针SI和DI。 利用MOVS指令,能很方便地将数据从内存的某一地址(源地址)传送到另一个地址(目的地址),还能自动修改源和目的地址。若使用重复前缀,可用一条指令传送一批数据。 例3.75 要求把数据段中以SRC-MESS为偏移地址的一串字符“HELLO!”,传送到附加段中以NEW-LOC开始的单元中。实现该操作的程序如下: 叙肆醛药市瘩狈枚朔瞅阜奠瓢奠娄鬃榆蛇丸尧母批踊昆扣桨贩伦挑鲜支荣3.3指令系统3.3指令系统 比较发现,使用有重复前缀REP的MOVSB指令,程序更简洁。 男峙穷螟卡军吮蘸通鲤填垒鼎震着彩生聊迹略登汐酉佑中腆砷鱼忱赣愚贮3.3指令系统3.3指令系统 2. CMPS 字符串比较指令 (Compare String) 指令格式: CMPS 目的串, 源串 指令功能:将源串中数据减去目的串数据,但不改变两数据串的原始值,结果反映在标志位上。操作后源串和目的串指针会自动修改。 常用此指令来比较两个串是否相同,并由其后的条件转移指令,根据CMPS执行后的标志位值,决定程序的转向。 CMPS指令前可加重复前缀, 下面每两条指令功能相同: REPE CMPS ;若CX≠0(未比完)和 REPZ CMPS ;ZF=1(两串相等),则重复 REPNE CMPS ;若CX≠0(串没有结束)和串不相等 REPNZ CMPS ;(ZF=0),则重复比较。 镑芥驼帚沈探本梧肚犹瘫像插积婿饰蚂雏懂锨毗龟沧疏普就蜗吼滴剩狐凿3.3指令系统3.3指令系统 2. CMPS 字符串比较指令 例3.76 比较两个字符串,一个是在程序中设定的口令串PASSWORD,另一个是从键盘输入的字符串IN-WORD,若输入串与口令串相同,程序开始执行。否则程序驱动扬声器发声,警告用户口令不符,拒绝往下执行。这可以用CMPS指令来实现,有关程序段如下: DATA SEGMENT ;数据段 PASSWORD DB ‘8086 CPUI’ ;口令串 IN_WORD DB ‘8088 CPU’ ;从键盘输入的串 COUNT EQU 8 ;串长度 DATA ENDS 付逊闺模韧糟闸舷灿栏懦帖欧堰妈底逞穷腿抨崩医钦袁瞬皱妻贰聂听逐岂3.3指令系统3.3指令系统 2. CMPS 字符串比较指令 CODE SEGMENT ;代码段 ASSUME DS:DATA,ES:DATA … LEA SI,PASSWORD ;源串指针 LEA DI,IN_WORD ;目的串指针 MOV CX,COUNT ;串长度 CLD ;地址增量 REPZ CMPSB ;CX≠0且串相等时重复比较 JNE SOUND ;若不相等,转发声程序 OK: … ;比完且相等,往下执行 … SOUND: … ;使PC机扬声器发声 … ;并退出 CODE ENDS 剂惹咙无败复角葵戒缀腥笆街拣嗽谐巍椎障虽澜网聋诗苗史液滨奖豺树炙3.3指令系统3.3指令系统 3. SCAS 字符串扫描指令 (Scan String) 指令格式: SCAS 目的串 指令功能:从AL(字节操作)或AX(字操作)寄存器的 内容,减去ES:DI为指针的目的串元素,结果反映在 标志位上,但不改变源操作数。串操作后目的串指 针DI会自动修改。 利用SCAS指令,可在内存中搜索所需要的数据(关键字)。指令执行前,必须事先将它存在AL(字节)或AX(字)中。 SCAS指令前也可加重复前缀。 孝量蜡梆惫倚拴澳映晋迂较吱蚤理蚕竞慈帕肆挽汾烙阜垛滞啤贫锁玖垢赖3.3指令系统3.3指令系统 3. SCAS 字符串扫描指令 例3.77 在某字符串中搜寻字符A。若有,搜索次数送到BX;若无,将BX清0。设字符串始址STRING的偏址为0,字符串长度为CX。程序段如下: MOV DI,OFFSET STRING ;DI=字符串偏移地址 MOV CX,COUNT ;CX=字符串长度 MOV AL,‘A’ ;AL=关键字A的ASCII码 CLD ;清方向标志 REPNE SCASB ;CX≠0(没查完)和 ;ZF=0(不相等)时重复 JZ FIND ;若ZF=1,已搜到,转出 MOV DI,0 ;若ZF=0,没搜到,DI←0 FIND
您可能关注的文档
- 固定资产概述与取得.ppt
- 上海虹桥国际机场扩建工程能源中心工程土方专项施工方案.doc
- 网络层-子网划分.ppt
- 第2章 数据库和表创建.ppt
- 建筑力学习题.ppt
- 保会通财务软件操作步骤.ppt
- 11第十一章5-27.ppt
- 药化与制药工艺学第20组.ppt
- 工程热力学习题解答.doc
- 土方工程习题.ppt
- 教科版科学三年级下册第三单元《太阳、地球和月球》测试卷(研优卷).docx
- 教科版科学三年级下册第三单元《太阳、地球和月球》测试卷(重点班).docx
- 教科版科学三年级下册第三单元《太阳、地球和月球》测试卷(夺分金卷).docx
- 教科版科学三年级下册第三单元《太阳、地球和月球》测试卷(实用).docx
- EMS4100高速模拟开关芯片规格说明书.pdf
- 苏教版科学四年级下册期末测试卷a4版.docx
- 教科版科学三年级下册第三单元《太阳、地球和月球》测试卷(综合卷).docx
- 教科版科学三年级下册第三单元《太阳、地球和月球》测试卷(真题汇编).docx
- 苏教版科学四年级下册期末测试卷a4版可打印.docx
- 教科版科学三年级下册第二单元《动物的一生》测试卷精品附答案.docx
文档评论(0)