ZKX's LAB

汇编输入字符串并转换为大写字母 【求助】汇编语言实现:将字符串中的大写字母转为小写字母

2020-09-24知识18

汇编程序:1 从键盘输入一个字符串 将其转换为大写字符串显示 怎么也不弄点悬赏分 啊,呵呵输入后回车显示大写字母DATA SEGMENTA DB 'ENTER THE STRING:$'BUF DB 100LEN DB?STR DB 100 DUP?ZS db 0dh,0ahWE DB 100 DUP('$')DATA ENDSCODE SEGMENTMAIN PROC FARASSUME CS:CODE,DS:DATASTART:PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXLEA DX,AMOV AH,9HINT 21HLEA DX,BUFMOV AH,0AHINT 21Hmov cl,lenmov ch,0LEA BX,STRlea SI,WECONT:mov al,0MOV AL,[BX]CMP AL,'a'Jb NEXTCMP AL,'z'JA NEXTSUB AL,32MOV[SI],ALJMP NEXT2NEXT:MOV[SI],ALJMP NEXT2NEXT2:INC BXINC SILOOP CONTMOV DX,0LEA DX,ZSMOV AH,9HINT 21HRETMAIN ENDPCODE ENDSEND START

汇编输入字符串并转换为大写字母 【求助】汇编语言实现:将字符串中的大写字母转为小写字母

汇编语言字母转换 从键盘输入一个字符串,将其大写字母变为小写字母并显示 DATA SEGMENT BUF DB 10 DUP?COUNT EQU$-BUF DATA ENDS STACK SEGMENT PARA STACK 'STACK' STAPN。

汇编输入字符串并转换为大写字母 【求助】汇编语言实现:将字符串中的大写字母转为小写字母

汇编语言字母转换 从键盘输入一个字符串,将其大写字母变为小写字母并显示 程序如下:DATA SEGMENTT1 DB 'Input STR(Len):$'K_IN DB 200;允许输入字符数(含回车)NNN DB?实际输入个数(不含回车)IN_B DB 200 DUP('$');实际输入字符(含回车)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AH,9;显示:Input.LEA DX,T1INT 21HMOV AH,10;等待键入字符串.LEA DX,K_ININT 21HCMP NNN,0JZ EXIT;如果输入零个字符,退出.MOV BX,0MOV CH,0MOV CL,NNNLOP:CMP BYTE PTR IN_B[BX],'A'JB NEXTCMP BYTE PTR IN_B[BX],'Z'JA NEXTADD BYTE PTR IN_B[BX],32NEXT:INC BXLOOP LOPMOV DL,10;回车换行.MOV AH,2INT 21HMOV DL,13INT 21HMOV AH,9;显示:LEA DX,IN_BINT 21HEXIT:MOV AH,4CH;程序结束.INT 21HCODE ENDSEND START程序执行时,屏幕显示如下:C:\\MASM>;zzzzInput STR(Len):ASDA;LS awsasda;ls awsC:\\MASM>;

汇编输入字符串并转换为大写字母 【求助】汇编语言实现:将字符串中的大写字母转为小写字母

汇编语言字母转换 输入一个字符串,将其大写字母变为小写字母并显示,然后将所有小写字母转换为大写输出。 DATA SEGMENTinbuf DB 100;可能输入的最大字符数db 0;实际输入字符数db 100 DUP('$');输入缓冲DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXmov di,OFFSET inbuf输入字符串MOV AH,0AHMOV DX,diINT 21Hxor cx,cxmov cl,[di+1];循环次数(输入字符数)lea si,[di+2];输入串起始地址循环比较next1:cmp byte ptr[si],'A'jb skip1cmp byte ptr[si],'Z'ja skip1or byte ptr[si],20h;转小写skip1:inc siloop next1MOV DL,0AHMOV AH,02HINT 21H输出字符串lea DX,[di+2]MOV AH,09HINT 21Hmov cl,[di+1];循环次数(输入字符数)lea si,[di+2];输入串起始地址next2:cmp byte ptr[si],'a'jb skip2cmp byte ptr[si],'z'ja skip2xor byte ptr[si],20h;转大写skip2:inc siloop next2输出字符串MOV DL,0AHMOV AH,02HINT 21Hlea DX,[di+2]MOV AH,09HINT 21HMOV AH,0INT 16HMOV AX,4C00HINT 21HCODE ENDSEND STARTmasm611编译运行通过。

#data#汇编语言#字符#大写数字

随机阅读

qrcode
访问手机版