实验四 条件转移指令

实验四 条件转移指令

ID:39133321

大小:194.01 KB

页数:7页

时间:2019-06-25

实验四   条件转移指令_第1页
实验四   条件转移指令_第2页
实验四   条件转移指令_第3页
实验四   条件转移指令_第4页
实验四   条件转移指令_第5页
资源描述:

《实验四 条件转移指令》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验四条件转移指令实验目的:通过实验掌握下列知识:1、8086指令:JZ,JNZ,JC,JNC,CMP,SHR。2、程序:用字符搜索法确定字符串长度。3、程序:16进制数化为ASCII码的一般方法。实验内容及步骤:一、用字符搜索法确定字符串长度:1、用A命令在100H开始的内存处键入下列程序:JMPSTART;无条件调至Start偏移地址为102DB'Thisistheprogramtomeasure';定义一个字符串长度为30DB'thelengthofastring!$';定义字符串,长度为23不算字符串结束符

2、$START:MOVBX,102;内容为102赋给bxMOVAL,24;24赋给alXORCL,CL;cl清零LOP:CMPAL,[BX];地址[0102]的内容和24表示的字符$比较大小JZEXIT;遇到$,调至exit,程序结束INCBX;bx自增1INCCL;cl自增1JMPLOP;无条件转移至lopEXIT:INT32、用G命令运行此程序,并检查CL的统计长度是否与你自己统计的实际长度是否一样?二、16进制数化ASCII码的一般方法(显示内存内容)1、用A命令在100H处键入下列程序:MOVSI,0;将内容

3、为0的十六进制数赋给siMOVBL,10;将内容为10的十六进制数赋给blLOP:MOVDL,[SI];将地址为[0]单元的内容赋给dlMOVCL,4;将4赋给clSHRDL,CL;dl的内容逻辑右移4次,最低位进入cfCMPDL,0A;dl的内容和0a比较大小JCJ1;判断有无进位,有了转向j1ADDDL,7;无进位,将7和dl的内容相加J1:ADDDL,30;将30和dl的内容相加MOVAH,2;设置功能号:2赋给ahINT21;dos功能调用:显示dl寄存器的内容MOVDL,[SI];将[0]的内容赋给dlA

4、NDDL,0F;dl的内容和0f相加CMPDL,0A;dl的内容和0a比较大小JCJ2;判断有无进位,有了转向j2ADDDL,7;无进位,将dl的内容和7相加放入dl中J2:ADDDL,30;有进位,将dl的内容和30相加放入dl中MOVAH,2;设置功能号:2赋给ahINT21;dos功能调用:显示dl寄存器的内容MOVDL,20;将20赋给dl输入一个空格字符MOVAH,2;设置功能号:2赋给ahINT21;dos功能调用:显示dl寄存器的内容INCSI;si自增1DECBL;dl自减1JNZLOP;判断结果,

5、若为0调至lopINT20;中断程序将十六进制数ABA先显示再让B显示再有空格的显示所以执行后执行前结果一样了0-9A-F十六进制数转换为ASCII码31-3941-462、用N,W命令将此程序用CC.COM文件名存入磁盘。3、用Q命令退出DEBUG。4、在DOS命令状态下直接运行CC.COM命令文件,应在屏幕上显示出内存从0000H开始的16个字节的内容,若有错误,用DEBUG检查之。5、自编程序:修改上面程序,使除以16进制数形式显示内存内容外,还能在其右边显示该16进制码所对应的ASCII字符,07-0D的控

6、制字符用'.'代替。没有加MOVDL,20;将20赋给dl输入一个空格字符MOVAH,2;设置功能号:2赋给ahINT21;dos功能调用:显示dl寄存器的内容这段代码的显示三、综合程序(选做):测量一字符串长度,并用16进制数显示之程序:JMPSTART;无条件跳转至StartDB'Thisisaprogramtomeasurethelengthofastring。';定义一字符串DB0D,0A;0D代表回车0A代表换行DB'thelengthofthestringis:$';定义一字符串以$结束START:MO

7、VAH,9;显示字符串MOVDX,102;102赋给dxINT21;dos功能调用:显示dl寄存器的内容MOVBX,101;101赋给bxMOVAL,'$';将$赋给alMOVDH,FF;ff赋给dhLOP:INCBX;bx自增1INCDH;dh自增1CMPAL,[BX];第一个字符串和$比较大小JNZLOP;如果不相等,调至lop以上语句是测字符串的长度以下语句是以十六进制数显示MOVCH,2;2赋给chMOVCL,4;4赋给clLOP1:ROLDH,CL;dh循环左移4为MOVDL,DH;dh的内容赋给dlAN

8、DDL,0F;dl的内容和0f相与ADDDL,30;dl的内容加30下面语句是把十六进制数转化为ASCII码CMPDL,3A;dl的内容和3a比较大小JCJ;dl小于3a的话调至jADDDL,7;dl的内容加7J:MOVAH,2;显示一个字符INT21;dos功能调用DECCH;ch自减1JNZLOP1;ch若不为0调至lop1INT20;程序中止键入此程序

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。