summary refs log tree commit diff
AgeCommit message (Collapse)Author
2025-10-23a convenience macro for word headersIrene Knapp
Force-Push: yes Change-Id: Ifda1a168808d541f8899a06d39bb9d13733dbadc
2025-10-23pick a header format, document itIrene Knapp
also all the existing stuff has word headers now. it doesn't need them to run, it just has them anyway. and EXIT was moved after DOCOL because it feels poetic that DOCOL is the first Forth word in the file Force-Push: yes Change-Id: I592445310712bfde42fde8cffd7bc672f16c4e6c
2025-10-20implement Forth EXITIrene Knapp
this is the final word called by interpreted words, to return Force-Push: yes Change-Id: I8301fa31009915e4beb069664c9bd16cdf33d879
2025-10-20woooooo successful debuggingIrene Knapp
it turns out things are real enough now that we can't just scribble wherever :) Change-Id: I26c71beaaefecae018ebb3ced4f1f579879a030a Force-Push: yes
2025-10-19it does threaded execution now!!!!!!!!Irene Knapp
this is the core Forth thing, or a large part of it Force-Push: yes Change-Id: Id15cf5289cb7b41e0ea824ef68791f663c2f90e6
2025-10-19much closer to being able to move to threaded executionIrene Knapp
not quite, but very very near Force-Push: yes Change-Id: I79ae9f2970e4d7263db5c511e3a5398c22c4771c
2025-10-19there was an important bug in mov.qreg.disp8.bimmIrene Knapp
it was using rax as an index register, when it should have been using no index register. this was working by coincidence, because rax was zero, but now it's not. yay fixed! there's also lots of decisions made and documented about the execution model, but they're only part-implemented and I wouldn't be checking them in right now if that were all that's new Force-Push: yes Change-Id: Ie8f64914484cd405272d640feeb1cf586ad915d7
2025-10-19rename a bunch of instructionsIrene Knapp
this is just cleanup. once they're all named in a uniform way, it will make sense to write higher-level wrappers around them... Force-Push: yes Change-Id: Id110111d7cd0bf936de8f101cf6886513e1cca84
2025-10-19add extensive documentation on the execution modelIrene Knapp
implement some of the earliest Forth loading stuff, following Jonesforth closely the Forth memory space isn't totally set up yet - we are going to use the data segment after all, though it won't be heap-ish really. everything up through _start is ready for Forthy-y use though, and it does `cld` besides. Force-Push: yeah Change-Id: Ibd12223f304aff71f4e78744f7a9da09b9072a45
2025-10-18Add documentation! Yay :)Irene Knapp
This also gets rid of the `load_origin` variable, it was redundant with flatassembler's `$$` feature. Force-Push: yes Change-Id: I0abc4cf8da65fcb443220e70b69267919ca43ba7
2025-10-11generalized mov.qreg.qregIrene Knapp
Force-Push: yes Change-Id: I668a2738ac19e98dd30c58964ba4c6706613ea7d
2025-10-11write better comments in exit-code.gnu.asmIrene Knapp
as part of the process of not having to think about it anymore now that it has served its purpose Force-Push: yes Change-Id: I8f39548fcd3aa08e6415a82b8b7452620ba9c0e5
2025-10-11comment the code in preparation for restructuring itIrene Knapp
Force-Push: yes Change-Id: I561d5fbb35db97b9d236a159c6c888b0651248c3
2025-10-11add a disassemblerIrene Knapp
Force-Push: yes Change-Id: I63aa267c5d0f4229079d77900eed82435a8a8dcb
2025-10-11clean up mnemonics a bitIrene Knapp
Force-Push: yes Change-Id: I71ad8876fa9c0bdae9c12f1661b084918a1cb61d
2025-10-11use qwordreg in another placeIrene Knapp
Force-Push: yes Change-Id: I0d328c24639b993f8140b18b7b3d4efa450c33c7
2025-10-10sorta outputs itself, but it reads too much of itself to do that, but very ↵Irene Knapp
good progress Force-Push: yeah Change-Id: I14fdd705643af7ae23ea75c778e9671d3787e0e6
2025-10-05hello works! yayIrene Knapp
Force-Push: yes Change-Id: I6c70991d16bd27da2b75ee0666203f043714a685
2025-10-05yay the earliest examples are in a solid stateIrene Knapp
Force-Push: yes Change-Id: I7111b9a9ed3cb5c5cf162af336b2278cf5850b76
2025-10-05initial template stuffIrene Knapp
Force-Push: yes Change-Id: I9609c8cbf988c3b8998f92e1d725d29be97c04b7
2025-10-05return an exit codeIrene Knapp
by doing syscall exit() Force-Push: yes Change-Id: I1ee64ec951ae9b52e4fdaf16325e22a2d7556adf