200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 8086汇编语言将一串字符串内小写字母转换为大写字母 其余字符不变(全注释)

8086汇编语言将一串字符串内小写字母转换为大写字母 其余字符不变(全注释)

时间:2021-05-13 11:40:10

相关推荐

8086汇编语言将一串字符串内小写字母转换为大写字母 其余字符不变(全注释)

微机原理上机大作业的一部分,题目要求如下:

有了前面学习的基础,这次代码复制粘贴花了20分钟就写完了。

DATAS SEGMENTSINPUT DB 'Please input a string: $' SOUTPUT DB 'The changed string is: $' BUF1 DB 20HDB 0DB 20H DUP(0)DATAS ENDSSTACKS SEGMENT PARA STACKDW 30H DUP(0)STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV AH,09H;显示字符串LEA DX,SINPUT;取段内偏移地址INT 21H;调用系统dos中断MOV AH,0AH;键盘输入到缓冲区LEA DX,BUF1;取段内偏移地址INT 21H;调用系统dos中断;换行MOV DL,0DH;CRMOV AH,2;显示一个字符INT 21H;调用系统dos中断MOV DL,0AH;LFMOV AH,2;显示一个字符INT 21H;调用系统dos中断MOV AH,09H;显示字符串LEA DX,SOUTPUT;取段内偏移地址INT 21H;调用系统dos中断;初始化MOV DX,0MOV BX,10MOV SI,2MOV AX,0REREAD:MOV AL,BUF1[SI];寄存器相对寻址,从缓冲区取一个字符CMP AL,0DH;是否是CRJE FINAL;等于就跳转退出,JNE相反CMP AL,'z';小于等于zJBE LESSZ;小于等于z跳转JMP LOP;否则下一个LESSZ:CMP AL,'a';大于等于aJGE GREATERA;大于等于a跳转JMP LOP;否则下一个GREATERA:SUB AL,32;ASCII码减32,变大写LOP:MOV DL,AL;传送字符MOV AH,2;显示一个字符INT 21H;调用系统dos中断INC SI;自加1JMP REREAD;FINAL:;退出代码MOV AH,4CHINT 21HCODES ENDSEND START

运行结果如下图:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。