语言第六章介绍.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.串扫描指令 SCAS (搜索关键字) 显式格式:SCAS DST 隐含格式:SCASB, SCASW, SCASD 功能: 累加器-目标,即(AL(或AX))-(ES:[DI]),并且根据指令执行结果设置标志。 指令执行后,DI自动指向下一个元素,若Zf=1,说明相等。    如果用REPE SCASB,指令执行后,DI自动指向下一个元素,若Zf=1,说明串中每一个都与目标相等。    例题 6-8(142页) 在数组X中查找-1,找到后删除,后续元素前移,并修改数组元素长度。 要求用串扫描指令SCAS ④在一首址为ARY长度为20的字符串查找字符“*”,如果找到,则将结果单元RESULT清0,否则结果单元为全1。 LEA DI, ARY MOV [RESULT],0FFH MOV CX,20 MOV AL,’*’ REPNE SCASB JNZ END1 MOV [RESULT],0 END1: HLT 以下代码和前面例题的区别: MOV BX , -1 MOV [RESULT],-1 MOV CX,20 MOV AL,’*’ DONE:INC BX CMP AL,ARY[BX] LOOPNE DONE JNZ END1 MOV [RESULT],0 END1: HLT 6.4 常用循环控制方法 1.计数器控制法: 循环次数已知 2.条件控制法 : 循环次数未知 3.逻辑尺控制法: 特殊的处理。 作业 从自然数1开始累加,直到累加和大于500为止,统计被累加的自然数的个数,并把统计的个数送入单元N中,把累加和送入单元SUM中。(sum1.asm) 分析:用两个寄存器,一个放累加的次数,一个放累加的和,条件控制法. 上机作业: 把x单元开始存放的20个无符号数中的最大数送z单元,并显示出最大数。 要求从键盘动态输入20个数,并且都是两位数。(bj1.asm) x dw 201,12,130,55,44,77,-15,180,190,20 y dw ? ……….. ………….. MOV AX , X MOV BX , OFFSET X MOV CX , 9 L1: INC BX INC BX CMP AX , [BX] JAE L2 XCHG AX , [BX] L2: LOOP L1 MOV Y , AX 思考: 此程序段完成什么 功能? BX 1 2 3 4 例6.1:把 BX 中的二进制数以十六进制的形式显示在屏幕上. 6.5 循环程序举例 …… MOV CH, 4 ; 遍数 A5: MOV CL, 4 ; 移位次数 ROL BX, CL MOV AL, BL AND AL, 0FH ADD AL, 30H ; ’0’~’9’ CMP AL, 3AH ;是否大于9 JL DSP ADD AL, 7H ; ’A’~’F’ DSP: MOV DL , AL MOV AH , 2 INT 21H DEC CH JNZ A5 …… MOV BX, 0 NEWCHAR: MOV AH, 1 INT 21H SUB AL, 30H JL EXIT ; 0退出 CMP AL, 9 JG EXIT CBW

文档评论(0)

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

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

1亿VIP精品文档

相关文档