Update of /cvsroot/win32forth/win32forth-stc/src/kernel
In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv25895/src/kernel
Modified Files:
gkernel.f
Log Message:
arm: correct problems with turnkey; not yet fixed entirely (see optliterals)
Index: gkernel.f
===================================================================
RCS file: /cvsroot/win32forth/win32forth-stc/src/kernel/gkernel.f,v
retrieving revision 1.32
retrieving revision 1.33
diff -C2 -d -r1.32 -r1.33
*** gkernel.f 13 Mar 2007 23:49:34 -0000 1.32
--- gkernel.f 15 Mar 2007 17:55:15 -0000 1.33
***************
*** 5,9 ****
WIN32FORTH EXPERIMENTAL KERNEL
! SKERNEL.F
Version 0.1 15/08/2005 23:09:35
--- 5,9 ----
WIN32FORTH EXPERIMENTAL KERNEL
! GKERNEL.F
Version 0.1 15/08/2005 23:09:35
***************
*** 276,280 ****
image-ksize constant kode-size
image-ksep constant kode-offs
! image-ssize constant sys-size
image-ssep constant sys-offs
\ image-entry constant img-entry \ see after exem, the entry point
--- 276,280 ----
image-ksize constant kode-size
image-ksep constant kode-offs
! image-ssize value sys-size \ changed for turnkey
image-ssep constant sys-offs
\ image-entry constant img-entry \ see after exem, the entry point
***************
*** 2235,2239 ****
: sys-addr? ( a -- f ) \ is it a system address?
! sdp cell+ 2@ swap within ;
: sys-warning-off ( -- ) \ disable warning for use of system words in application
--- 2235,2239 ----
: sys-addr? ( a -- f ) \ is it a system address?
! sdp cell+ @ u> ;
: sys-warning-off ( -- ) \ disable warning for use of system words in application
***************
*** 2387,2394 ****
--- 2387,2396 ----
: xt-rel, ( xt op -- ) code-c, xt-reladdr, ; \ generate opcode and rel adjusted xt
+ \ *enhance if in-application, needs to issue warning if a jump into system space
: xt-jmp, ( xt -- ) $e9 xt-rel, ; \ generate jump to xt on the stack
0 | value tail-call \ see exit for use
+ \ *enhance if in-application, needs to issue warning if a call into system space
: xt-call, ( xt -- ) \ core routine for generation a call
sync-code \ ensure outstanding code generated
***************
*** 3693,3696 ****
--- 3695,3699 ----
if >r 3drop r>
else
+ in-application
rot
align here >r
***************
*** 3700,3703 ****
--- 3703,3707 ----
c, ", 0 c, \ move in name null terminated
r> dup 0winproc \ initialise
+ in-previous
then
dup winproc-last ! proc>ep \ return ep ptr
***************
*** 3761,3764 ****
--- 3765,3769 ----
2drop \ drop unused
else
+ in-application
align
here winlib-last ! \ point last at here
***************
*** 3766,3769 ****
--- 3771,3775 ----
0 , \ the library handle
", 0 c, \ counted string
+ in-previous
then
;
***************
*** 5188,5191 ****
--- 5194,5198 ----
get-section 2>r \ save dp and xdp
in-system fload \ move to in-system
+ in-application \ and back
2r> set-section ; \ and restore dp and xdp
|