Implemented a Forthish interpreter. Developing it alongside Forthish assembler. Thus I can test things right away and then try to work out the ASM kinks. Also making some stack macros, here's one that swaps the top two items of the stack
pop eaxpush long[esp],eaxOf course that assumes that the items you want swapped are 32bitSo ya, never forget that a stack is really just an array bundled with two crude methods. Else you'll waste precious registers doingpop eax,ebxpush ebx,eaxSo ya, I've gotdefun cat 1 2 + ;cat3 4 +Becominginclude 'macro.inc'section '.text' code readable executablemain:jmp MAINfunc_99_97_116:push long 1push long 2stackaddjmp ebpMAIN:mov ebp,FCALL69105jmp func_99_97_116FCALL69105:push 3push 4stackadd.end mainUsing FASM as a backend. Allows for me convert + to stackadd and program stackadd as a FASM macro. Don't mind the newlines, I'm paranoid. And yes, I have a simple macro system (read parameterless token replace) for people who don't like having a jump for every call (Just an extension of how I'm implementing the +,*,-,/,etc stuff)And yay for functions not being allowed to call functions