求汇编程序:编程实现将键盘输入的小写字母转换为大写字母显示出来? 使用8086汇编语言编写程序 编写程序实现:将从键盘输入的小...

作者&投稿:稻知 (若有异议请与网页底部的电邮联系)

1、打开软件Visual C++6.0,新建一个C源程序,书写C语言程序。

2、首先定义两个字符型变量,代码:char c1,c2;从键盘中输入一个大写字母,代码:c1=getchar();。

3、大写字母与小写字母的ASCII值相差32。代码:c2=c1+32;。将大写字母转化成小写字母。

4、输出小写字母。使用putchar()函数,可以输出一个字符型变量。代码:putchar(c2)。

5、连接编译程序。点击工具栏按钮【Compile(Ctrl+F7)】,编译程序;点击工具栏上的像感叹号的按钮【BuildExecute(Ctrl+F5)】,组建程序。

6、在程序运行窗口中,输入一个大写字母A,按回车键,即可输出一个小写字母。



CODE SEGMENT
ASSUME CS:CODE
START:MOV AL,01H ;采用DOS调用的01号功能
从键盘输入字符
INT 21H
CMP AL,‘a’ ;与字符‘a’进行比较
JB EXIT ;小于‘a’,转向结束
CMP AL,‘z’ ;与字符‘z’进行比较
JA EXIT ;大于‘z’,转向结束
SUB AL,20H ;大小写字母间相差20H
MOV DL,AL ;转换后,结果送DL
MOV AH,02H ;DOS调用02号功能,显示结果
INT 21H
EXIT: MOV AH,4CH ;返回DOS
INT 21H
CODE END ;代码段结束
END START ;汇编结束

虽然我不知道编程怎么编的,但是可以提供你一个原理
不知道你发现没有,当你按住shift的时候输入小写字母都会变成大写的,所以只要实现程序运行的时候shift是按住的就可以了!

呵呵,楼上的方法,谈不上什么原理。
题目的要求,是编写个程序,可把其它任何人的输入,都自动的,由小写变成大写。
你能让老师自己按住shift来控制其它人吗?真能搞笑!

先获取小写字母,然后将其asc码减32就是大写字母,再输出就可以了!

编写一个汇编程序,要求将用键盘输入的小写字母转换成大写字母并显示出来~

1、打开软件Visual C++6.0,新建一个C源程序,书写C语言程序。

2、首先定义两个字符型变量,代码:char c1,c2;从键盘中输入一个大写字母,代码:c1=getchar();。

3、大写字母与小写字母的ASCII值相差32。代码:c2=c1+32;。将大写字母转化成小写字母。

4、输出小写字母。使用putchar()函数,可以输出一个字符型变量。代码:putchar(c2)。

5、连接编译程序。点击工具栏按钮【Compile(Ctrl+F7)】,编译程序;点击工具栏上的像感叹号的按钮【BuildExecute(Ctrl+F5)】,组建程序。

6、在程序运行窗口中,输入一个大写字母A,按回车键,即可输出一个小写字母。

data segment
str1 db 0dh,0ah,'input error! $'
str2 db 0dh,0ah,'input your char:$'
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
lea dx,str2 ;显示输入信息
mov ah,9
int 21h
mov ah,01h ;调用21中断01功能。。输入字符
int 21h
cmp al,61h
jb exit
cmp al,7ah
ja exit
sub al,32
mov dl,al;显示转换后字母
mov ah,02h
int 21h
mov ah,4ch;返回dos
int 21h

exit:

lea dx,str1 ;显示错误信息
mov ah,9
int 21h
mov ah,4ch;返回dos
int 21h
code ends
end start

汇编语言编程,接收从键盘输入的字符,以CTR+C 结束,并将其中的小写字母转...
答:问题非常多:1. 首先题目就有问题,不可能“接收从键盘输入的字符,以CTR+C 结束”。对于命令提示符来说,按下CTRL+C,就会强行退出这个程序,所以不可能以CTRL+C结束的。应该是按回车结束输入。2. DATA里有中文标点符号。3. 输入字符后,按下回车,在C语言里运行的时候会自动换行,但是在汇编里不...

