当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

汇编语言:编写子程序将内容变量arr中的10个字数用冒泡排序算法

更新:01-06 整理:39baobao.com
字体:

[怎么用汇编语言写冒泡排序啊];===缓冲区定义例子=== BUF DB '256489713' N EQU $-BUF ;===起泡排序代码例子=== lea si,BUF ;缓冲区地址 mov cx,N ;缓冲区中要排序的数值个数 sss_lp1: dec cx jz sss_out pu...+阅读

将数据段DATA开始的16个数排序,前小后大,程序示例如下:

DATAS SEGMENT

arr DB 74,68,58,66,69,254,186,6,10,98,34,90,128,222,33,0

COUNT DB 10

DATAS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,ES:DATAS

START:

MOV AX,DATAS

MOV DS,AX

MOV ES,AX

MOV BL,1 ;用BL来检验是否排序完成,减少循环次数

LOOP1:

CMP BL,0

JE CMPEND ;若相等则跳转

XOR BL,BL ;将BL清零

MOV CL,COUNT ;COUNT用于外层的计数

DEC CL ;CL减一,CL用于内层的计数

PUSH CX ;将CX压入堆栈

LEA DI,arr ;将数据段首地址赋值给DI

LOOP2:

MOV AL,[DI]

CMP AL,[DI+1] ;将前一个数与后一个数比较

JLE LOOP3 ;若前一个数小于或等于后一个数,则跳转到LOOP3

XCHG [DI+1],AL;前者大于后者,则交换两数

MOV [DI],AL ;如果前一个数字大于后一个数字,则交换

MOV BL,1

LOOP3:

INC DI ;指针加一

LOOP LOOP2 ;循环L00P2,直到CX==0成立

POP CX ;将CX从堆栈中弹出

MOV COUNT,CL ;改变外层计数器的值

JMP LOOP1

CMPEND:

MOV AH,4CH ;带返回码结束功能

INT 21H ;返回系统

CODES ENDS

END START

本文地址:https://www.39baobao.com/show/29_23611.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

汇编语言用冒泡法排序楼主写了那么多,而且格式还有差别,不知道具体是几个 下面用10个举例 DATA SEGMENT DAT DB 20,-10,80,-5,-70,-9,125,-15,0,40 COUNT DB 10,10 DATA ENDS ; CODE SEGMENT ASSUM...

如何使用汇编语言实现冒泡排序内存以BUF单元开始有若干单字节有符号数,编程实现从大到小排序并以十进制输出。 code segment assume cs:code org 100h start:jmp begin buf db 3,4,5,0,-1,-2,-3 n dw $-bu...

汇编语言冒泡排序问题data segment;定义数据段 org 2000 arr db 5,2,1,0,2,3,8,6,5,9 count equ $-arr data ends code segment;定义代码段 assume cs:code,ds:data start: ;初始化待排序列 lea si,...

急求汇编语言进行冒泡法排序的程序例子!下面是冒泡法排序的源程序(已改进): dseg segment array db 0feh,86h,95h,21h,90h count equ $-array dseg ends cseg segment assume ds:dseg,cs:cseg start: mov ax,dseg mov...

关于冒泡排序的问题汇编高手请进!模仿下面自己冒泡排序吧 用冒泡排序法对数据列31,17,34,4,22,18,29,1进行从小到大排序,经过三趟排序后得到的数据列是___ 就是通过逐次比较相邻的两个数据的大小来完成。 原...

汇编语言冒泡排序程序 10个数//排序从小到大 int a[] = new int[] { 97, 78, -1, 0, 32, 14, 21, 27, -20, 99 }; int temp = 0; for (int i = 0; i < a.length; i++) { for (int j = 0; j <a.length -...

用汇编语言在键盘里输入10个学生的成绩用冒泡排序法从大到小进CODE SEGMENT ASSUME CS:CODE ORG 100H START: PUSH CS POP DS PUSH CS POP ES CALL INPUTNUM MOV AX,NUM MOV N,AX CALL BUBBLESORT MOV AH,2 MOV DL,10 INT 21H MOV DL,13...

汇编语言冒泡法排序高手的请进!DATA SEGMENT ADR DW 58,64,32,0,23,256,272,280,-1 ,-2 N=( $-ADR )/2 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,N DEC CX LO...

汇编语言冒泡排序算法N equ 10.model small .data array dw N dup(?) .code main proc far mov ax,data mov ds,ax mov cx,Ndec cxloop1: mov di,cx mov bx,0 loop2: mov ax,array[bx] cmp ax,ar...