汇编语言(三十五)之输入字符串以$结束然后输出字母个数

输入字符串以$结束然后输出字母个数

程序运行:

 

代码:

datas segment 
 buff  db 100h dup(?)
 letter_count dw 0
  nextline  db 0dh,0ah,'$'
    datas ends
codes segment
assume cs:codes,ds:datas
main proc far 
   push ds
   mov ax,0
   push ax 

   mov ax,datas
   mov ds,ax
  
   s:
    mov ah,1
    int 21h 
    cmp al,'$'
    jz break
    mov buff,al
    and al,11011111b
    cmp al,'A'
    jb next
    cmp al,'Z'
    ja next
    inc letter_count
   next:
    jmp s
  break:  
  lea dx,nextline
  mov ah,9
  int 21h
  
  mov ax,letter_count
  call todecimal
  ret
main endp

todecimal proc near uses ax bx cx dx
 
    mov bx,10
    mov cx,0
   s:
    mov dx,0
    div bx
    push dx
    inc cx
    or ax,ax
    jnz s
 s1:
   pop dx
   add dl,30h
   mov ah,2
   int 21h
   loop s1
  ret
todecimal endp

codes ends
  end main
    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值