All --
> Anyone care to post a subcall.pasm example file that shows the
> implementation of a subroutine and a call to it? I was thinking
> of starting from euclid.pasm (since it has two args), but I'm
> not sure I understand what the calling convention is really
> supposed to look like...
Here are a couple of attempts using just jump_i. I've played a bit
with the assembler locally to try to make it allow 'set I0, LABEL',
followed by 'jump I0', but I think it always calculates relatative
offsets for labels as needec by branch, et al. Do we need an
assembler syntax for 'absolute location of this label'?
I think jump.pasm should work (I've hardcoded the jump-to locations
as hex numbers), but it doesn't.
The jumpsub.pasm example is closer to what I'd really like to do...
Any thoughts?
Regards,
-- Gregor
_____________________________________________________________________
/ perl -e 'srand(-2091643526); print chr rand 90 for (0..4)' \
Gregor N. Purdy [EMAIL PROTECTED]
Focus Research, Inc. http://www.focusresearch.com/
8080 Beckett Center Drive #203 513-860-3570 vox
West Chester, OH 45069 513-860-3579 fax
\_____________________________________________________________________/
#
# jump.pasm
#
# Copyright (C) 2001 Gregor N. Purdy. All rights reserved.
# This program is free software. It is subject to the same
# license as Perl itself.
#
MAIN: print "Jump test.\n"
print "Jumping to subroutine...\n"
set I1, 0x30
jump I1
RET: print "Returned from subroutine!\n"
end
SUB: print "Entered subroutine...\n"
set I2, 0x24
jump I2
#
# jumpsub.pasm
#
# Copyright (C) 2001 Gregor N. Purdy. All rights reserved.
# This program is free software. It is subject to the same
# license as Perl itself.
#
MAIN: print "Jump test.\n"
set I1, SUB
set I2, RET
print "Jumping to subroutine...\n"
jump I1
RET: print "Returned from subroutine!\n"
end
SUB: print "Entered subroutine...\n"
jump I2