资源描述:
《总汇编实验五条件转移指令》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用文档实验报告──学年第学期实验课程汇编语言学生姓名123实验项目条件转移指令学院计算机科学技术实验性质专业选修课班级学号实验地点同组人数1第组实验日期第周星期第节成绩5环境参数Dosbox-0.74Masm5.0一、实验目的及要求二、实验原理、实验内容三、实验仪器设备及材料四、操作方法与实验步骤五、实验数据记录及处理六、实验结果分析及讨论一、实验目的:1.8088指令:JZ,JNZ,JC,JNC,CMP,SHR。2.程序:用字符搜索法确定字符串长度。3.程序:16进制数化为ASCII码的一般方法。二:实验任务1.自编程序:修改实验准备程序(二),使除了以16
2、进制数形式显示内存内容外,还能在其右边显示该16进制码所对应的ASCII字符,07-0D的控制字符用'.'代替。源代码:标准文案实用文档DATASEGMENTDATAENDSSTACKSSEGMENTSTACKSTACKSENDSCODESEGMENT'code'ASSUMECS:CODE,DS:DATA,SS:STACKSSTART:MOVAX,DATAMOVDS,AXMOVSI,0HMOVBL,10HLOP:MOVDL,[SI];先处理高四位MOVCL,4HSHRDL,CL;右移四位CMPDL,0AH;判断是‘0’-‘9’还是‘a'-’f‘JCJ1;是0-9
3、跳转ADDDL,7H;是a-f要多加7因为‘9’为390h‘A'为41h相差7hJ1:ADDDL,30H;以'0'为基址MOVAH,2H;输出高四位的ASCII码INT21HMOVDL,[SI];处理第四位ANDDL,0FHCMPDL,0AH;同上JCJ2标准文案实用文档ADDDL,7HJ2:ADDDL,30HMOVAH,2HINT21H;数值输出完毕MOVDL,20H;输出一个空格MOVAH,2HINT21HMOVDL,[SI];将数值直接作为ASCII输出MOVDH,06H;判断是否在07-0d之内CMPDH,[SI]JNCJ3MOVDH,0eHCMP[SI
4、],DHJNCJ3MOVDL,2EH;在范围内,换成’.'J3:MOVAH,2H;输出INT21HMOVDL,20H;第一个字节处理完毕,输出一个空格MOVAH,2HINT21HINCSI;内存中下一个字节DECBL;控制循环次数JNZLOP;回调结束代码标准文案实用文档MOVax,4C00HINT21HCODEENDSENDSTART编译连接:MS-DOS下运行结果:结论:1、可以看到输出了十六进制的字符并在其右边输出了对应的ASCII字符。2、因为是在dos下执行了,数据段地址与debug下不同,所以输出的数据不同,但通过查ASCII表,确定其对应字符正确。
5、2.BUFX、BUFY和BUFZ9是3个有符号的十六进制数,编写一个比较相等关系的程序:1)如果这3个数都不相等,则显示02)如果这3个数中有两个数相等,则显示13)如果这3个数都相等,则显示2标准文案实用文档源代码:DATASEGMENTDATAENDSSTACKSSEGMENTSTACKSTACKSENDSCODESEGMENT'code'ASSUMECS:CODE,DS:DATA,SS:STACKSSTART:MOVAX,DATAMOVDS,AX;将三个数分别存到bh,bl,dh中movah,01hint21hmovbh,almovdl,20hmovah,
6、02hint21hmovah,01hint21hmovbl,almovdl,20hmovah,02hint21h标准文案实用文档movah,01hint21hmovdh,almovdl,0ahmovah,02hint21h;将dl设为字符‘0’movdl,30hcmpbh,bljnznext1;不相等incdl;有两个数相等加一next1:cmpbh,dhjnznext2;不相等incdlnext2:cmpbl,dhjnznext3;不相等incdl;这两个数相等加一next3:cmpdl,33h;超过二的话,需要重新修改jbnext4movdl,32h;改为‘
7、2’next4:movah,02h;输出int21hMOVax,4C00H标准文案实用文档INT21HCODEENDSENDSTART编译连接:MS-DOS下运行结果:结论:1、在dos下执行,从键盘输入字符,可以正确判断三者的相等关系,并输出。2、因为程序调用了21号中断的1号功能可以直接在dos中输入字符,所以没有再用debug调试键入字符。标准文案实用文档流程图:标准文案实用文档标准文案实用文档四、实验步骤1) 用EDIT或其它编辑软件,编写.ASM源程序,2) 对其进行汇编及连接,产生.EXE文件。3) 对.EXE文件进行调试运行
8、。a. 用DE