Aryadev Chavali
90fb9816b4
Added new macro for bitwise comparison construction
...
This pushes a datum of the same type as the operands, which is why it
cannot use the comparator macro as that always pushes bytes.
2023-10-31 22:30:58 +00:00
Aryadev Chavali
5045452d7a
Added flag which forces the printing of hexes
...
Anything other than char (which can just use print.byte to print the
hex) and byte (which prints hexes anyway), all other types may be
forced to print a hex rather than a number if PRINT_HEX is 1.
2023-10-31 22:30:53 +00:00
Aryadev Chavali
d9aaaf2a53
Use macros to stop duplication of code
...
I've made a single macro which defines a function through some common
metric, removing code duplication. Not particularly readable per se,
but using a macro expansion in your IDE allows one to inspect the code.
2023-10-31 21:42:29 +00:00
Aryadev Chavali
5127202722
Introduced 3 new union members to data_t
...
These new members are just signed versions of the previous members.
This makes type punning and usage for signed versions easier than
before (no need for memcpy).
2023-10-31 21:41:53 +00:00
Aryadev Chavali
5202dfbb26
Remove duplicated code
2023-10-31 21:28:19 +00:00
Aryadev Chavali
f7f566b106
Implemented all the comparators
...
So much reused code, I definitely need to find a way to make this cleaner.
2023-10-31 21:24:54 +00:00
Aryadev Chavali
7817b5acc9
Use standardised signed version of word type from base.h
2023-10-31 21:24:50 +00:00
Aryadev Chavali
14a3820e74
Implemented new types of EQ, forced all comparators to push bytes
...
Just need to call their unsigned versions.
All comparators should push bytes as it makes return types uniform.
2023-10-31 21:05:25 +00:00
Aryadev Chavali
036d3dcfba
vm_execute_all: Print every cycle on VERBOSE >= 2, just print final state otherwise
...
Changed VERBOSE checks to ensure a degree of information.
2023-10-31 21:00:13 +00:00
Aryadev Chavali
4d8b855d87
Created routines for new comparator opcodes (not implemented)
...
Will cause error if used currently, which is fine.
2023-10-31 20:59:01 +00:00
Aryadev Chavali
b44a61be41
src->vm, Makefile is now a bit more abstracted and pretty colours
...
Changed folder names for sake of clarity (will be introducing a new
build target soon), and Makefile can now easily support more targets.
2023-10-23 03:58:34 +01:00