Mercurial > hg > Members > kono > nitros9-code
diff level1/cmds/merge.asm @ 1331:0a3500c747de
Fixed ANOTHER bug
author | boisy |
---|---|
date | Sun, 07 Sep 2003 00:53:51 +0000 |
parents | 4f42a5a604d3 |
children |
line wrap: on
line diff
--- a/level1/cmds/merge.asm Sun Sep 07 00:41:30 2003 +0000 +++ b/level1/cmds/merge.asm Sun Sep 07 00:53:51 2003 +0000 @@ -44,6 +44,22 @@ name fcs /Merge/ fcb edition change to 6, as merge 5 has problems? +* Here's how registers are set when this process is forked: +* +* +-----------------+ <-- Y (highest address) +* ! Parameter ! +* ! Area ! +* +-----------------+ <-- X, SP +* ! Data Area ! +* +-----------------+ +* ! Direct Page ! +* +-----------------+ <-- U, DP (lowest address) +* +* D = parameter area size +* PC = module entry point abs. address +* CC = F=0, I=0, others undefined + +* The start of the program is here. start subd #$0001 if this becomes zero, beq Exit we have no parameters @@ -54,7 +70,8 @@ subd ,s++ get size of space between buff and X subd #STACKSZ+PARMSZ subtract out our stack/param size std <d.size save size of data buffer - leau d.buffer,u point to some data + leay d.buffer,u point to some data + sty <d.ptr do.opts ldx <param get first option do.opts2 lbsr space