实验十一  编写子程序

答:
分析:
	题目要求编写一个子程序,将包含任意字符,以0结尾的字符串中的小写字母转变成大写字母,那么我们我们需要处理的无非有两点:
	
	1)从这个字符串中找出小写字母:可以通过条件判断指令根据小写字母的取值范围确定
	
	2)然后把这些小写字母转变成大写字母,而这在前面的章节中已经很明确的知道了:只需要把小写字母的第五位置0就可以
实现:
	下面我们直接给出设计的源程序:
	
	程序见11.asm
【注:
熟悉掌握条件判断指令以及相关的标志寄存器处理操作非常重要:
1,比如我们可以通过test指令结合跳转指令判断某个数(二进制形式)的第一位是否为1来判断它是否为偶数,如果为1,那么不是偶数
   test al,00000001b		;test指令详细使用规则请见其他的参数资料
   jz  iseven
   ……
2,可以通过比较指令cmp,结合跳转指令限定某些数的范围,例如下面的程序段可以控制输入的数的范围为0~9
   again:
         mov ah,1		;注:这里al中将得到的是字符的ACSII码值,所以下面判断的时候要加30h
	 int 21h 

         cmp al,0+30h          
         jb again
	 cmp al,9+30h
	 ja again
	 ……
当然还有更多的广泛的用途,请大家自己在学习的过程中不断总结。
】
返回目录