Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-02-02 | sux.h: Add third implementation of the `t()` macro. | mrb0nk500 | |
2022-02-02 | sux.h: Corrected some typos, and fixed some bugs in | mrb0nk500 | |
the bitmasks. | |||
2022-01-29 | sux.h: Added bitmasks for updating the status flags. | mrb0nk500 | |
2022-01-29 | sux.h: Make `msb` non const. | mrb0nk500 | |
2022-01-24 | sux.h: Add bitmasks for writing registers. | mrb0nk500 | |
2022-01-24 | sux.h: Corrected typo in `reg2` initialization. | mrb0nk500 | |
2022-01-24 | sux.h: Add bitmasks for arithmetic operations. | mrb0nk500 | |
2022-01-24 | sux.h: Add bitmasks for register transfers. | mrb0nk500 | |
2022-01-24 | sux.h: Correct typos in bitmasks for register | mrb0nk500 | |
assignments, and for inverting `tmp`. | |||
2022-01-21 | sux.h: Use conditional branch code for unconditional | mrb0nk500 | |
jumps. This gets rid of some code duplication, and is also how `bra` was implemented anyway. So, might as well use it for unconditional jumps too. | |||
2022-01-21 | sux.h: Add bitmask for relative addressing. | mrb0nk500 | |
2022-01-21 | sux.h: Add bitmasks for conditional branches. | mrb0nk500 | |
2022-01-21 | sux.h: Corrected typos in bitmasks that dealt with | mrb0nk500 | |
conditional branches. | |||
2022-01-21 | opcode-bitmask-gen: Add relative addressing to the | mrb0nk500 | |
list of addressing modes. oof, forgot about that until just now. | |||
2022-01-21 | sux.h: Add bitmasks for setting/testing/clearing flags, | mrb0nk500 | |
and for bitwise operations. | |||
2022-01-19 | sux.h: Add bitmask for unconditional jumps. | mrb0nk500 | |
2022-01-19 | sux.h: Add bitmasks for stack related operations. | mrb0nk500 | |
2022-01-19 | sux.h: Make `rs` non const. | mrb0nk500 | |
2022-01-19 | sux.h: Set program counter to interrupt vectors, when | mrb0nk500 | |
an interrupt gets triggered. This is done in order to properly use the `read_addr()` function. | |||
2022-01-19 | sux.h: Add bitmasks for writing a value to memory. | mrb0nk500 | |
2022-01-19 | sux.h: Corrected bitmask for `reg = &cpu->a;`. | mrb0nk500 | |
2022-01-19 | opcode-bitmask-gen: Fixed bug that occurred when masking | mrb0nk500 | |
out unwanted bits when inverting the addressing mode bitmask. | |||
2022-01-18 | opcode-bitmask-gen: Invert the addressing mode bitmask | mrb0nk500 | |
after all bits have been found, if inverting is enabled. | |||
2022-01-18 | Add support for getting an inverted addressing mode | mrb0nk500 | |
bitmask in `opcode-bitmask-gen`. | |||
2022-01-18 | Add bitmasks for operations that mogrify (overwrite) | mrb0nk500 | |
memory directly. | |||
2022-01-18 | Add bitmask for instructions that use the processor | mrb0nk500 | |
status register. | |||
2022-01-18 | Remove `pbits` from instruction handler. | mrb0nk500 | |
2022-01-18 | Initialize `tmp`, and `tmp2` to `0`, rather than `-1`. | mrb0nk500 | |
2022-01-18 | Add the rest of the load opcodes to the other register | mrb0nk500 | |
bitmasks. | |||
2022-01-18 | Add `LDA` opcodes to accumulator bitmask. | mrb0nk500 | |
2022-01-16 | Add bitmasks for the registers. | mrb0nk500 | |
2022-01-16 | Fix bug in print_mask() where it'd always use the first | mrb0nk500 | |
instruction entry, rather than the entry of the supplied instruction id(s). | |||
2022-01-14 | Consolidate reading addresses for non-indirect addressing | mrb0nk500 | |
modes into a single block. | |||
2022-01-14 | Add bitmasks for indexing, and indirect addressing. | mrb0nk500 | |
2022-01-14 | Add bitmasks for reading data from memory, and | mrb0nk500 | |
immediate data. | |||
2022-01-14 | Add bitmask for absolute addressing. | mrb0nk500 | |
2022-01-14 | Add a bitmask generator for the new instruction handler | mrb0nk500 | |
macro. This program will help with generating the bitmasks for the instruction handler macro. | |||
2022-01-14 | Start work on new instruction handler macro. | mrb0nk500 | |
This macro will create a function for each opcode, but with only a single block of code for each one. It uses a bitmask (one bit for each opcode) that will evaluate which blocks of code are used by each opcode. The bitmask checks are (usually) evaluated at compile time, which means that each function will only have the blocks that had the bit for that opcode set in the bitmask. | |||
2021-05-09 | Subtract another 16 from the size in clr_arr.HEADmaster | mrb0nk500 | |
This fixes a bug where it would zero out the info of the next malloc'd block. | |||
2021-05-09 | Replace call to memcpy, with call to memcpy_dir. | mrb0nk500 | |
This fixes a bug where when shifting the line left, it would overwrite everything after the cursor with the character at the cursor's position. The reason this was happening is because memcpy copies from start to end, and because the destination is more than one byte ahead of the source, it overwrites the next length source bytes, which will repeat until it's copied n bytes. | |||
2021-05-09 | Add a end to start version of memcpy, and a selectable | mrb0nk500 | |
direction version of memcpy. This can help with some subroutines/functions like shftln, which need to copy data in a certain direction depending on the condition. | |||
2021-05-09 | Add scr_ptr to the list of outputted addresses when in | mrb0nk500 | |
debuging mode. | |||
2021-05-08 | Fixed a bug in print_char caused by not zero extending | mrb0nk500 | |
`b`. | |||
2021-05-08 | Fixed a bug in print_str to do with clobbered | mrb0nk500 | |
registers. This was due to print_char clobbering `d` when calling get_index. | |||
2021-05-08 | Replace get_ctrlidx with get_index in print_char. | mrb0nk500 | |
This helps reduce code duplication, and makes it easier to both read, and add new handlers. | |||
2021-05-08 | Add a new subroutine called get_index. | mrb0nk500 | |
This subroutine gets the index of a given character from a string. This will help in replacing some routines like get_ctrlidx, isdelm, and isdelm2. | |||
2021-05-08 | Get the pointer from the control code handler table | mrb0nk500 | |
using SIB, rather than with lsl. This doesn't increase, or decrease the code size, but does make it both more compact, and easier to read. | |||
2021-05-08 | Replace the old string parsing code in | mrb0nk500 | |
handle_directive() with a call to parse_quote(). This not only reduces code duplication, but also makes it more robust in the process. | |||
2021-05-08 | Add support for saving to a string buffer in | mrb0nk500 | |
parse_quote(). This allows for replacing the string parsing code in handle_directive() with a call to parse_quote(). | |||
2021-05-08 | Rewrite `clr_arr` to use the ortho extension. | mrb0nk500 | |
This makes the code much smaller than the previous version. |