05-04-2015, 08:50 PM
boriel Wrote:Could be. PAUSE statement uses ROM PAUSE implementation which relays on interruptions.
This could also indicate a problem with interruptions (EI, DI), vector interruptions, etc.
I usually used EmuZWin with its integrated debugger to debug the asm code generated by the compiler, BTW.
OK, I understand.
But going back to the previous question:
boriel Wrote:Sinclair Wrote:Is there any way that a program in ZX BASIC returns a value?This case is the same as in normal machine code. The value you can return is always a 16 bit integer stored in the BC register.
That I need is, once end my program this return a value to the +3 BASIC as in the following example:
Code:10 LOAD "program.bin" CODE 32768
20 LET r = USR 32768
30 PRINT r
Thank you.
You can use END for that:
END 27613
Other than that, you must store the result in RAM and BASIC must PEEK from there.
Which is the reason for which this program always returns on the r variable of the Sinclair BASIC the value 10027 and not the N value of the ZX BASIC?
Code:
dim N as uinteger = 12345
end N
![[Image: FootSign.jpg]](http://retrocomputing.esy.es/images/FootSign.jpg)