追风的少年 发表于 2012-4-16 16:58:39

简单的字符比较,不知道为什么死循环,急用,谢谢

题目:假设在DAT1字节单元有一个字符,试编程测试其ASCII码,若它为小写字母,将其改成大写字母送到DAT2单元中,并显示“IS A ALPHA”;若为数字字符,将其送到DAT3单元中,并显示“IS A DIGITAL”,若为其他字符,将其送到DAT4单元中,并显示“OTHER”,试编程实现!
以下是我的实现第一部分代码,请问为什么死循环啦?如何做后面两问,求详细解答,谢谢
DATAS SEGMENT
    DAT1 DB 'k'
    DAT2 DB ?
    DAT3 DB ?
    DAT4 DB ?
    ISZIMU DB 0DH,0AH,'IS A ALPHA! '
    ISNUM DB 0DH,0AH,'IS A DIGITAL! '
    ISOTHER DB 0DH,0AH,'OTHER! '
DATAS ENDS
STACKS SEGMENT
    DB 200 DUP(0)
STACKS ENDS
CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:MOV AX,DATAS
      MOV DS,AX
      CMP DAT1,'a'
      JNB Compter
   
Compter: CMP DAT1,'z'
         JNA DAZI
DAZI:MOV AL,DAT2
   SUB AL,20H
   MOV DAT2,AL
   MOV DS,AX
   JMP NAET
   JMP EXIT
NAET:MOV DX,OFFSET ISZIMU
   MOV AH,9
   INT 21H
   JMP EXIT
EXIT: MOV AH,4CH
      INT 21H
CODES ENDS
    END START
页: [1]
查看完整版本: 简单的字符比较,不知道为什么死循环,急用,谢谢