汇编实验从键盘接收两个不大于 5 的十进制数字,并以十进制数据形式显示其和。从键盘接收一个字符串(假定输入字符串长度大于 3),试换行输出该字符串中第二个字符开始的连续 2 个字符。

实验要求1:从键盘接收两个不大于 5 的十进制数字,并以十进制数据形式显示其和。
编程提示:
该程序中要求的均为一位数据的输入输出,暂时不考虑多位数据,请输入 0~5 之间的数据,显示的结果为 0~9。请不要输入两个 5,以免出现不能直接输出的情况。
实验代码:
在这里插入图片描述
程序设计思路:
数据段:
定义一个字符串INPUT进行提示输入
定义两个字节X,Y来存储从键盘输入的数字
定义字符串CRLF,其值为0AH,0DH,分别代表ASCII码的回车和换行。
代码段:
首先,将DATA段送入DS,然后在屏幕上显示输入提示的字符串,接着LEA DX,CRLF进行换行。然后,使用01H调用从键盘输入第一个字符到AL寄存器,将输入的字符送入X。然后再次使用LEA DX,CRLF换行,使用01H调用从键盘输入第二个字符,将输入的字符送入Y。再次使用LEA DX,CRLF进行换行。将X中内容送入DL,将DL和Y中内容相加,因为字符是以ASCII码存储,最后要再减去48,以显示出正确的结果。然后使用02H功能号,在屏幕上输出单个字符。最后将4C00H送入AX,返回DOS系统,21H系统调用,最后程序结束。

程序流程图:
在这里插入图片描述
实验要求2:从键盘接收一个字符串(假定输入字符串长度大于 3),试换行输出该字符串中第二个字符开始的连续 2 个字符。
编程提示:
该程序应先使用 DOS 功能调用接收一个字符串。
显示其中的子串,要求从第二个字符开始,连续显示 2 个字符,该功能可使用字
符串显示的 DOS 功能调用,也可以使用单字符显示的 DOS 功能调用,重复显示两次。
程序代码:
在这里插入图片描述
程序设计思路:
数据段:
定义INPUT和OUTPUT提示输入输出字符串,首先预定义29个字节的空间,然后定义一个未赋初值的字符串,当键盘输入后自动获得字符串长度,最后定义’’ , 未输入的空间,用’ ’,未输入的空间,用’,未输入的空间,用’补齐。
代码段:
将DATA段送入DS,打印提示信息,输入字符串,并存到缓冲区,最后获得第二个字符和第三个字符并使用02H单个字符进行输出,最后程序结束。

程序流程图
在这里插入图片描述


版权声明:本文为qq_53809201原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。