projects
/
rrq
/
jonesforth.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
a7db9b5
)
Fix the flags to ADDSTORE, SUBSTORE and fix dot-quote so it works again with new...
author
rich
<rich>
Fri, 7 Sep 2007 23:40:52 +0000
(23:40 +0000)
committer
rich
<rich>
Fri, 7 Sep 2007 23:40:52 +0000
(23:40 +0000)
Makefile
[new file with mode: 0644]
patch
|
blob
jonesforth.S
patch
|
blob
|
history
diff --git a/Makefile
b/Makefile
new file mode 100644
(file)
index 0000000..
9385631
--- /dev/null
+++ b/
Makefile
@@ -0,0
+1,7
@@
+# $Id: Makefile,v 1.1 2007-09-07 23:40:52 rich Exp $
+
+all:
+ gcc -m32 -nostdlib -static -Wl,-Ttext,0 -o jonesforth jonesforth.S
+
+run:
+ ./jonesforth
\ No newline at end of file
diff --git
a/jonesforth.S
b/jonesforth.S
index 4277547e95f76aed79244fd108fb2008a0d56991..9a67b5dafe37fb8186eda5b5d02a08c0869ed395 100644
(file)
--- a/
jonesforth.S
+++ b/
jonesforth.S
@@
-317,13
+317,13
@@
var_\name :
push %eax // push value onto stack
NEXT
push %eax // push value onto stack
NEXT
- defcode "+!",2,ADDSTORE
+ defcode "+!",2,
,
ADDSTORE
pop %ebx // address
pop %eax // the amount to add
addl %eax,(%ebx) // add it
NEXT
pop %ebx // address
pop %eax // the amount to add
addl %eax,(%ebx) // add it
NEXT
- defcode "-!",2,SUBSTORE
+ defcode "-!",2,
,
SUBSTORE
pop %ebx // address
pop %eax // the amount to subtract
subl %eax,(%ebx) // add it
pop %ebx // address
pop %eax // the amount to subtract
subl %eax,(%ebx) // add it
@@
-943,7
+943,7
@@
buffer:
DUP '\"' <>
WHILE
HERE @ !b \\ store the character in the compiled image
DUP '\"' <>
WHILE
HERE @ !b \\ store the character in the compiled image
-
HERE 1
+! \\ increment HERE pointer by 1 byte
+
1 HERE
+! \\ increment HERE pointer by 1 byte
REPEAT
DROP \\ drop the double quote character at the end
DUP \\ get the saved address of the length word
REPEAT
DROP \\ drop the double quote character at the end
DUP \\ get the saved address of the length word