5 ms·
I didn't dive into that but yes, Tek4404 runtime seems to trash d2 and a2 so I had to cross compile with those marked as scratch registers.
by elektraglide 2y ago
I didn't dive into that but yes, Tek4404 runtime seems to trash d2 and a2 so I had to cross compile with those marked as scratch registers.
- bcrl 2y agoI was referring to gcc bugs. Doing Linux kernel development 20+ years ago certain complex functions with lots of register spills would occasionally trip up gcc's register allocator on i386. Architectures with more registers and less complex constraints on how they were used would not trigger those bugs as frequently. Eventually, gcc got better and those kinds of bugs went away, but I got to spend many hours looking at the assembly gcc produced and raw Oopsen.
- dmitrygr 2y agoThere is a branch of m68k GCC still alive and maintained today that supports palmos calling convention which is similar to this but not the same: d0-d2/a0-a1 are not preserved.