回 帖 发 新 帖 刷新版面

主题:谁能帮我看看这个程序哪里错了

DATASG SEGMENT
CR EQU 13
LF EQU 10
CRLF DB CR,LF,'$'
PLEA DB 'PLEASE INPUT A NUMBER FROM1~4:','$'
GAME DB 'GAME OVER' , '$'
DATASG ENDS

CPDESG SEGMENT

MAIN PROC FAR
ASSUME DS:DATSG CS:CODESG
MOV AX,DATSG
MOV DS,AX
LEA DS,PLEA
MOV AH,9
INT 21H

LEA DX,CRLF
MOV AH,9
INT 21H
MOV CX,4
NEXT:
MOV AH,1
INT 21H
CMP AL,31H
JB ERROR
CMP AL,34H
JA ERROR
ADD DL,35H
SUB DL,AL
ADD DL,30H
MOV AH,2
INT 21H
DEC CX
JNZ NEXT
JMP GB
ERROR:
MOV DL,'ERROR'
MOV AH,2
INT 21H
GB:
LEA DX,CRLF
MOV AH,9
INT 21H
LEA DX,GAME
MOV AH,9
INT 21H
CODESG ENDS
END MAIN
要求:编写一个程序公有21根火柴,你先抽,抽1到4根,然后计算机再抽,谁抽到最后一根谁输,要求计算机每次都赢

回复列表 (共1个回复)

沙发

不明白你具体要干什么,但这样至少语法上没错误。


DATASG SEGMENT
    CR EQU 13
    LF EQU 10
    CRLF DB CR,LF,'$'
    PLEA DB 'PLEASE INPUT A NUMBER FROM1~4:','$'
    GAME DB 'GAME OVER' , '$'
    ER DB 'ERROR','$'
DATASG ENDS

CODESG SEGMENT

MAIN PROC FAR
ASSUME DS:DATASG,CS:CODESG
    PUSH ds
    SUB ax,ax
    PUSH ax
    MOV AX,DATASG
    MOV DS,AX
    LEA DX,PLEA
    MOV AH,9
    INT 21H

    LEA DX,CRLF
    MOV AH,9
    INT 21H
    MOV CX,4
NEXT:
    MOV AH,1
    INT 21H
    CMP AL,31H
    JB ERROR
    CMP AL,34H
    JA ERROR
    ADD DL,35H
    SUB DL,AL
    ADD DL,30H
    MOV AH,2
    INT 21H
    DEC CX
    JNZ NEXT
    JMP GB
ERROR:
    LEA DX,ER
    MOV AH,9
    INT 21H
GB:
    LEA DX,CRLF
    MOV AH,9
    INT 21H
    LEA DX,GAME
    MOV AH,9
    INT 21H

    MOV    AX, 4C00H
    INT    21H
MAIN ENDP
    
CODESG ENDS
END

我来回复

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