i = 0 while 1: bm = UInt32(self, "block_map_%d" % i, "BlockMap") yield bm i += 1 if bm.value == 0 break