百度首页 | 百度空间
 
查看文章
 
实用程序设计
2008年05月15日 星期四 20:40

一、实验目的和要求
排序是数据处理中常见的操作,就是把记录按照排序码递增或递减次序依次排列。排序方法有多种方法,例如插入排序法、选择法排序、交换排序、冒泡排序等。本例实验掌握起泡排序程序编制方法。

二、实验内容和原理
有一个首地址为A的N字数组,编制程序使该数组中的数按照从大到小的次序排列。这里采用起泡排序算法,从第一个数开始依次对相邻两个数进行比较。如次序对,则不做任何操作;如次序不对,则使两个数交换位置。

三、实验环境
实验室提供硬件环境。软件环境:WINDOWS98/2000、MASM.EXE、LINK.EXE等。

四、算法描述及实验步骤
1、分析问题并绘制流程图:
2、启动WINDOWS记事本,编写汇编源代码。保存在masm文件夹中,文件名:        chp5.asm
3、调试、编译:
编译、并启动DEBUG调试源代码。
C:\masm chp5.asm
C:\ masm chp5.obj<CR>
C:\ debug chp5.exe<CR>
-d<CR>

如图所示:

五、实验结果
结果正确、编译、保存。符合实验要求,达到实验目的
六、总结
通过本次实验,我们初步掌握冒泡排序子程序的编制及调用方法。
附录
DATA   ENDS
PROGRAM SEGMENT
MAIN   PROC FAR
               ASSUME CS:PROGRAM,DS:DATA
START:   PUSH DS
    SUB   AX,AX
    PUSH AX
    MOV   AX,DATA
    MOV   DS,AX
    MOV   CX,N
    DEC   CX
LOOP1: MOV   DI,CX
    MOV   BX,0
LOOP2: MOV   AX,A[BX]
    CMP   AX,A[BX+2]
    JGE   COTINUE
    XCHG AX,A[BX+2]
    MOV   A[BX],AX
COTINUE: ADD   BX,2
    LOOP LOOP2
    MOV   CX,DI
    LOOP LOOP1
    RET
MAIN   ENDP
PROGRAM ENDS
    END START


类别:汇编语言 | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码:
 

     

©2008 Baidu