汇编语言,键盘输入字符,若是0~9,则直接显示

供稿:hz-xin.com     日期:2025-01-13
汇编语言,键盘输入字符,若是0~9,则直接显示

;汇编语言,键盘输入字符,
;若是0~9,则直接显示.
;若是A~Z或a~z,则均显示‘*’。
;若是其它字符则不显示,继续等待新的字符输入,
;用回车键结束程序。
ASSUME
CS:CC,
DS:QWER
;==================================
QWER
SEGMENT
TIP1
DB
10,
13,
'Please
input
char,
CR
then
END
:
'
DB
10,
13,
36
QWER
ENDS
;----------------------------------
CC
SEGMENT
BEG:
MOV
AX,
QWER
MOV
DS,
AX
MOV
DX,
OFFSET
TIP1
MOV
AH,
9
INT
21H
IIII:
MOV
AH,
7
;输入字符
INT
21H
CMP
AL,
13
JE
EXIT
MOV
DL,
AL
CMP
DL,
'0'
JB
IIII
CMP
DL,
'9'
JBE
DISP
CMP
DL,
'A'
JB
IIII
CMP
DL,
'Z'
JBE
DISPX
CMP
DL,
'a'
JB
IIII
CMP
DL,
'z'
JA
IIII
DISPX:
MOV
DL,
'*'
;显示星号
*
DISP:
MOV
AH,
2
INT
21H
JMP
IIII
;--------------------------
EXIT:
MOV
AH,
4CH
INT
21H
CC
ENDS
END
BEG
;==================================
已经调试成功。

怎么知道是输入不进去的?

是不是没有显示出来呀?
-------------
……
START:
MOV COUNT,1--这句,应该放在后边
MOV AX,DATA--这两句,应该先执行
MOV DS,AX
……
-------------
……
EXIT: MOV DL,COUNT--DL 中,应该放ASCII码
MOV AH,2
INT 21H
MOV AH,4CH
INT 21H
……

;汇编语言,键盘输入字符,
;若是0~9,则直接显示.
;若是A~Z或a~z,则均显示‘*’。
;若是其它字符则不显示,继续等待新的字符输入,
;用回车键结束程序。

ASSUME CS:CC, DS:QWER
;==================================
QWER SEGMENT
TIP1 DB 10, 13, 'Please input char, CR then END : '
DB 10, 13, 36
QWER ENDS
;----------------------------------
CC SEGMENT

BEG:
MOV AX, QWER
MOV DS, AX

MOV DX, OFFSET TIP1
MOV AH, 9
INT 21H
IIII:
MOV AH, 7 ;输入字符
INT 21H
CMP AL, 13
JE EXIT
MOV DL, AL
CMP DL, '0'
JB IIII
CMP DL, '9'
JBE DISP
CMP DL, 'A'
JB IIII
CMP DL, 'Z'
JBE DISPX
CMP DL, 'a'
JB IIII
CMP DL, 'z'
JA IIII
DISPX:
MOV DL, '*' ;显示星号 *
DISP:
MOV AH, 2
INT 21H
JMP IIII
;--------------------------
EXIT:
MOV AH, 4CH
INT 21H
CC ENDS
END BEG
;==================================

已经调试成功。

汇编语言,键盘输入字符,若是0~9,则直接显示
MOV DX, OFFSET TIP1 MOV AH, 9 INT 21H IIII:MOV AH, 7 ;输入字符 INT 21H CMP AL, 13 JE EXIT MOV DL, AL CMP DL, '0'JB IIII CMP DL, '9'JBE DISP CMP DL, 'A'JB IIII CMP DL, 'Z'JBE DISPX CMP DL, 'a'JB...

汇编语言程度题:从键盘上输入字符0~9,要求从屏幕上输出其ASCII值(使用...
Accept_Num DB 'Please input a number(0-9),Press Esc to Exit:$'DigitalChr DB 'The ASCII of 'DigASCII DB 0,' is ',2 DUP(' '),'H.$' ; 数字的ASCII数字 ASCII_Tab DB '0123456789'Exit_Mark DB 0 ; Subroutine GLOBAL Get_Num:NEAR ;从键盘接受一个数字 Get_Num Proc Near ...

C语言作业:编写一个程序,读入一个数字字符0——9,将其转换为相应的整数...
你好,程序如下:include<stdio.h> void main(){ char ch;int i;printf("输入一个字符[0~9]:\\n");scanf("%c",&ch);getchar();i=ch-48;printf("转换之后结果为: %d\\n",i);} 有疑问提出 望采纳

C语言 输入一串字符,计算当中0~9数字的个数
include <stdio.h> main(){ char x;int a[10]={0},i;while((x=getchar())!='\\n')if(x>='0'&& x<='9')a[x-'0']+=1;for(i=0;i<10;i++)printf("%d的个数是%d \\n", i,a[i]);return 0;} 你错在了for循环里面 错把i打成了1 这种错误很难发现。 主要要...

在这个c语言程序里,我弄的是如果输入的是0-9 则输出输出您输入的是数字...
判断是字符的那个if改成 if (!(a>=48 && a<=57))或者直接改成else

C语言作业:编写一个程序,读入一个数字字符0——9,将其转换为相应的整数...
代码 include<stdio.h> void main(){ char a;printf("读入一个数字字符0——9:");scanf("%c",&a);printf("%d\\n",a-'0');}

用c语言从键盘输入一个由0到9构成的字符串,输出整数形式
include<stdio.h>#include<stdlib.h>int main(){char str[10];int num;gets(str);num=atoi(str);printf("%d\\n",num);return 0;}

编写一个c语言程序,将输入的数字字符转换成数字并输出并输出!谢谢...
include "stdio.h"void main(){ char c;scanf("%c",&c);\/\/输入一个数字字符 if(c>='0' && c<='9'){ \/\/若为0-9则进行处理 c-='0'; \/\/将数字字符转换为真正的数字值 printf("%d",c);\/\/输出数字值 这里用%d } else{ printf("please enter 0~9!\\n");} } ...

...从键盘上连续打入多个属于‘0’到‘9’的数字符并在屏幕上显示, 遇 ...
START: push cs pop ds push cs pop es mov ah,0 int 16h mov cx,10 mov di,offset buff_1 lp1: stosb cmp al,3ah jb lp2 sub al,10 lp2: inc al loop lp1 mov dx,offset buff_1 MOV AH,09H INT 21H MOV AH,4CH INT 21H buff_1 db 10 dup(30h)db 24h CODE ENDS END...

用C语言编写一个程序,输入一个整数,输出0~9各数字在该整数中出现的次数...
include<string.h> int main(){ int a[10];\/\/每个数字的计数器 int num;int i;char ch[100],*ch1,num1;for(i = 0;i < 10;i++)a[i] = 0;printf("请输入一个整数:");scanf("%d",&num);itoa(num,ch,10); \/\/将数字转化为字符串 for(ch1 = ch;ch1<ch+strlen(ch);ch1...