回 帖 发 新 帖 刷新版面

主题:[讨论]子程序的问题,有什么错误?大家讨论一下

排序程序

DATA SEGMENT
BUF DB 1H,2H,3H,4H,5H,6H,7H,8H,9H,10H
DATA ENDS
STACK SEGMENT
DB 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:MOV AX,DATA
       MOV DS,AX
       MOV BX,OFFSET BUF
       CALL SUNXU
       
       MOV AL,4CH 
       INT 21H   ;到这里时不退出,继续向下执行。是什么问题呀!
SUNXU PROC NEAR
       MOV CX,9
S2:    PUSH BX
       PUSH CX      
       MOV AL,[BX]
       ADD CX,1H
       MOV DX,CX
       SUB DX,1H
       MOV CX,DX
S0:    MOV AL,[BX]
       CMP AL,[BX+1]
       JB S1
       JMP S3
S1:    MOV DL,[BX+1]
       MOV [BX],DL
       MOV [BX+1],AL
S3:    INC BX
       LOOP S0
       POP CX
       POP BX
       LOOP S2
       RET
SUNXU ENDP  
CODE ENDS
   END START

回复列表 (共4个回复)

沙发

是MOV AH,4CH.
而不是MOV AL,4CH.

板凳

[em13]范了个低级的小错误

3 楼


谢谢啊,谢谢,这个问题困扰了我几个小时。唉!

4 楼

谢谢,谢谢!

我来回复

您尚未登录,请登录后再回复。点此登录或注册