.
北京XX大学 实验报告
课程(项目)名称 : 实验三 数据比较及排序程序 学 院: 专 业: 班 级: 学 号: 姓 名: 成 绩:
.
.
2013年 12月 10 日
一、任务与目的
1. 实验任务:
(1) 熟悉和掌握数据比较指令的用法;
(2) 掌握多字节有符号数及无符号数排序程序的编写方法。 2. 实验目的
(1). 掌握数据比较指令的使用方法; (2) 熟悉数据排序实现的基本方法。
二、原理(条件)
1. 相关知识:
(1) 数据比较指令的使用方法;
(2) 8086/8088汇编程序数据排序的基本算法。 2.实验条件:
MASM汇编程序及TD调试软件。
三、内容步骤
1.启动TD(Turbo Debugger)输入程序段,观察执行情况、标志位变化并分析
结果:
(1) MOV AX,0FF80H MOV BX,2C76H CMP AX, BX
JAE ABOVE ;注意ABOVE由具体地址替代,下同。
.
.
XCHG AX,BX ABOVE:HLT
(2) MOV AX,0FF80H MOV BX,2C76H CMP AX,BX JLE ABOVE JMP STOP ABOVE: XCHG AX,BX STOP: HLT
.
.
2.编写10个双字节(字)无符号及从小到大排序程序,观察执行情况并分
析结果:利用MASM宏汇编程序
及TD程序进行调试。
无符号数排序参考程序如下,请在参考程序之上改写。
DSEG SEGMENT
BUFFER DW 0AAFEH,3768H,
5CD9H,2227H,0BDC1H,725AH,0C236H 66FFH,0E23H,8577H
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG MOV DS,AX LEA DI, BUFFER MOV BL,9 NEXT1:MOV SI,DI
MOV CL,BL
NEXT2:MOV AX,[SI] INC SI
.
.
INC SI
CMP AX,[SI]
J NEXT3 ;小于则不交换 MOV DX,[SI] MOV [SI-2],DX MOV [SI],AX NEXT3:DEC CL JNZ NEXT2 DEC BL JNZ NEXT1 MOV AH,4CH INT 21H CSEG ENDS END START
实现代码:DSEG SEGMENT
BUFFER DW 0AAFEH,3768H,5CD9H,2227H,0BDC1H,725AH,0C236H DW 66FFH,0E23H,8577H DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG START: MOV AX,DSEG MOV DS,AX LEA DI, BUFFER MOV BL,9 NEXT1:MOV SI,DI MOV CL,BL
.