summary refs log tree commit diff
AgeCommit message (Collapse)Author
2 daysimplement Forth EXIT HEAD mainIrene Knapp
this is the final word called by interpreted words, to return Force-Push: yes Change-Id: I8301fa31009915e4beb069664c9bd16cdf33d879
2 dayswoooooo successful debuggingIrene Knapp
it turns out things are real enough now that we can't just scribble wherever :) Change-Id: I26c71beaaefecae018ebb3ced4f1f579879a030a Force-Push: yes
2 daysit does threaded execution now!!!!!!!!Irene Knapp
this is the core Forth thing, or a large part of it Force-Push: yes Change-Id: Id15cf5289cb7b41e0ea824ef68791f663c2f90e6
2 daysmuch closer to being able to move to threaded executionIrene Knapp
not quite, but very very near Force-Push: yes Change-Id: I79ae9f2970e4d7263db5c511e3a5398c22c4771c
3 daysthere 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
3 daysrename 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
3 daysadd 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
4 daysAdd 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
11 daysgeneralized mov.qreg.qregIrene Knapp
Force-Push: yes Change-Id: I668a2738ac19e98dd30c58964ba4c6706613ea7d
11 dayswrite 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
11 dayscomment the code in preparation for restructuring itIrene Knapp
Force-Push: yes Change-Id: I561d5fbb35db97b9d236a159c6c888b0651248c3
11 daysadd a disassemblerIrene Knapp
Force-Push: yes Change-Id: I63aa267c5d0f4229079d77900eed82435a8a8dcb
11 daysclean up mnemonics a bitIrene Knapp
Force-Push: yes Change-Id: I71ad8876fa9c0bdae9c12f1661b084918a1cb61d
11 daysuse qwordreg in another placeIrene Knapp
Force-Push: yes Change-Id: I0d328c24639b993f8140b18b7b3d4efa450c33c7
11 dayssorta 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