主题:{求助}对十个数据进行排序(从大到小)并在屏幕山显示, 帮我看看这个程序的流程图!谢谢
对十个数据进行排序(从大到小)并在屏幕山显示
程序如下:
DSEG SEGMENT
BUFFER DW 1253H,4568H,5432H,5623H,4567H,9872H
DW 33H,7650H,1234H,9876H
COUNT EQU 10
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG
MOV DS,AX
MOV DI,OFFSET BUFFER
MOV SI,OFFSET [BUFFER+2]
MOV AX,COUNT
DEC AX
MOV CX,AX
L11:MOV AX,CX
L1:MOV BX,[DI]
CMP BX,[SI]
JA L2
XCHG BX,[SI]
XCHG BX,[DI]
L2: ADD SI,2
LOOP L1
ADD DI,2
MOV SI,DI
ADD SI,2
MOV CX,AX
LOOP L11
CALL FAR PTR FOER
MOV AH,4CH
INT 21H
FOER PROC FAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV SI,OFFSET BUFFER
MOV CX,10
NEXT:MOV DI,CX
MOV BX,[SI]
MOV CL,12
SHR BX,CL
AND BX,000FH
ADD BX,30H
MOV DL,BL
MOV AH,2
INT 21H
MOV BX,[SI]
MOV CL,8
SHR BX,CL
AND BX,000FH
ADD BX,30H
MOV DL,BL
MOV AH,2
INT 21H
MOV BX,[SI]
MOV CL,4
SHR BX,CL
AND BX,000FH
ADD BX,30H
MOV DL,BL
MOV AH,2
INT 21H
MOV BX,[SI]
AND BX,000FH
ADD BX,30H
MOV DL,BL
MOV AH,2
INT 21H
MOV DL,'H'
MOV AH,2
INT 21H
MOV DL,0DH
MOV AH,2
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
ADD SI,2
MOV CX,DI
LOOP NEXT
POP DX
POP CX
POP BX
POP AX
RET
FOER ENDP
CSEG ENDS
END START
程序运行完全正确
对于NEXT 后面的程序运行情况
我不是很了解
请高手解析一下
程序如下:
DSEG SEGMENT
BUFFER DW 1253H,4568H,5432H,5623H,4567H,9872H
DW 33H,7650H,1234H,9876H
COUNT EQU 10
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG
MOV DS,AX
MOV DI,OFFSET BUFFER
MOV SI,OFFSET [BUFFER+2]
MOV AX,COUNT
DEC AX
MOV CX,AX
L11:MOV AX,CX
L1:MOV BX,[DI]
CMP BX,[SI]
JA L2
XCHG BX,[SI]
XCHG BX,[DI]
L2: ADD SI,2
LOOP L1
ADD DI,2
MOV SI,DI
ADD SI,2
MOV CX,AX
LOOP L11
CALL FAR PTR FOER
MOV AH,4CH
INT 21H
FOER PROC FAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV SI,OFFSET BUFFER
MOV CX,10
NEXT:MOV DI,CX
MOV BX,[SI]
MOV CL,12
SHR BX,CL
AND BX,000FH
ADD BX,30H
MOV DL,BL
MOV AH,2
INT 21H
MOV BX,[SI]
MOV CL,8
SHR BX,CL
AND BX,000FH
ADD BX,30H
MOV DL,BL
MOV AH,2
INT 21H
MOV BX,[SI]
MOV CL,4
SHR BX,CL
AND BX,000FH
ADD BX,30H
MOV DL,BL
MOV AH,2
INT 21H
MOV BX,[SI]
AND BX,000FH
ADD BX,30H
MOV DL,BL
MOV AH,2
INT 21H
MOV DL,'H'
MOV AH,2
INT 21H
MOV DL,0DH
MOV AH,2
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
ADD SI,2
MOV CX,DI
LOOP NEXT
POP DX
POP CX
POP BX
POP AX
RET
FOER ENDP
CSEG ENDS
END START
程序运行完全正确
对于NEXT 后面的程序运行情况
我不是很了解
请高手解析一下