<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="https://www.gentoo-zh.org/extern.php?action=feed&amp;tid=286&amp;type=rss" rel="self" type="application/rss+xml" />
		<title><![CDATA[Gentoo中文社区 / 小写转大写]]></title>
		<link>https://www.gentoo-zh.org/viewtopic.php?id=286</link>
		<description><![CDATA[小写转大写 最近发表的帖子。]]></description>
		<lastBuildDate>Thu, 25 Aug 2022 05:05:05 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[小写转大写]]></title>
			<link>https://www.gentoo-zh.org/viewtopic.php?pid=292#p292</link>
			<description><![CDATA[<p>题目描述<br />试编写一个汇编程序，能对键盘输入的小写字母用大写字母显示出来（要求采用子程序格式，即采用子程序完成将小写字母转化成大写字母）。</p><p>代码及注释<br />DATA SEGMENT<br />&#160; &#160; &#160; MESSAGE DB &#039;This is not a lower case letter.&#039;,13,10,&#039;$&#039;&#160; &#160; ;不是小写字母的提示信息<br />DATA ENDS<br />CODE SEGMENT<br />&#160; &#160; &#160; ASSUME CS:CODE,DS:DATA<br />START:MOV AX,DATA<br />&#160; &#160; &#160; MOV DS,AX<br />&#160; &#160; &#160; MOV AH,01<br />&#160; &#160; &#160; INT 21H&#160; &#160; &#160; ;输入字符结束<br />&#160; &#160; &#160; MOV BL,97&#160; &#160; <br />&#160; &#160; &#160; CMP AL,BL&#160; &#160; ;比较输入字符与a的ASCII码<br />&#160; &#160; &#160; JB EXIT&#160; &#160; &#160; &#160;;输入字符不是小写字母则跳转到退出位置<br />&#160; &#160; &#160; MOV BL,122<br />&#160; &#160; &#160; CMP AL,BL&#160; &#160; ;比较输入字符与z的ASCII码<br />&#160; &#160; &#160; JA EXIT&#160; &#160; &#160; &#160;;输入字符不是小写字母则跳转到退出位置<br />&#160; &#160; &#160; MOV BL,AL<br />&#160; &#160; &#160; MOV BH,0<br />&#160; &#160; &#160; CALL NEXT&#160; &#160; ;已判断是小写字母则调用子程序<br />&#160; &#160; &#160; MOV AH,4CH<br />&#160; &#160; &#160; INT 21H<br />EXIT:MOV AH,9&#160; &#160; &#160; ;不是小写字母则输出不是的提示<br />&#160; &#160; &#160; MOV DX,SEG MESSAGE<br />&#160; &#160; &#160; MOV DS,DX<br />&#160; &#160; &#160; MOV DX,OFFSET MESSAGE<br />&#160; &#160; &#160; INT 21H<br />&#160; &#160; &#160; MOV AH,4CH&#160; &#160; &#160; ;中断程序<br />&#160; &#160; &#160; INT 21H<br />NEXT:MOV AL,32&#160; &#160; &#160; ;小写变大写子程序<br />&#160; &#160; &#160; SUB BL,AL&#160; &#160; &#160; ;大小写字母之间ASCII码相差32，输入字符ASCII-32得到大写字母<br />&#160; &#160; &#160; MOV DL,BL<br />&#160; &#160; &#160; MOV AH,02<br />&#160; &#160; &#160; INT 21H&#160; &#160; &#160; &#160;;输出字符<br />&#160; &#160; &#160; RET<br />CODE ENDS<br />&#160; &#160; &#160; END START</p>]]></description>
			<author><![CDATA[dummy@example.com (batsom)]]></author>
			<pubDate>Thu, 25 Aug 2022 05:05:05 +0000</pubDate>
			<guid>https://www.gentoo-zh.org/viewtopic.php?pid=292#p292</guid>
		</item>
	</channel>
</rss>
