主题:[讨论]大虾们帮忙看一看啊,改正一下
题目
编程将block单元开始的100个字节的无符号数按升序排列
我先编了一个10个数的,但是不对啊,大虾们帮忙看一看啊,改正一下
DATA SEGMENT
block DB 5,1,3,4,7,2,9,8,6,0
DATA ENDS
STACK SEGMENT
STACK1 DB 200 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:
MOV AX,DATA
MOV DS,AX
MOV CX,9
LEA DI,block
MOV SI,DI
ADD SI,1
PUSH SI
PUSH DI
LP: MOV BX,CX
LP1:
MOV AL,[DI]
CMP AL,[SI]
JL LP2
XCHG AL,[SI]
XCHG AL,[DI]
DEC BX
CMP BX,0
JZ LP3
MOV DI,SI
ADD SI,1
JMP LP1
LP2: DEC BX
CMP BX,0
JZ LP3
ADD SI,1
ADD DI,1
JMP LP1
LP3: POP DI
POP SI
LOOP LP
MOV AH,4CH
INT 21H
CODE ENDS
END START
编程将block单元开始的100个字节的无符号数按升序排列
我先编了一个10个数的,但是不对啊,大虾们帮忙看一看啊,改正一下
DATA SEGMENT
block DB 5,1,3,4,7,2,9,8,6,0
DATA ENDS
STACK SEGMENT
STACK1 DB 200 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:
MOV AX,DATA
MOV DS,AX
MOV CX,9
LEA DI,block
MOV SI,DI
ADD SI,1
PUSH SI
PUSH DI
LP: MOV BX,CX
LP1:
MOV AL,[DI]
CMP AL,[SI]
JL LP2
XCHG AL,[SI]
XCHG AL,[DI]
DEC BX
CMP BX,0
JZ LP3
MOV DI,SI
ADD SI,1
JMP LP1
LP2: DEC BX
CMP BX,0
JZ LP3
ADD SI,1
ADD DI,1
JMP LP1
LP3: POP DI
POP SI
LOOP LP
MOV AH,4CH
INT 21H
CODE ENDS
END START