On Feb 28, 2:53=A0am, Roy <roy.van.r...@[EMAIL PROTECTED]
> wrote:
> ...
> ptr1 dat 0,step
OK, just so we are talking about the same code, here is what it looks
like to me:
pGo [ boot code here ]
for 30
dat 0,0
rof
qM equ 6600
qN equ 2275
qStep equ 111
qGo
sne qPtr+qM*(qN+0)+qStep*0 ,qPtr+qM*(qN+0)+qStep*1
seq qPtr+qM*(qN+0)+qStep*2 ,qPtr+qM*(qN+0)+qStep*3
jmp qPtr
sne qPtr+(qM-1)*(qN-1)+qStep*0 ,qPtr+
(qM-1)*(qN-1)+qStep*1
seq qPtr+(qM-1)*(qN-1)+qStep*2 ,qPtr+
(qM-1)*(qN-1)+qStep*3
djn.f qPtr ,qPtr
sne qPtr+qM*(qN+2)+qStep*0 ,qPtr+qM*(qN+2)+qStep*1
seq qPtr+qM*(qN+2)+qStep*2 ,qPtr+qM*(qN+2)+qStep*3
jmp 3 ,>qPtr
sne qPtr+qM*(qN+1)+qStep*0 ,qPtr+qM*(qN+1)+qStep*1
seq qPtr+qM*(qN+1)+qStep*2 ,qPtr+qM*(qN+1)+qStep*3
jmp qPtr ,>qPtr
sne qPtr+qM*(qN-2)+qStep*0 ,qPtr+qM*(qN-2)+qStep*1
seq qPtr+qM*(qN-2)+qStep*2 ,qPtr+qM*(qN-2)+qStep*3
jmp 3 ,<qPtr
sne qPtr+qM*(qN-1)+qStep*0 ,qPtr+qM*(qN-1)+qStep*1
seq qPtr+qM*(qN-1)+qStep*2 ,qPtr+qM*(qN-1)+qStep*3
jmp qPtr ,<qPtr
sne qPtr+qN*(qM+2)+qStep*0 ,qPtr+qN*(qM+2)+qStep*1
seq qPtr+qN*(qM+2)+qStep*2 ,qPtr+qN*(qM+2)+qStep*3
jmp 3 ,}qPtr
sne qPtr+qN*(qM+1)+qStep*0 ,qPtr+qN*(qM+1)+qStep*1
seq qPtr+qN*(qM+1)+qStep*2 ,qPtr+qN*(qM+1)+qStep*3
jmp qPtr ,}qPtr
sne qPtr+qN*(qM-2)+qStep*0 ,qPtr+qN*(qM-2)+qStep*1
seq qPtr+qN*(qM-2)+qStep*2 ,qPtr+qN*(qM-2)+qStep*3
jmp 3 ,{qPtr
sne qPtr+qN*(qM-1)+qStep*0 ,qPtr+qN*(qM-1)+qStep*1
seq qPtr+qN*(qM-1)+qStep*2 ,qPtr+qN*(qM-1)+qStep*3
jmp qPtr ,{qPtr
jmp pGo
null dat 0,0
qSteps dat qStep*2 ,qStep*2
;break
qDec mul.x #qM ,#qN
add.f qDec ,qPtr ;
sne *qPtr ,@[EMAIL PROTECTED]
; 3 more lines than q4
add.f qSteps ,qPtr ;
sne null ,@[EMAIL PROTECTED]
mov.x qPtr ,qPtr
qPtr mov 0 ,{qStep
mov null ,>qPtr
jmn.f qPtr ,>qPtr
jmp pGo
end qGo
I marked the three lines in the decoder that are not required in q4.
> But indeed the decoder is a big problem. I'm actually thinking of
> another qscan-prototype that gives up one scan, but gains a lot of
> decoding speed:
> ...
> OTOH, if you are going to do this.. why bother, its almost like a q4
> anyway, which does these things more effective.
Yes, q4 is very efficient up to 24 locations (6*4). Beyond that it is
just q3 in which NumberOfScans =3D LinesOfCode. Is there no way to scan
> 24 locations using sne/seq/jmp triplets without sacrificing speed?
Even more dense code might look like:
seq A,B
jmn.f dec,C
Three scans in two lines, but I don't see how it can be made to work.
P. Kline


|