注册 登录
编程论坛 汇编论坛

新人求助问题希望可以和大家交流一下

morenbuou3 发布于 2012-12-05 22:04, 435 次点击
小弟初学汇编,做了个很简单的程序。输入5个数,找出最大值。运行后发现无法显示最大值,希望各位老师能帮忙看看问题出在哪里了。
DATA    SEGMENT
BUFFER    DB    5    DUP(?)
STRING    DB    'PLEASE INPUT A NUMBER FROM 0~9$'
DATA    ENDS

CODE    SEGMENT
    ASSUME    CS:CODE,DS:DATA
START    PROC    FAR
BEGIN:    PUSH    DS
    MOV    AX,0
    PUSH    AX
    MOV    AX,DATA
    MOV    DS,AX
    LEA    BX,BUFFER
OUTPUT:    MOV    DX,OFFSET    STRING
    MOV    AH,9
    INT    21H
    MOV    DL,0AH
    MOV    AH,2
    INT    21H
    MOV    DL,0DH
    MOV    AH,2
    INT    21H
    MOV    CX,5
INPUT:    MOV    AH,1
    INT    21H
    MOV    [BX],AL
NEXT:    INC    BX
    LOOP    INPUT
    XOR    AX,AX
    MOV    CX,5
AGAIN:    CMP    AL,[BX]
    JNC    NEXT1
    MOV    AL,[BX]
NEXT1:    INC    BX
    LOOP    AGAIN
    MOV    [BX],AL
    MOV    DL,0AH
    MOV    AH,2
    INT    21H
    MOV    DL,0DH
    MOV    AH,2
    INT    21H
    XOR    DX,DX
    MOV    DL,[BX]
    MOV    AH,2
    INT    21H   
START    ENDP
CODE    ENDS
    END    BEGIN

[ 本帖最后由 morenbuou3 于 2012-12-5 23:05 编辑 ]
3 回复
#2
suijishu2012-12-05 22:09
,你等大神来帮你看吧
#3
morenbuou32012-12-05 22:13
LS的兄弟不是大神也帮忙看看吧,相互交流交流呗
#4
有容就大2012-12-06 21:58
INPUT:    MOV    AH,1
    INT    21H
    MOV    [BX],AL
NEXT:    INC    BX
    LOOP    INPUT

这样能输入5个数吗? 可以去熟悉下mov ah, 1 int 21h 这个指令的用途。
1