输入字流统计非数字的个数(里面有个转换为10进制的子程序)

 

; multi-segment executable file template.

data segment
    ; add your data here!
    pkey db "Count the udigtal string ,Please input the word!$"
    BACK   db "input over,the count is:$"
ends

stack segment
    dw   128  dup(0)
ends

code segment
start:
; set segment registers:
      mov ax, data
      mov ds, ax
      mov es, ax
      ; add your code here
      mov dX, OFFSET pkey ;输出字符串!
      mov ah, 9
      int 21h        ; output string at ds:dx
      MOV CL,0
      MOV AL,0
REPT: MOV AH,1
      INT 21H
      CMP AL,1BH
      JZ  RT
      CMP AL,30H
      JB  COUNT
      CMP AL,39H
      JA  COUNT
      JMP REPT
COUNT:INC CL
      JMP REPT           
RT:   MOV DX ,OFFSET BACK
      MOV AH, 9
      INT 21H
      CALL TURN10
      MOV AH,4CH
      INT 21H     
         
ends

TURN10  PROC NEAR
        PUSH AX
        PUSH BX
        PUSH CX
        PUSH DX
        MOV DL,-1
SUB1:   SUB CL,100
        INC DL
        JNC SUB1
        ADD CL,100
        OR  DL,30H
        MOV AH,2
        INT 21H
       
        MOV DL,-1
SUB2:   SUB CL,10
        INC DL
        JNC SUB2
        ADD CL,10
        OR  DL,30H
        MOV AH,2
        INT 21H
       
        MOV DL,CL
        OR  DL,30H
        MOV AH,2
        INT 21H 
        POP  DX
        POP  CX
        POP  BX
        POP  AX
        RET
ENDP         
          
       
       
      

end start ; set entry point and stop the assembler.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值