汇编语言 编程实现由键盘输入任意一个字符,将该字符的ASCII码值显示在...
答:DATA SEGMENT DATA1 DB 'PLEASE PUT A CHAR:$'DATA2 DB 0AH,0DH,'THE ASCII OF THE :$'SD DB 'A'DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,OFFSET DATA1 ;显示提示信息 MOV AH,09H INT 21H MOV AH,01H INT 21H MOV SI,OFFSET SD ...

汇编语言,编程实现从键盘输入四位十六进制数,使出对应的十进制数,用...
答:CODE SEGMENT ASSUME CS:CODE BUFF DB 5,?,5 DUP(?) X DW 0 START: PUSH CS POP DS @0: CALL LFCR LEA DX,BUFF MOV AH,10 INT 21H LEA SI,BUFF

用汇编怎样实现从键盘输入一串字符至内存(利用DOS功能调用)?_百度知...
答:SEGMENT ASSUME CS:COD,DS:DAT START: MOV AX,DAT MOV DS,AX MOV AH,0AH MOV DX,OFFSET NUMBERS ;取得存放数据的内存偏移地址,从键盘中输入 INT 21H MOV AX,4C00H INT 21H COD ENDS END START ...

试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来...
答:程序不是很难,建议你自己写,这题的关键就是一个大小写转换问题,大写字母从41h~5Ah,小写字母从61h~7Ah,规律就是小写字母比大写字母的ASCII码大20h,所以可以用减20h实现小写转换为大写,另外还有一个方法就是,如果注意观察可以发现小写字符ASCII码2进制表示时bit5为1,而大写字母bit5为0,所以...

求答案:试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母...
答:NAME TURN DSEG SEGMENT A DB 'PLEASE INPUT (a~z):','$'B DB 0AH,0DH,'$'DSEG ENDS SSEG SEGMENT STACK DB 90H DUP(?)SSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG,SS:SSEG START:MOV AX,DSEG MOV DS,AX MOV DX,OFFSET A///提示输入 MOV AH,09H INT 21H MOV AH,01H I...

编写程序实现:将从键盘输入的小写字母转换成大写字母输出。 程序流程图...
答:流程图?说下结构好了,输入字符 然后判断输入的字符类型,如果是小写字母将输入的字母转换成大写字母,并输出,如果不是则显示错误信息 代码现编:data segment inputmsg db 'input :$'errmsg db 0dh,0ah,'it's not a litter$'msg db 0dh,0ah,'your input :$'data ends code segment assume cs...

用汇编语言编译一个程序\从键盘输入一个字符串将其每个字符的ASCII码...
答:mov ah, 1 ;键盘输入 int 21h call asc2bin mov bl, al mov bh, 0 dec bx shl bx, 1 mov dx, tab[bx]mov ah, 9 int 21h mov ax, 4c00h Int 21h main endp ;将ASCII转换为二进制数 ;入口:AL存放ASCII ;出口:转换后数值在AL asc2bin ...

...实现从键盘输入一个字符带回显,并将键盘输入的那个字符在屏幕上换...
答:.MODEL SMALL .DATA .CODE START:MOV AX, @DATA MOV DS, AX MOV AH, 1 INT 21H MOV BL, AL MOV DL, 13 ;回车 MOV AH, 2 INT 21H MOV DL, 10 ;换行 INT 21H MOV DL, BL ;显示 INT 21H MOV AH, 4CH INT 21H END ...

汇编 编程从键盘输入一个一位十六进制数,定义一个子程序将其以二进制...
答:rol bx,1 ;将输入的数循环向左移1位 jc CF_1 ;如果该是1,则CF为1,即产生进位 mov dl,0 ;CF=0,即该位为0 CF_1:mov ah,02h add dl,30h ;加0、1转为ASCII码 int 21h dec ch ;循环16=10H次,即一个4位十六进制等于16位的二进制 jnz print mov ah,4ch int 21h code ends en...