code: def each_params_by_register(self, nb, proto):
          
          bytecode._PrintSubBanner("Params")
  
          ret = proto.split(')')
          params = ret[0][1:].split()
          if params:
              bytecode._PrintDefault("- local registers: v%d...v%d\n" %
                                     (0, nb - len(params) - 1))
              j = 0
              for i in range(nb - len(params), nb):
                  bytecode._PrintDefault("- v%d: %s\n" % (i, get_type(params[j])))
                  j += 1
          else:
              bytecode._PrintDefault("local registers: v%d...v%d\n" % (0, nb - 1))
  
          bytecode._PrintDefault("- return: %s\n" % get_type(ret[1]))
          bytecode._PrintSubBanner()
docs: From the Dalvik Bytecode documentation:
  
          > The N arguments to a method land in the last N registers
          > of the method's invocation frame, in order.
          > Wide arguments consume two registers.
          > Instance methods are passed a this reference as their first argument.
  
          This method will print a description of the register usage to stdout.
  
          :param nb: number of registers
          :param proto: descriptor of method