下面子程序完成将调用程序提供的一组字符串中的大写字母改为小写字母。请将程序补充完整。;子程序名:BEXS;功能:将字符串中的大写

下面子程序完成将调用程序提供的一组字符串中的大写字母改为小写字母。请将程序补充完整。;子程序名:BEXS;功能:将字符串中的大写字母转换为小写字母;入口参数:BX为字符串首地址指针,CX为字符串长度;出口参数:转换后的小写字母存于原单元,并显示输出。;使用的寄存器:AX,BX,CX,DXPUBLICBEXCCODESEGMENTPARAPUBLIC‘CODE’ASSUMECS:CODEBEXSPROCFARPUSHAX;寄存器保护PUSHDXLOP1:MOVAL,(1);取一字符CMPAL,′A′;判小于′A′J(2)LOP2;若小于′A′时转LOP2CMPAL,′Z′;判大于′Z′J(3)LOP2;若大于′Z′时转LOP2ADDAL,(4);当为大写字母时,转为小写字母MOV[BX],AL;存回原单元MOVDL,AL;显示输出MOVAH,2INT21HLOP2:INCBX;修改地址LOOPLOP1;未转换它,继续循环POPDXPOPAXRETBEXSENDPCODEENDSEND___
【正确答案】:分析:该程序的基本算法是对字符串中每个字符循环进行判断,如为大写字母(在‘A’~‘Z’之间),则将其修改为小写字母(‘a’~‘z’)。大、小写字符的ASCII码之间的差值为20H,故把大写字母的ASCII码加上20H就转换成小写字母了。具体解答应为:(1)MOVAL,[BX](2)JBLOP2(3)JALOP2(4)ADDAL,20H