Pārlūkot izejas kodu

forth: Forth-ify "SCMP"

pull/95/head
Virgil Dupras pirms 4 gadiem
vecāks
revīzija
7c9d799d93
3 mainītis faili ar 17 papildinājumiem un 17 dzēšanām
  1. Binārs
      emul/forth/z80c.bin
  2. +5
    -17
      forth/forth.asm
  3. +12
    -0
      forth/z80c.fs

Binārs
emul/forth/z80c.bin Parādīt failu


+ 5
- 17
forth/forth.asm Parādīt failu

@@ -122,6 +122,8 @@ LIT:
.dw litWord
.dw INITIAL_SP
.dw WORDBUF
jp flagsToBC
jp strcmp

; *** Code ***
forthMain:
@@ -180,7 +182,7 @@ INTERPRET:
.dw DROP
.dw EXECUTE

.fill 56
.fill 50

; STABLE ABI
; Offset: 00cd
@@ -980,25 +982,11 @@ PLUS:
push hl
jp next

.fill 18

; ( a1 a2 -- b )
.db "SCMP"
.dw $-PLUS
.db 4
SCMP:
.dw nativeWord
pop de
pop hl
call chkPS
call strcmp
call flagsToBC
push bc
jp next
.fill 42

; ( n1 n2 -- f )
.db "CMP"
.dw $-SCMP
.dw $-PLUS
.db 3
CMP:
.dw nativeWord


+ 12
- 0
forth/z80c.fs Parādīt failu

@@ -254,3 +254,15 @@ CODE (resSP)
( INITIAL_SP == JTBL+28 )
SP JTBL 28 + @ LDdd(nn),
;CODE

CODE SCMP
DE POPqq,
HL POPqq,
chkPS,
( JTBL+35 == strcmp )
JTBL 35 + CALLnn,
( JTBL+32 == flagsToBC )
JTBL 32 + CALLnn,
BC PUSHqq,
;CODE


Notiek ielāde…
Atcelt
Saglabāt