问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

汇编语言,输入一个长度为n的字符串,将大写字母转化为小写

发布网友 发布时间:2022-05-15 05:19

我来回答

2个回答

热心网友 时间:2023-07-27 14:40

;从键盘输入一个长度为n的字符串,0<n<32。要求:
;1,输入和输出之前必须先显示提示信息,提示必须独占一行,输入用回车符结束。
;2,将字符串中的大写字母转化为小写字母并将转化后的字符串显示在屏幕。
;3,统计字符串中的非数字字符数,用十进制输出。
;4,输出字符串中包含的小写字母中ascii值最小的一个。

ASSUME CS:CC, DS:QQ

QQ SEGMENT
MSG1 DB 'Input the string : ', 13, 10, '$'
MSG2 DB 13, 10, 'The string is : '
STR DB 100, ?, 101 DUP('$')

MSG3 DB 13, 10, 'The CHAR is : '
NN DB '00'

MSG4 DB 13, 10, 'The small is : '
SM DB 'No.$'

QQ ENDS

CC SEGMENT

START:
MOV AX, QQ
MOV DS, AX
;--------------------------------------------------
LEA DX, MSG1 ;显示“INPUT THE STRING:”
MOV AH, 9
INT 21H

LEA DX, STR
MOV AH, 0AH ;输入字符串
INT 21H

MOV CL, STR + 1
MOV CH, 0
CMP CX, 0
JNZ CAL
JMP EXIT
CAL:
MOV STR, 13
MOV STR + 1, 10

MOV AL, 'z' + 1
MOV BX, 0
LOP:
CMP BYTE PTR STR[BX + 2], 'A'
JB NEXT1
CMP BYTE PTR STR[BX + 2], 'Z'
JA NEXT1
ADD BYTE PTR STR[BX + 2], 32
NEXT1:

CMP BYTE PTR STR[BX + 2], '0'
JB NNNN
CMP BYTE PTR STR[BX + 2], '9'
JBE NEXT2
NNNN:
INC BYTE PTR NN + 1
CMP BYTE PTR NN + 1, '9'
JNA NEXT2
MOV BYTE PTR NN + 1, '0'
INC BYTE PTR NN + 0

NEXT2:
CMP BYTE PTR STR[BX + 2], 'a'
JB NEXT3
CMP AL, STR[BX + 2]
JB NEXT3
MOV AL, STR[BX + 2]
NEXT3:
INC BX
LOOP LOP

CMP AL, 'z' + 1
JZ NO
MOV SM, AL
MOV BYTE PTR SM + 1, '$'
NO:
CMP BYTE PTR NN + 0, '0'
JNE SHOW1
MOV BYTE PTR NN + 0, ' '
SHOW1:
LEA DX, MSG2 ;显示 The string is:
MOV AH, 9
INT 21H
LEA DX, MSG3 ;显示其它
MOV AH, 9
INT 21H
;--------------------------------------------------
EXIT:
MOV AH, 4CH
INT 21H
CC ENDS
END START

四个要求都满足了。追问修正错误后运行乱码= =

追答本程序,经过再次实验,没有任何错误,也不产生乱码。

而且,当你输入的,都是数字时,即当你输入0个字符时,
本程序输出的最小字符,也不会出现错误。

热心网友 时间:2023-07-27 14:40

第4个输出的是原来输入的字符串还是转化后的字符串。追问转化后的

追答

不知道有没有bug,试试看吧。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
宜昌夷陵区丶西陵区哪个区最繁华 宜昌哪些地方租房子好 宜昌CBD中心商务区项目分段定位 宜昌哪个地段房子好 奥迪a6油箱盖按键在什么位置 奥迪a6汽车加油盖按钮在哪 奥迪a6油箱盖怎么开 奥迪a6油箱盖的开关在哪里 图文结合带你搞懂MySQL日志之Error Log(错误日志) 变电站电磁辐射安全标准 ...马自达车辆搭载创驰蓝天GVC系统技术的好处是什么? GVC是什么鬼?你们知道么? 汇编语言利把大写转换为小写字母 葱吃多了会有什么症状 小葱吃太多副作用 葱吃太多了会容易皮肤变黑吗 席慕容的飞鸟们,快一点。。。 常德市 桃源县:住房公积金 主任是 科级干部吗? 常德津市公积金管理处负责人是谁 常德市灵活就业人员如何缴住房公积金 我的cpu是fx6300要不要自已超频?听说它会自动超频,是不?我想我的电脑上网快一点超频到4.1g有分别吗? 快一点? 鼠标突然不受控制自己很快的乱动自己打开了很多东西如程序Internet选项等是怎么回事 当一个男人,从一开始回消息,很慢,很慢,到他回消息比之前快一点,而且有时候还会赞一下,自己的动态。 我的是d罩杯的胸罩,真的觉得自己走路快一点都会动,那男性会看着笑,我都不喜欢走快路,我还只20岁, 怎样才能让自己的动作快一点儿呢? 尺子的三要素 尺子长度3厘米,电脑里面的列宽是多少? 下面这把尺子只有3个刻度,它可以直接量出哪些长度的物体? 尺子上从刻度3到刻度7的长度是多少 一个尺子等于3个铅笔,2个铅笔等于三个橡皮两个尺子等于多少橡皮? 怎么让苹果屏幕一直亮着 用汇编语言实现如果直接给你一个What you DO字符串,大写的字母换小写,小写换大写输出 汇编语言程序题目: 将一个字符串中的大写字母转换成小写字母显示,小写字母直接显示,其它字符不显示。请 汇编语言单个字母大小写转换 汇编语言:输入一串字符,把其中,大写改为小写,小写字符不变,其他字符用空格代替 汇编语言 大写变小写 西门子300PLC 做DP通信时为啥非得加上OB82才指示灯显示正常,否则SF一直亮。 我有个绞车程序PLC,里面有OB1,OB82,OB86,OB100,OB121,OB122等 cocis西门子模块怎么编程? 西门子plc ob块调用怎么制作块 西门子300PLC停机 查故障信息为I&#47;O管理引起的stop模式内部错误,进入的事件为ID:16#4548,请高手指点 我的PLC会突然停止不知道为什么 西门子的而且需要重启PLC 在线时查看组态会报system data not current SIEMENS PLC OB中断 dnf90级不灭战神怎么刷图加点 90级不灭战神刷图加点分析 win10家庭版如何建立局域网,想和室友联机玩war3(我俩的电脑都是win10系统)。 安全座椅90度悬停是什么意思? 什么是已悬停 vivo已悬停是什么意思 柠檬咖啡可以一起吃吗 vivo手机打开设置wlan后上拉显示已悬停是什么意思 什么叫“悬停效果”啊?