嵌入式 > 技术百科 > 详情

汇编程序:统计一个字符串里数字的个数(初级版)

发布时间:2020-10-28 发布时间:
|
DATAS SEGMENT
    sum db 2 dup(?);此处输入数据段代码  
    string db 25 dup(?);存放字符
    tital db  'This program is made by wq. ',0dh,0ah
          db  'PLease input the string: ','$'
    overs db 'Amout of the nember is : ','$'
DATAS ENDS
STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    mov ax,offset tital
    mov dx,ax
    mov ah,09h
    int 21h
    mov cl,25
    mov si,0
    mov ax,offset string
    mov dx,ax
again:           ;输入字符
    mov ah,01h
    int 21h
    cmp al,0dh
    jz then
    mov string[si],al
    inc si
    dec cl
    jnz again
then:
    mov ax,offset string
    mov dx,ax
    mov si,0
    mov bl,0
    mov cx,6
exchang:
    cmp cx,0
    jz over
    cmp string[si],30h
    jnb next
    inc si
    dec cx
    jmp exchang
    next:
    cmp string[si],39h  
    jle calculator
    inc si
    dec cx
    jmp exchang
    calculator:
    inc si
    inc bl
    dec cx
    jmp exchang    
over:
   lea ax,overs
   mov dx,ax
   mov ah,09h
   int 21h
   
    mov ax,offset sum
    mov dx,ax
    mov sum[0],bl
    add sum[0],30h
    mov sum[1],'$'
    mov ax,offset sum
    mov dx,ax
    mov ah,09h
    int 21h    
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START

 


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
如何解决PCB传输线之SI反射问题