公告

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

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

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

冒泡排序

代码及注释
DATA SEGMENT
    A DW 1223,83,456,355,89
        DW 948,5,123,789,567
    CNT EQU ($-A)/2
DATA ENDS
CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
    MOV DS,AX
    MOV CX,CNT-1
LOOP1:MOV DX,CX
    MOV SI,0      ;每次排序都是从头开始的
LOOP2:MOV AX,A[SI]       ;比较当前值与其下一个数
    CMP AX,A[SI+2]
    JNA L1        ;小于等于,即这两个数的顺序是递增的则跳转,直接进行后续操作
    XCHG AX,A[SI+2]     ;否则交换两值
    MOV A[SI],AX
L1:ADD SI,2       ;LOOP2内循环中每次SI向后一位
    LOOP LOOP2
    MOV CX,DX      ;实现细节与题目四中相同
    LOOP LOOP1
    MOV AH,4CH
    INT 21H
CODE ENDS
    END START

离线

页脚

Powered by FluxBB

本站由XREA提供空间支持