汇编语言:输入一串字符,把其中,大写改为小写,小写字符不变,其他字符用空格代替

题目如题,想了好久,还是写不出来,请求。
初学汇编,老师布制的。请求帮忙

;我以前写的拿去查考下吧
;程序名称: 习题4.18
;程序功能: 把从键盘上接受到的大写字母用小写字母显示出来,
; 其他字符原样输出。按回车键结束程序。

;代码段
code segment
assume cs:code
start: call getchar ;从键盘接收一个字符
cmp al,0dh ;回车键?
jz exit ;是,结束程序
cmp al,'A'
jb showit ;不是大写字母,显示之
cmp al,'Z'
ja showit ;不是大写字母,显示之
or al,20h ;大写字母,转成小写字母
showit: call putchar ;显示字符
jmp start

exit: mov ax,4c00h
int 21h

;子程序名: getchar
;程序功能: 从键盘接收一个字符
;入口参数: 无
;出口参数: al = 读到的字符的代码
getchar proc near
mov ah,7
int 21h

ret
getchar endp

;子程序名: putchar
;程序功能: 向标准设备输出一个字符
;入口参数: al = 读到的字符的代码
;出口参数: 无
putchar proc near
push dx ;寄存器暂存
push ax

mov dl,al
mov ah,2
int 21h

pop ax ;寄存器恢复
pop dx
ret
putchar endp

code ends
end start
温馨提示:内容为网友见解,仅供参考
无其他回答

汇编语言:输入一串数字字母字符串,把其中的数字去掉,把大写改小写,小写...
MSG1 DB 13, 10, 'Input a STR : $'MSG2 DB 13, 10, 'The STR is: $'I1_L DB 100 I1_N DB ?I1_B DB 100 DUP (?)I2_B DB 100 DUP (?)DATA ENDS ;--- CODE SEGMENT ASSUME CS:CODE, DS:DATA START:MOV AX, DATA MOV DS, AX ...

用汇编语言编写一个代码:从键盘上输入一个字符;把其中的大写字母改为...
从键盘输入的任何字符的字符串,一个字母大写输出。数据段 MSG1 DB 13,10,'请输入一个STR:MSG2 DB 13,10,'上的STR是:$'> I1_L DB 100 I1_N DB? I1_B DB 100 DUP(?)数据 代码段 假设CS:CODE,DS:DATA START:MOV结束AX,DATA MOV DS,AX LEA DX,MSG1 MOV AH,9 ...

汇编语言程序题目: 将一个字符串中的大写字母转换成小写字母显示,小写...
找出大写和小写的关系,大写加上32H就是小写了

汇编语言字母转换 从键盘输入一个字符串,将其大写字母变为小写字母并...
DATA SEGMENT BUF DB 10 DUP(?)COUNT EQU $-BUF DATA ENDS STACK SEGMENT PARA STACK 'STACK'STAPN DB 100 DUP(?)TOP EQU LENGTH STAPN STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA BX,BUF MOV CX,COUNT CALL INPUT CALL CHANGE CALL SHOW MOV AH...

用汇编语言编程
NEXT1:MOV [DI],AL;不是大写字符的不变,存入BUF4,若是大写字符,则变为小写字符再存 ;入BUF4对应单元 INC DI INC SI LOOP BIANHUAN RET PROC3 ENDP PROC4 PROC NEAR ;输出一个回车换行 MOV CX,2 MOV DI,OFFSET BUF3 SHUCHU:MOV DL,[DI]MOV AH,02H INT 21H INC DI LOOP SHUCHU...

汇编语言,输入一个长度为n的字符串,将大写字母转化为小写
;2,将字符串中的大写字母转化为小写字母并将转化后的字符串显示在屏幕。;3,统计字符串中的非数字字符数,用十进制输出。;4,输出字符串中包含的小写字母中ascii值最小的一个。ASSUME CS:CC, DS:QQ QQ SEGMENT MSG1 DB 'Input the string : ', 13, 10, '$'MSG2 DB 13, 10,...

编写汇编语言程序,要求对键盘输入的大写字母用对应的小写字母显示出来...
ADD DL, 32 ;变为小写 INT 21H ;显示 INC BX JMP LP1 ;继续输入 LP2:CMP BX, 0 JNZ EXIT MOV DX, OFFSET MESSAGE2 MOV AH, 9 ;显示NON INT 21H ;--- EXIT:MOV AH, 4CH ;结束程序 INT 21H CODE ENDS END START ...

汇编语言---大写字母变成小写字母
mov al,[si] ;把si地址指向的字节传给al cmp al,'A'jb next ;如果小于'A'则跳转 cmp al,'Z'ja next ;如果大于'Z'则跳转 add al,20h ;在'A'~'Z'范围内,加20h变成小写 mov [si],al ;赋回给内存空间 next:loop lp mov byte ptr [si+1],'$' ;字符串最后加个'$'便于用9号...

编写一个汇编程序,要求将用键盘输入的小写字母转换成大写字母并显示出来...
1、打开软件Visual C++6.0,新建一个C源程序,书写C语言程序。2、首先定义两个字符型变量,代码:char c1,c2;从键盘中输入一个大写字母,代码:c1=getchar();。3、大写字母与小写字母的ASCII值相差32。代码:c2=c1+32;。将大写字母转化成小写字母。4、输出小写字母。使用putchar()函数,可以输出...

试编写一个汇编语言程序,要求对键盘输入大写字母用小写字母显示出来...
下面的是单个字符小写字母转换成大写字母的 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

相似回答
大家正在搜