公告

Gentoo交流群:838664909 欢迎您的加入

#1 2022-08-25 14:06:08

batsom
管理团队
注册时间: 2022-08-03
帖子: 607
个人网站

排序

题目描述
数据按字节存储,按降序排序,实现排序。

DATA SEGMENT
    A DB 12,11,5,9,3
        DB 18,4,1,7,2
    CNT EQU $-A
DATA ENDS
CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
    MOV DS,AX
    MOV CX,CNT-1      ;CX置为初始循环次数
    MOV BX,0
LOOP1:MOV DX,CX
    MOV SI,1        ;因为改为DB,SI初始为1
LOOP2:MOV AL,A[BX]
    CMP AL,A[BX+SI]     ;比较两值
    JNB L1       ;大于等于则直接跳转,进行后续步骤
    XCHG AL,A[BX+SI]
    MOV A[BX],AL     ;否则交换两值
L1:INC SI          ;改为DB,SI每次增加1
    LOOP LOOP2
    ADD BX,1      ;改为DB,BX每次增加1
    MOV CX,DX      ;细节注意,内循环,即LOOP2的循环次数每次都会减小1,而CX在经过下一个语句LOOP LOOP1时已经回减小1,再存入DX,再下一次取出时又被减小1,以此来实现每次CX都逐渐减小
    LOOP LOOP1
    MOV AH,4CH
    INT 21H
CODE ENDS
    END START

离线

页脚

Powered by FluxBB

本站由XREA提供空间支持