汇编语言(十一)之统计非数字字符个数
生活随笔
收集整理的這篇文章主要介紹了
汇编语言(十一)之统计非数字字符个数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
輸入以$結尾的字符串,統計并輸出非數字字符的個數
程序運行:
?
代碼:
datas segmentstring db 100h dup(?)nonNumberCount dw 0inputPrompt db 'input string and end by $:'inputPromptLen dw $-inputPromptoutputNonnumberCount db 0dh,0ah,'output nonnumber count:$'datas endsstacks segment stackdb 100h dup(?)stacks endscodes segmentassume cs:codes,ds:datas,ss:stacks main proc far start:push dsmov ax,0hpush axmov ax,datas ;初始化dsmov ds,axlea si,inputPrompt ;輸出輸入提示mov ah,2mov cx,inputPromptLen ;輸出輸入提示的字符串長度 s2: mov dl,[si]int 21h ;輸出提示字符inc siloop s2mov ah,1 ;輸入設置mov bx,0 ;記錄輸入有效的字符個數s:int 21hcmp al,'$' ;以'$'結束輸入je breakcmp al,'0' ;判斷字符是否大于'0'jb nonNumber ;若小于'0',則計數器加1cmp al,'9' ;判斷字符是否大于'9'ja nonNumber ;若大于'9',則計數器加1jmp s1nonNumber: ;非數字字符,計數器加1inc bxs1:jmp sbreak: mov nonNumberCount,bx ;保存計數器lea dx,outputNonnumberCount ;輸出計數器提示mov ah,9int 21hmov ax,nonNumberCount call print ;輸出計數器retmain endpprint proc nearmov cx,0mov bx,10sprint:mov dx,0div bxpush dxinc cxcmp ax,0 jne sprintsprint1:pop dxadd dl,30h ;加30h,轉成數字字符mov ah,2int 21hloop sprint1retprint endp codes endsend main?
總結
以上是生活随笔為你收集整理的汇编语言(十一)之统计非数字字符个数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 宝蓝色连衣裙配什么颜色鞋子 时尚搭配内容
- 下一篇: 汇编语言(十二)之统计小于平均数的个数