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

不需要考虑输入的是大写字母怎么办,dos调用做,可以直接运行的... 不需要考虑输入的是大写字母怎么办,dos调用做,可以直接运行的 展开
 我来答
刺友互
高粉答主

2019-07-04 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:72.1万
展开全部

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,按回车键,即可输出一个小写字母。

匿名用户
2013-07-25
展开全部
assume cs:code, ds:datas

datas segment
str db 100 dup(?)
datas ends

code segment
start:
mov ax, datas ;初始化段
mov ds, ax

lea si, str ;载入str存储位置
mov ah, 1 ;1号功能调用输入字符
next:
int 21h
cmp al, 13 ;回车结束输入
jz done
cmp al, 'a' ;对字符范围'a'~'z'进行转换
jl noop
cmp al, 'z'
jg noop
sub al, 20h ;转为对应大写形式
noop:
mov [si], al ;存储
inc si ;更新位置
jmp next
done:
mov ah, 2 ;以下5句输出一个换行
mov dl, 13
int 21h
mov dl, 10
int 21h

mov byte ptr [si], '$' ; 设置结束标志
mov ah, 9 ;9号功能输出ds:dx的字符串
lea dx, str
int 21h

mov ax, 4c00h ;程序结束
int 21h
code ends
end start

附图:
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-05-16
展开全部
额。楼上的已经写的很好了。他是字符串的。我写个单个字符的转换吧。
CODE SEGMENT
ASSUME CS:CODE
START:
MOV AH,1
INT 21H
SUB AL,32
MOV DL,AL
MOV AH,2
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2023-02-16 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部

如下即可。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式