汇编语言,如何判断一个字符是字母还是数字?? 30

 我来答
百度网友dd2a4ae
2013-10-18 · TA获得超过1.6万个赞
知道大有可为答主
回答量:2628
采纳率:11%
帮助的人:1673万
展开全部
用比较指令,看字符的ASCII码值是否大于等于‘0’(30H)且小于等于‘9’(39H),若是,则是数字。

对字母,判定方法类似。
若大于等于‘A'且小于等于'Z',则是大写字母。
若大于等于’a'且小于等于‘z',则是小写字母。
gcbjoy
推荐于2018-01-03 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:92%
帮助的人:2181万
展开全部
        CODE  SEGMENT
              ASSUME    CS:CODE
         BUF  DB        '1qaz2w,,,,,sx3eASBX7dc'
         NUM  EQU       $-BUF

      START:
              PUSH      CS
              POP       DS
              PUSH      CS
              POP       ES
              MOV       CX,NUM
              LEA       SI,BUF
              CLD
        @M0:
              LODSB
              CALL      ISNUMBER
              CMP       AH,1
              JNE       @M1
              CALL      DISPNUM
              JMP       @MM
        @M1:
              CALL      ISALPHA
              CMP       AH,1
              JNE       @M2
              CALL      DISPALPHA
              JMP       @MM
        @M2:
              MOV       AH,2
              MOV       DL,32
              INT       21H
        @MM:
              LOOP      @M0

              MOV       AH,4CH
              INT       21H
;======================================                    
    ISNUMBER  PROC      NEAR
              CMP       AL,'0'
              JB        @NONUMBER
              CMP       AL,'9'
              JA        @NONUMBER
              MOV       AH,1
   @NUMEXIT:
              RET
  @NONUMBER:  MOV       AH,0
              JMP       @NUMEXIT
    ISNUMBER  ENDP
;=========================================
     ISALPHA  PROC      NEAR
              CMP       AL,'A'
              JB        @NOALPHA
              CMP       AL,'z'
              JA        @NOALPHA
              CMP       AL,'Z'
              JBE       @ALPHA
              CMP       AL,'a'
              JAE       @ALPHA
              JMP       @NOALPHA
     @ALPHA:
              MOV       AH,1
 @ALPHAEXIT:
              RET
   @NOALPHA:
              MOV       AH,0
              JMP       @ALPHAEXIT
     ISALPHA  ENDP
;==========================================
     DISPNUM  PROC      NEAR
              PUSH      AX
              PUSH      DX
              MOV       AH,2
              MOV       DL,'N'
              INT       21H
              POP       DX
              POP       AX
              RET
     DISPNUM  ENDP
;==========================================
   DISPALPHA  PROC      NEAR
              PUSH      AX
              PUSH      DX
              MOV       AH,2
              MOV       DL,'A'
              INT       21H
              POP       DX
              POP       AX
              RET
   DISPALPHA  ENDP
;========================================     
        CODE  ENDS
              END       START
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhxiufan
2013-10-18 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38387
国家科技进步奖

向TA提问 私信TA
展开全部
通过ASCII的码值来判断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sc...1@2980.com
2013-10-18
知道答主
回答量:21
采纳率:0%
帮助的人:14.5万
展开全部
判断ASCII码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式