Their is an example at http://www.parrotcode.org/examples/ that returns a list of integers that span two integers. The return types appear to be set wrong in the SPAN bsr. It seems the return values should be
set I0, I7 # number of items on the stack set I1, 0 # no integer return values The current example is listed below. I am very much a novice at reading PASM so hopefully I didn't interpret the program wrong. Paul Seamons PS - By the way the new examples (I think they are new - they are new to me) are very nice and descriptive of PASM. -------------------------------------------------------------- set I0, 1 # prototyped set I1, 0 # no items on the stack set I5, 42 set I6, 56 bsr SPAN ne I0, 0, RETURNERROR # item on stack # we don't know the number of integers values returned ne I2, 0, RETURNERROR # string return values ne I3, 0, RETURNERROR # PMC return values ne I4, 0, RETURNERROR # numeric return values MORE: restore I2 print I2 print " " dec I1 if I1, MORE print "\n" end RETURNERROR: print "Error with return values from SPAN!\n" end SPAN: ne I0, 1, CALLERROR # not prototyped ne I1, 0, CALLERROR # items on stack set I7, 0 # count of integers REDO: save I6 dec I6 inc I7 le I5, I6, REDO set I0, 0 # no items on the stack set I1, I7 # one integer return value set I2, 0 # no string return values set I3, 0 # no PMC return values set I4, 0 # no numeric return values ret CALLERROR: print "Error calling SPAN!\n" end --------------------------------------------------------------