Q:如何设计并调用子程序计算多组数据中最长的连续1的个数?
A:给定多组数据,计算哪组数据中的连续1的个数最长。子程序ONES对输入数据中最长的连续1的个数进行计数。在起始标志为TEST_NUM的存储器中添加更多的输入数据(至少10个),并在列表末尾添加数据0作为结束标志。
主程序的LOOP循环可调用ONES子程序,最长连续1的个数的计数结果存储到寄存器r10中。主程序对输入数据进行判断,若检测到数据0,则表示列表中的所有数据都已经计算完。
运行程序后Registers窗口观察到寄存器r10中的值为0x0000000C,即所有数据中最长的连续1的个数为12。
数据0x03ffC000以二进制的形式表示为:(0000_0011_1111_1111_1100_0000_0000_0000)B,即最长的连续1的字符串存在于这个数据中,最长的连续1的个数有12个。