version 1.94, 2002/06/02 21:19:09
|
version 1.96, 2002/08/19 07:38:15
|
Line 182 SET_IP((Xt *)(((Cell)(IP-1))+ndisp));
|
Line 182 SET_IP((Xt *)(((Cell)(IP-1))+ndisp));
|
define(condbranch, |
define(condbranch, |
$1 ( `#'ndisp $2 ) $3 |
$1 ( `#'ndisp $2 ) $3 |
$4 SET_IP((Xt *)(((Cell)(IP-1))+ndisp)); |
$4 SET_IP((Xt *)(((Cell)(IP-1))+ndisp)); |
TAIL; |
INST_TAIL; |
} |
} |
SUPER_CONTINUE; |
SUPER_CONTINUE; |
$5 |
$5 |
Line 192 $5
|
Line 192 $5
|
$1-lp+!`#' ( `#'ndisp `#'nlocals $2 ) $3_lp_plus_store_number |
$1-lp+!`#' ( `#'ndisp `#'nlocals $2 ) $3_lp_plus_store_number |
$4 lp += nlocals; |
$4 lp += nlocals; |
SET_IP((Xt *)(((Cell)(IP-2))+ndisp)); |
SET_IP((Xt *)(((Cell)(IP-2))+ndisp)); |
TAIL; |
INST_TAIL; |
} |
} |
SUPER_CONTINUE; |
SUPER_CONTINUE; |
|
|
Line 219 if (f==0) {
|
Line 219 if (f==0) {
|
sp++; |
sp++; |
IF_spTOS(spTOS = sp[0]); |
IF_spTOS(spTOS = sp[0]); |
SET_IP((Xt *)(((Cell)(IP-1))+ndisp)); |
SET_IP((Xt *)(((Cell)(IP-1))+ndisp)); |
TAIL; |
INST_TAIL; |
} |
} |
SUPER_CONTINUE; |
SUPER_CONTINUE; |
|
|
Line 314 nlimit=0;
|
Line 314 nlimit=0;
|
(?do) ( #ndisp nlimit nstart -- R:nlimit R:nstart ) gforth paren_question_do |
(?do) ( #ndisp nlimit nstart -- R:nlimit R:nstart ) gforth paren_question_do |
if (nstart == nlimit) { |
if (nstart == nlimit) { |
SET_IP((Xt *)(((Cell)(IP-1))+ndisp)); |
SET_IP((Xt *)(((Cell)(IP-1))+ndisp)); |
TAIL; |
INST_TAIL; |
} |
} |
SUPER_CONTINUE; |
SUPER_CONTINUE; |
: |
: |
Line 330 SUPER_CONTINUE;
|
Line 330 SUPER_CONTINUE;
|
(+do) ( #ndisp nlimit nstart -- R:nlimit R:nstart ) gforth paren_plus_do |
(+do) ( #ndisp nlimit nstart -- R:nlimit R:nstart ) gforth paren_plus_do |
if (nstart >= nlimit) { |
if (nstart >= nlimit) { |
SET_IP((Xt *)(((Cell)(IP-1))+ndisp)); |
SET_IP((Xt *)(((Cell)(IP-1))+ndisp)); |
TAIL; |
INST_TAIL; |
} |
} |
SUPER_CONTINUE; |
SUPER_CONTINUE; |
: |
: |
Line 346 SUPER_CONTINUE;
|
Line 346 SUPER_CONTINUE;
|
(u+do) ( #ndisp ulimit ustart -- R:ulimit R:ustart ) gforth paren_u_plus_do |
(u+do) ( #ndisp ulimit ustart -- R:ulimit R:ustart ) gforth paren_u_plus_do |
if (ustart >= ulimit) { |
if (ustart >= ulimit) { |
SET_IP((Xt *)(((Cell)(IP-1))+ndisp)); |
SET_IP((Xt *)(((Cell)(IP-1))+ndisp)); |
TAIL; |
INST_TAIL; |
} |
} |
SUPER_CONTINUE; |
SUPER_CONTINUE; |
: |
: |
Line 362 SUPER_CONTINUE;
|
Line 362 SUPER_CONTINUE;
|
(-do) ( #ndisp nlimit nstart -- R:nlimit R:nstart ) gforth paren_minus_do |
(-do) ( #ndisp nlimit nstart -- R:nlimit R:nstart ) gforth paren_minus_do |
if (nstart <= nlimit) { |
if (nstart <= nlimit) { |
SET_IP((Xt *)(((Cell)(IP-1))+ndisp)); |
SET_IP((Xt *)(((Cell)(IP-1))+ndisp)); |
TAIL; |
INST_TAIL; |
} |
} |
SUPER_CONTINUE; |
SUPER_CONTINUE; |
: |
: |
Line 378 SUPER_CONTINUE;
|
Line 378 SUPER_CONTINUE;
|
(u-do) ( #ndisp ulimit ustart -- R:ulimit R:ustart ) gforth paren_u_minus_do |
(u-do) ( #ndisp ulimit ustart -- R:ulimit R:ustart ) gforth paren_u_minus_do |
if (ustart <= ulimit) { |
if (ustart <= ulimit) { |
SET_IP((Xt *)(((Cell)(IP-1))+ndisp)); |
SET_IP((Xt *)(((Cell)(IP-1))+ndisp)); |
TAIL; |
INST_TAIL; |
} |
} |
SUPER_CONTINUE; |
SUPER_CONTINUE; |
: |
: |
Line 2166 Variable UP
|
Line 2166 Variable UP
|
wcall ( u -- ) gforth |
wcall ( u -- ) gforth |
IF_fpTOS(fp[0]=fpTOS); |
IF_fpTOS(fp[0]=fpTOS); |
FP=fp; |
FP=fp; |
sp=(Cell*)(SYSCALL(Cell(*)(Cell *, void *))u)(sp, &FP); |
sp=(Cell*)(SYSCALL(Cell*(*)(Cell *, void *))u)(sp, &FP); |
fp=FP; |
fp=FP; |
IF_spTOS(spTOS=sp[0];) |
IF_spTOS(spTOS=sp[0];) |
IF_fpTOS(fpTOS=fp[0]); |
IF_fpTOS(fpTOS=fp[0]); |