汇编语言 从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示出计数结果.最好有调试步骤,万分感谢 请发到我的邮箱[email protected]
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/09 05:13:39
汇编语言 从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示出计数结果.最好有调试步骤,万分感谢 请发到我的邮箱[email protected]
汇编语言 从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示出计数结果.
最好有调试步骤,万分感谢 请发到我的邮箱[email protected]
汇编语言 从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示出计数结果.最好有调试步骤,万分感谢 请发到我的邮箱[email protected]
;汇编语言 从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示出计数结果.
;以下是源程序
;用MASM5.0编译通过,运行结果如下:
;
;E:\masm1> 1125_3
;
;Please input : ABCD23$
;Total non_digital are: 004
;E:\masm1> 1125_3
;
;Please input : 1234$
;Total non_digital are: 000
;E:\masm1> 1125_3
;
;Please input : DFHGEFEHIEFIJIEJFI8797JHFJ$
;Total non_digital are: 022
;E:\masm1>
;
;程序如下:
data segment
s1 DB 0dh,0ah,'Please input : $'
s2 DB 0dh,0ah,'Total non_digital are: $'
num db 0
data ends
code segment
main proc far
assume cs:code
start:
push ds
mov ax,0
push ax
mov ax,data
mov ds,ax
lea dx,s1
mov ah,9
int 21h
NEXT:
MOV AH,01
INT 21H
CMP AL,'$'
JE DOWN
CMP AL,'0'
JB NO09
CMP AL,'9'
JA NO09
JMP NEXT
NO09:
INC NUM ;输入的是非数字,计数器加1
JMP NEXT
DOWN: ;输入'$',输出结果
lea dx,s2
mov ah,9
int 21h
MOV AL,NUM ;将计数器值以10进制输出
MOV AH,0
MOV DL,100
DIV DL
CALL DISP_P
mov al,ah
mov ah,0
MOV DL,10
DIV DL
CALL DISP_P
XCHG AH,AL
CALL DISP_P
ret
main endp
;
code ends
end start