微机原理与接口技术-实验三 数据比较及排序程序_第1页
微机原理与接口技术-实验三 数据比较及排序程序_第2页
微机原理与接口技术-实验三 数据比较及排序程序_第3页
微机原理与接口技术-实验三 数据比较及排序程序_第4页
微机原理与接口技术-实验三 数据比较及排序程序_第5页
全文预览已结束

下载本文档

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

文档简介

1、-. z.*大学实验报告课程工程名称 :实验三 数据比拟及排序程序 学 院: 专 业:班 级:学 号:姓 名:成 绩:2013年 12月 10 日一、任务与目的1. 实验任务:(1) 熟悉和掌握数据比拟指令的用法;(2) 掌握多字节有符号数及无符号数排序程序的编写方法。2. 实验目的(1).掌握数据比拟指令的使用方法;(2)熟悉数据排序实现的根本方法。二、原理条件相关知识:(1) 数据比拟指令的使用方法;(2) 8086/8088汇编程序数据排序的根本算法。2.实验条件:MASM汇编程序及TD调试软件。三、容步骤1启动TD(Turbo Debugger)输入程序段,观察执行情况、标志位变化并分

2、析结果:(1) MOV A*,0FF80H MOV B*,2C76H CMP A*, B* JAE ABOVE ;注意ABOVE由具体地址替代,下同。 *CHG A*,B*ABOVE:HLT (2) MOV A*,0FF80H MOV B*,2C76H CMP A*,B*JLE ABOVE JMP STOPABOVE: *CHG A*,B*STOP: HLT2编写10个双字节字无符号及从小到大排序程序,观察执行情况并分析结果:利用MASM宏汇编程序及TD程序进展调试。无符号数排序参考程序如下,请在参考程序之上改写。DSEG SEGMENTBUFFERDW0AAFEH,3768H,5CD9H,2

3、227H,0BDC1H,725AH,0C236H 66FFH,0E23H,8577HDSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART: MOV A*,DSEG MOV DS,A* LEA DI, BUFFER MOV BL,9 NE*T1:MOV SI,DI MOV CL,BLNE*T2:MOV A*,SI INC SI INC SI CMP A*,SI J NE*T3 ;小于则不交换MOV D*,SI MOV SI-2,D* MOV SI,A*NE*T3:DEC CL JNZ NE*T2 DEC BL JNZ NE*T1 MOV AH,4CH

4、INT 21H CSEG ENDS END START实现代码:DSEG SEGMENTBUFFER DW 0AAFEH,3768H,5CD9H,2227H,0BDC1H,725AH,0C236HDW 66FFH,0E23H,8577HDSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART: MOV A*,DSEG MOV DS,A*LEA DI, BUFFER MOV BL,9 NE*T1:MOV SI,DI MOV CL,BLNE*T2:MOV A*,SI INC SI INC SI CMP A*,SI NE*T3 ;小于则不交换 MOV D*,S

5、I MOV SI-2,D* MOV SI,A*NE*T3:DEC CL JNZ NE*T2 DEC BL JNZ NE*T1 MOV AH,4CH INT 21H CSEG ENDS END START实现结果如图:3编写10个双字节字有符号及从小到大排序程序,观察执行情况并分析结果。DSEG SEGMENTBUFFER DW 0AAFEH,3768H,5CD9H,2227H,0BDC1H,725AH,0C236H,DW 66FFH,0E23H,8577HDSEGENDS实现结果如图:实现代码:DSEG SEGMENTBUFFER DW 0AAFEH,3768H,5CD9H,2227H,0BD

6、C1H,725AH,0C236HDW 66FFH,0E23H,8577HDSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART: MOV A*,DSEG MOV DS,A* LEA DI, BUFFER MOV BL,9 NE*T1:MOV SI,DI MOV CL,BLNE*T2:MOV A*,SI INC SI INC SI CMP A*,SI JL NE*T3 MOV D*,SI MOV SI-2,D* MOV SI,A*NE*T3:DEC CL JNZ NE*T2 DEC BL JNZ NE*T1 MOV AH,4CH INT 21H CSEG

7、 ENDS END START四、结论通过实验进一步了解了数据比拟指令CMP的用法和数据排序程序的原理和编写方法,并且通过对实验现象和实验结果的观察并结合课本得出如下结论:1.比拟指令CMP是用目标操作数减原操作数,但相减的结果不送回目标操作数即指令执行后两操作数容不变,而只是影响6个状态标志位。2./E用于比拟无符号数; JL/JLE用于比拟有符号数。3.数据排序的根本原理: 无符号数比拟可以直接用比拟指令CMP和条件转移指令来实现,有符号数比拟可以用比拟指令CMP和条件转移指令JL来实现,而数据的排序可由双重循环实现,以有符号数的比拟为例,先使第一个数与下一个数比拟,假设小于则使其位置保持不变,大于则两数交换位置,此为循环即:NE*T2:MOV A*,SI INC SI INC SI CMP A*,SI NE*T3 ;小于则不交换 MOV D*

温馨提示

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

评论

0/150

提交评论