I'm half way through issue 5/6 of the AMOS Club newsletters (nearly ready for a release), however I've come a cropper with the print.
Below is a excerpt from the "The AMOS Shuffle Extension" example. There are some instructions that I'm not sure about what they should be, 'dc.I', 'move.I', 'cmp.I' and 'bIt '. Should that I be an l (small L), they both (I and small L) look like an l (small L) in the print.
[Edit] I've attached the complete article. If you know where to get the TOME Goodies Disk 1, then this would solve the problem as the source file is on that.
Start
@ @ dc.I @ X- Tk-X_Off @ : length of offsets
@ @ dc.I @ X_Llb-X- Tk @ ; length of tokens
@ @ dc.I @ X- Tltle-X_Llb : length of libraries
@ @ dc.I @ X_End-X- Title; length of Title string
@ @ dc.w @ 0
*******************************************************
*
L2
*
L3
* =RANGE(a,b TO c)
* return result of a forced into range of b to c
* shorter version of -MAX(b,MIN(c,a))
L_Range @ equ @ 3
@ move.I @ (a3) + , d2 @ ; get the last parameter
*The above pulled an integer from the stack. (as required)
@ move.I @ (a3) + , d1
@ move.I @ (a3) + , d0
* note that they are pulled in reverse order
@ @ cmp.I @ d2 , d0 @ ; is a>c ?
@ bgt @ BiGGER; if so then force a=c
B1: @ cmp.I @ d1 , d0 ; is a<b ?
@ bIt @ SMALLER @ ; if so then force a=b
* when you have to return a parameter from a function,
* Set D2 to the type (0,1 or 2) and D3 to the value (or
* the address in the case of a string)
B2: @ move.I @ d0 , d3