Re: A86: Still can't figure it out. Also, FP stack?


[Prev][Next][Index][Thread]

Re: A86: Still can't figure it out. Also, FP stack?




    Well, my program is back to where it was before it started acting REALLY
goofy.  There's one thing that I still don't get, though.  If you run this
program (be patient, it takes about 5 min to run) you'll notice that the X
values start to repeat at about the 100th column.  It really confuses me
because I can tell that Xcounter is not getting reset because it continues
plotting to the right, but it's like the program picks up previous Y values.
Any ideas about why this would happen.  Also, on a very different note.  How
do you push and pop a value, say in OP2, onto the floating point stack?
Thanks for the help!
---


Hmm.... I guess no one reads my Asm FAQ do they? Well, if someone took the
time to read it :), you will notice I have
these two calls in it:

pushrealo1 equ 4813h - push op1 onto FPS 10 bytes
poprealo1 equ 47B7h - pop FPS into op110 bytes

rst $18 is the faster version of pushrealo1 (see rst list below)


And of course I mentioned all this----


Here are some more OP calls that were only mentioned in the mailing list:
_GEQNAMEA    equ $4e71          ; OP1=NAME OF CURRENT EQ
_CPYTO1FPST    equ $4897          ; OP1=NAME OF EQ VAR WITH EXP
_CPYO2TOFPST    equ $48d7          ; SAVE RESULT IN FPST INSTEAD
_GFUDYDX    equ $4b9f          ; OP1=dy/dx
_CKOP1REAL    equ $41cb          ; check if op1 real, sets z flag
_CPYTO2FpS2    equ $48c3          ; OP2=y1
_INVSUB     equ $45e3          ; OP1=y1-(dy/dy) x1
_INVOP1s    equ $5494
_deallocfps1    equ $47db          ; clean fps
_cpyto2fps1    equ $48af          ; OP2= x
_cpyto2fps2    equ $48c3          ; op2 = dy/dx
_CPYTO2FPST    equ $4893          ; constant

10 byte copy:
$48DB 10b(fps-10)->_OP6
$48DF 10b(fps-10)->_OP1
$48E3 10b(fps-10)->(de)
$48E7 10b(hl-10)->(de) page1
$48EB 10b(hl)->(de) page1
$48EF 10b(fps-20)->_OP5
$48F3 10b(fps-10)->_OP2, 10b(fps-20)->_OP1
$48F7 10b(fps-20)->_OP1
$48FB 10b(fps-20)->(de)
$48FF 10b(hl-20)->(de) page1
$4903 10b(fps-30)->_OP2
$4907 10b(fps-30)->_OP3
$490B 10b(fps-30)->_OP6
$490F 10b(fps-30)->_OP1
$4913 10b(fps-30)->(de)
$4917 10b(hl-30)->(de) page1
$491B 10b(fps-40)->_OP5
$491F 10b(fps-30)->_OP2, 10b(fps-40)->_OP1
$4923 10b(fps-40)->_OP1
$4927 10b(fps-40)->(de)
$492B 10b(hl-40)->(de) page1
$492F 10b(fps-50)->_OP1
$4933 10b(fps-50)->(de)
$4937 10b(hl-50)->(de) page1
$493B 10b(fps-70)->_OP1
$493F 10b(fps-80)->_OP1
$4943 10b(fps-90)->_OP1

Why? Cause my Asm FAQ rules...and I am not even done yet

Later,
    Matt