04-27-2015, 03:54 PM
I don't fully understand how SEEKPT and SEEKPTA works in a program. I've got a program that works sometimes, but often it doesn't. My 41CV has an Extended Functions/Memory module and I have an HP-IL printer attached.
The most used program on my 41 requires a structured data file in Extended Memory. To check that file I wrote the following program to produce a print out:
01 LBL "XDATA"
02 SF 21
03 STO 01
04 LBL 01
05 FIX 0
06 RCL 01
07 INT
08 ACX
09 " : "
10 ACA
11 SEEKPT
12 GETX
13 FIX 3
14 ACX
15 PRBUF
16 ISG 01
17 GTO 01
18 END
I place the name of the data file in the Alpha register and the starting and ending registers along with the increment in X (s.eeeii) and sometimes the program will print the following:
59.06301
XEQ "XDATA"
59 : 163.288
60 : 168.990
61 : 174.850
62 : 180.749
63 : 186.623
(the data file is a lot larger but this serves for illustration)
But days later, running the program again, I got the error message "FL TYPE ERR". I tried changing line 11 to SEEKPTA but still got the error. The program halted on line 11, at this point the Alpha register contains " : ".
I rewrote the program a little so as not use the " : " separator thinking that since it was replacing the data file name in the Alpha register the calculator was now searching for a data file named " : ". I got it to work, but the format of the printout above is easier to read - and it worked at one time! (And it worked again yesterday after recovering from a MEMORY LOST.)
So I don't understand fully how to use these functions.
The manual is a little cryptic on how SEEKPT is used, at first I thought it was used for data files only. On re-reading it seems instead that it uses an assumed "working file", while SEEKPTA makes the named file the working file. I can't figure out how one would know the working file without specifying it in the Alpha register.
Can someone enlighten me?
The most used program on my 41 requires a structured data file in Extended Memory. To check that file I wrote the following program to produce a print out:
01 LBL "XDATA"
02 SF 21
03 STO 01
04 LBL 01
05 FIX 0
06 RCL 01
07 INT
08 ACX
09 " : "
10 ACA
11 SEEKPT
12 GETX
13 FIX 3
14 ACX
15 PRBUF
16 ISG 01
17 GTO 01
18 END
I place the name of the data file in the Alpha register and the starting and ending registers along with the increment in X (s.eeeii) and sometimes the program will print the following:
59.06301
XEQ "XDATA"
59 : 163.288
60 : 168.990
61 : 174.850
62 : 180.749
63 : 186.623
(the data file is a lot larger but this serves for illustration)
But days later, running the program again, I got the error message "FL TYPE ERR". I tried changing line 11 to SEEKPTA but still got the error. The program halted on line 11, at this point the Alpha register contains " : ".
I rewrote the program a little so as not use the " : " separator thinking that since it was replacing the data file name in the Alpha register the calculator was now searching for a data file named " : ". I got it to work, but the format of the printout above is easier to read - and it worked at one time! (And it worked again yesterday after recovering from a MEMORY LOST.)
So I don't understand fully how to use these functions.
The manual is a little cryptic on how SEEKPT is used, at first I thought it was used for data files only. On re-reading it seems instead that it uses an assumed "working file", while SEEKPTA makes the named file the working file. I can't figure out how one would know the working file without specifying it in the Alpha register.
Can someone enlighten me?