diff --git a/src/p_tos.cpp b/src/p_tos.cpp index 25992208..6f0f0593 100644 --- a/src/p_tos.cpp +++ b/src/p_tos.cpp @@ -223,6 +223,7 @@ static unsigned OP_MOVEQ(int value, int d_reg) static unsigned OP_SUBQ_L(int value, int d_reg) { + // subq.l #X,d0 assert(value >= 1 && value <= 8); assert(d_reg >= REG_D0 && d_reg <= REG_D7); return 0x5180 | ((value & 7) << 9) | (d_reg & 7); @@ -230,6 +231,7 @@ static unsigned OP_SUBQ_L(int value, int d_reg) static unsigned OP_SUBQ_W(int value, int d_reg) { + // subq.w #X,d0 assert(value >= 1 && value <= 8); assert(d_reg >= REG_D0 && d_reg <= REG_D7); return 0x5140 | ((value & 7) << 9) | (d_reg & 7); diff --git a/src/stub/l_tos.s b/src/stub/l_tos.s index d98446d1..1c8d81c6 100644 --- a/src/stub/l_tos.s +++ b/src/stub/l_tos.s @@ -103,7 +103,7 @@ p_env equ $2c ; .l pointer to environment string ; Ssystem(S_FLUSHCACHE, base, length) - inside the kernel this ; is called `cpush(base, length)'. -; returns: d0.l should be either 0 or -32 (== ENOSYS == EINVFN) +; returns: d0.w should be either 0 or -32 (== ENOSYS == EINVFN) ; Available since FreeMiNT 1.15.1 (1999-04-13). ; ; Note that on a 68060 FreeMiNT just uses `cpusha bc' in all cases, @@ -391,7 +391,7 @@ L(loop): move.l d3,(a6)+ ; info: ; This is also called as a subroutine (before decompression, NOT running ; in the stack). When running in the stack the `rts' is replaced by a `nop'. -; + flush_cache: FLUSH_CACHE flush_cache_rts: @@ -410,7 +410,6 @@ flush_cache_rts: ; ------------- clear the dirty stack #if 0 -;;; /* 0 || defined(FLUSH_CACHE) */ ; better don't do this - we are currently running in the stack ; and don't want to make yet another instruction-cache-line dirty