汇编程序成绩排序的实现

 更新时间:2020年02月09日 15:42:36   作者:迂者-贺利坚  
这篇文章主要介绍了汇编程序成绩排序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

汇编程序 成绩排序的实现

【任务】
  在数据区,给出了学生人数及汇编语言课程的成绩,请将成绩排序并保存在原数据区。
  下面给出部分代码,要求完成排序子程序。
  程序中给出的数据段,包括20位同学的成绩,每名同学的数据占1字节。

参考程序段:

assume cs:cseg, ds:dseg, ss:sseg
sseg segment stack
  dw 100H dup (?)
sseg ends
dseg segment
  db 20
  db 98,61,57,82,89,73,61,58,53,54
  db 84,78,70,64,84,63,76,84,83,86
dseg ends
cseg segment
 start: mov ax, dseg
     mov ds, ax
     mov cl, ds:[0]
     mov ch, 0   ;cx中存储要排序数的个数
     mov bx, 1   ;要排序数的起始偏移地址
     call sort

     mov ax, 4c00h
     int  21h
;子程序名:sort
;功  能:对从(DS):(bx)开始的(cx)个字节排序
;入口参数:(DS):(BX)保存数据的起始地址
;    (cx)中是要排序的数据个数
;出口参数:无
sort proc
   ;这儿写子程序
sort endp

cseg ends
end start

【参考解答】

assume cs:cseg, ds:dseg, ss:sseg
sseg segment stack
  dw 100H dup (?)
sseg ends
dseg segment
  db 20
  db 98,61,57,82,89,73,61,58,53,54
  db 84,78,70,64,84,63,76,84,83,86
dseg ends
cseg segment
 start: mov ax, dseg
     mov ds, ax
     mov cl, ds:[0]
   mov ch, 0   ;cx中存储要排序数的个数
   mov bx, 1   ;要排序数的起始偏移地址
   call sort

     mov ax, 4c00h
     int  21h

sort proc
     push si
     push ax
     dec cx   ;外层循环次数为数据个数减1
 c1:        ;排序的外层循环
     push cx   
     mov si, bx
 c2:        ;排序的内层循环
     mov al, [si]
     cmp al, [si+1]
     jbe noswap
     mov ah, [si+1]
   mov [si+1], al 
     mov [si], ah 
 noswap: inc si 
     loop c2 
     pop cx
     loop c1

   pop ax
   pop si
   ret
sort endp

cseg ends
end start

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 王爽 汇编语言学习笔记(详细)

    王爽 汇编语言学习笔记(详细)

    王爽汇编语言第三版是一款高清完整版的专业编程图书,该书结构设计合理,内容全面涵盖知识点丰富,适合自学者使用,有需要者快来
    2020-01-01
  • 汇编语言显示功能实现教程详解

    汇编语言显示功能实现教程详解

    这篇文章主要为大家介绍了汇编语言显示功能的实现过程,文中通过问题实例分析来为大家进行详细的描述讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-11-11
  • 8086汇编开发环境搭建和Debug模式介绍(图文详解)

    8086汇编开发环境搭建和Debug模式介绍(图文详解)

    这篇文章主要介绍了8086汇编开发环境搭建和Debug模式介绍,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • 汇编语言指令集之串处理指令讲解

    汇编语言指令集之串处理指令讲解

    这篇文章主要介绍了汇编语言指令集之串处理指令讲解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2020-01-01
  • 汇编程序成绩排序的实现

    汇编程序成绩排序的实现

    这篇文章主要介绍了汇编程序成绩排序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 汇编程序 查表求平方的实现

    汇编程序 查表求平方的实现

    这篇文章主要介绍了汇编程序 查表求平方的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 汇编语言系列之汇编实现各种码制的转换(思路详解)

    汇编语言系列之汇编实现各种码制的转换(思路详解)

    本文列出了十六进制转二进制、十进制、ASCII码及大小写字母转换的代码,对汇编语言系列之实现各种码制的转换问题感兴趣的朋友跟随小编一起看看吧
    2021-11-11
  • 详解汇编语言MOV指令

    详解汇编语言MOV指令

    在汇编语言中,MOV指令是数据传送指令,也是最基本的编程指令,这篇文章主要介绍了汇编语言MOV指令,需要的朋友可以参考下
    2020-01-01
  • 汇编 函数调用的实现

    汇编 函数调用的实现

    这篇文章主要介绍了汇编 函数调用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Visual Studio-X64汇编编写方法

    Visual Studio-X64汇编编写方法

    本文介绍了在Visual Studio中配置64位汇编环境和C++与汇编的混合编程的方法,详细说明了设置平台工具集、生成依赖项、链接器等步骤,并提供了解决可能出现的编译错误的方案,感兴趣的朋友跟随小编一起看看吧
    2024-09-09

最新评论