问题解答与课程导入_第1页
问题解答与课程导入_第2页
问题解答与课程导入_第3页
问题解答与课程导入_第4页
问题解答与课程导入_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、问题解答与课程导入1、学生网上提问:REPE和CMPS串比较指令的用法与与REPE/REPZ和和REPNE/REPNZ联合工作的联合工作的CMPS和和SCAS指令指令 * REPE/REPZ 当相等当相等/为零时重复串操作为零时重复串操作格式:格式: REPE(或(或REPZ) CMPSB REPE(或(或REPZ) CMPSW执行操作:执行操作:1)如()如(CX)=0或或ZF=0时退出,否则往下执行。时退出,否则往下执行。2)()(CX) (CX)-13)执行其后的串指令)执行其后的串指令4)重复)重复13例:两个字串比较例:两个字串比较 DATA SEGMENTSTRING1 DB ST

2、UDENTSTRING2 DB STUDENT DATA ENDS要求:源串的首址在要求:源串的首址在SI中,中,目的串的首址在目的串的首址在DI中。中。CX存放比较的次数。存放比较的次数。LEA SI ,STRING1LEA DI,STRING2MOV CX,5REPE CMPSB2、归纳循环结构的各种形式(1)用条件转移指令实现(2)重复前缀REP/REPE/REPNE(3)LOOP/LOOPE/LOOPNE(4)前提是循环次数的确定。用CX存放循环次数。 例例 有一首地址为有一首地址为ARRAY的的M字数组字数组,试编写试编写一程序一程序;求出该数组的元素累加和求出该数组的元素累加和(不

3、考虑溢不考虑溢出出),并把结果存入,并把结果存入TOTAL中。中。 ARRAY DW 12,43,17,35,87M DW 5 MOV CX,M MOV AX,0 MOV SI,AXREPTSUM: ADD AX,ARRAYSI ADD SI,2 DECCX JNZREPTSUM MOV TOTAL,AX(1 1)用条件转移指令实现循环)用条件转移指令实现循环(3 3)采用)采用LOOPLOOP指令实现循环指令实现循环 ARRAY DW 12,43,17,35,87M DW 5 MOV CX,M MOV AX,0 MOV SI,AXREPTSUM: ADD AX,ARRAYSI ADD SI,

4、2 LOOP REPTSUM MOV TOTAL,AX一、多重循环结构一、多重循环结构1、内循环和外循环的控制、内循环和外循环的控制需要两个循环控制变量:需要两个循环控制变量:I,J多重循环嵌套时,不允许内外循环交叉多重循环嵌套时,不允许内外循环交叉外循环的入口外循环的入口内循环的入口内循环的入口内循环的出口内循环的出口外循环的出口外循环的出口LOOP AA2LOOP AA1AA2:AA1:2、内循环和外循环的跳转、内循环和外循环的跳转循环的转移:循环的转移:只允许从只允许从向外跳转,不允许从向外跳转,不允许从向向跳转跳转例例 :有一个首地址为:有一个首地址为A的的N字数组,请编制程序使该数字

5、数组,请编制程序使该数组中的数按从大到小的次序整序。组中的数按从大到小的次序整序。序号 数 8 5 16 84 32比较遍数1 2 38 16 84 84 3284 32 16 8 85 5 5二、多重循环举例二、多重循环举例排序程序:算法排序程序:算法起泡排序法起泡排序法起泡排序算法的程序框图起泡排序算法的程序框图开始开始(COUNT1) N-1(COUNT2) (COUNT1)I 0NYAIAI+1?AI AI+1I=I+1(COUNT2) (COUNT2)-1(COUNT2) =0?N(COUNT1) =0?(COUNT1) (COUNT1)-1Y结束结束NY起泡排序算法的程序实现dat

6、area segment a dw 8,5,16,84,32 n dw 5datarea endsprognam segmentmain proc farassume cs:prognam, ds:datareastart: push ds xchg ax, abx+2 mov abx, axcotinue: add bx, 2 loop loop2 mov cx, di loop loop1 retmain endpprognam ends end start数组数组TABLETABLE中存放中存放8 8个小写字母个小写字母computercomputer。编程序,将它们按升序排序。编程序,

7、将它们按升序排序。排序结果为排序结果为 (cemoprtu)(cemoprtu)三、多重循环练习三、多重循环练习排序程序:算法排序程序:算法起泡排序法起泡排序法起泡排序算法的练习答案datarea segment TABLE db computer n dw 8datarea endsprognam segmentmain proc far assume cs:prognam, ds:datareastart: mov ax, datarea mov ds, ax mov cx, n dec cxloop1: mov di, cx mov bx, 0loop2: mov al, TABLEbx cmp al, TABLEbx+1 jbe cotinue xchg al, tablebx+1 mov

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论