时间:2021-05-19
汇编程序 成绩排序的实现
【任务】
在数据区,给出了学生人数及汇编语言课程的成绩,请将成绩排序并保存在原数据区。
下面给出部分代码,要求完成排序子程序。
程序中给出的数据段,包括20位同学的成绩,每名同学的数据占1字节。
参考程序段:
assume cs:cseg, ds:dseg, ss:ssegsseg segment stack dw 100H dup (?)sseg endsdseg segment db 20 db 98,61,57,82,89,73,61,58,53,54 db 84,78,70,64,84,63,76,84,83,86dseg endscseg 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 endpcseg endsend start【参考解答】
assume cs:cseg, ds:dseg, ss:ssegsseg segment stack dw 100H dup (?)sseg endsdseg segment db 20 db 98,61,57,82,89,73,61,58,53,54 db 84,78,70,64,84,63,76,84,83,86dseg endscseg 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 21hsort 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 retsort endpcseg endsend start以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
obj的程序称为汇编程序。 汇编程序是把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序。汇编程序输入的是用汇编语言书写的源程序,输出的是用机器语言表
能把汇编语言源程序翻译成目标程序的程序称为汇编程序,汇编程序输入的是用汇编语言书写的源程序,输出的是用机器语言表示的目标程序。汇编语言是为特定计算机或计算机系列
汇编程序不是应用软件,只有为解决某一特殊问题而编写的程序才能叫应用软件。 把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序。汇编程序输入的是用汇编语
AndroidStudio3.6正式版终于发布了,快来围观,点击查看。简介Smali是用于Dalvik(Android虚拟机)的反汇编程序实现,汇编工具(将Sm
语言处理程序的发展经历了机器语言、汇编语言到高级语言三个阶段。 语言处理程序一般是由汇编程序、编译程序、解释程序和相应的操作程序等组成。它是为用户设计的编程服