实验四 条件转移指令.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四 条件转移指令 实验目的: 通过实验掌握下列知识: 1、8086指令:JZ,JNZ,JC,JNC,CMP,SHR。 2、程序:用字符搜索法确定字符串长度。 3、程序:16进制数化为ASCII码的一般方法。 实验内容及步骤: 一、用字符搜索法确定字符串长度: 1、用A命令在100H开始的内存处键入下列程序: JMP START ;无条件调至Start 偏移地址为102 DB This is the program to measure ; 定义一个字符串长度为30 DB the length of a string!$ ;定义字符串,长度为23 不算字符串结束符$ START: MOV BX,102 ;内容为102赋给bx MOV AL,24 ;24赋给al XOR CL,CL ;cl清零 LOP: CMP AL,[BX] ;地址[0102]的内容和24表示的字符$比较大小 JZ EXIT ;遇到$,调至exit,程序结束 INC BX ;bx自增1 INC CL ;cl自增1 JMP LOP ;无条件转移至lop EXIT: INT 3 2、用G命令运行此程序,并检查CL的统计长度是否与你自己统计的实际长度是否一样? 二、16进制数化ASCII码的一般方法(显示内存内容) 1、用A命令在100H处键入下列程序: MOV SI,0 ;将内容为0的十六进制数赋给si MOV BL,10 ;将内容为10的十六进制数赋给bl LOP: MOV DL,[SI] ;将地址为[0]单元的内容赋给dl MOV CL,4 ;将4赋给cl SHR DL,CL ;dl的内容逻辑右移4次,最低位进入cf CMP DL,0A ;dl的内容和0a比较大小 JC J1 ;判断有无进位,有了转向j1 ADD DL,7 ;无进位,将7和dl的内容相加 J1: ADD DL,30 ;将30和dl的内容相加 MOV AH,2 ;设置功能号:2赋给ah INT 21 ;dos功能调用:显示dl寄存器的内容 MOV DL,[SI] ;将[0]的内容赋给dl AND DL,0F ;dl的内容和0f相加 CMP DL,0A ;dl的内容和0a比较大小 JC J2 ;判断有无进位,有了转向j2 ADD DL,7 ;无进位,将dl的内容和7相加放入dl中 J2: ADD DL,30 ;有进位,将dl的内容和30相加放入dl中 MOV AH,2 ;设置功能号:2赋给ah INT 21 ;dos功能调用:显示dl寄存器的内容 MOV DL,20 ;将20赋给dl 输入一个空格字符 MOV AH,2 ;设置功能号:2赋给ah INT 21 ;dos功能调用:显示dl寄存器的内容 INC SI ;si自增1 DEC BL ;dl自减1 JNZ LOP ;判断结果,若为0调至lop INT 20 ;中断程序 将十六进制数AB A先显示再让B显示再有空格的显示所以执行后执行前结果一样了 0-9 A-F十六进制数转换为ASCII码31-39 41-46 2、用N,W命令将此程序用CC.COM文件名存入磁盘。 3、用Q命令退出DEBUG。 4、在DOS命令状态下直接运行CC.COM命令文件,应在屏幕上显示出内存从0000H开始的16个字节的内容,若有错误,用DEBUG检查之。 5、自编程序:修改上面程序,使除以16进制数形式显示内存内容外,还能在其右边显示该16进制码所对应的ASCII字符,07-0D的控制字符用.代替。 没有加 MOV DL,20 ;将20赋给dl 输入一个空格字符 MOV AH,2 ;设置功能号:2赋给ah INT 21 ;dos功能调用:显示dl寄存器的内容 这段代码的显示 三、综合程序(选做):测量一字符串长度,并用16进制数显示之 程序: JMP START ;无条件跳转至Start DB This is a p

文档评论(0)

ma982890 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档