Commit Graph

94 Commits

Author SHA1 Message Date
sBubshait
954be5f8f4 Update structure to a binary and machine util and a64inst modules 2024-06-12 15:55:15 +01:00
sBubshait
c4e3493fdc Split utils into machine_util and binary_util modules 2024-06-11 22:40:36 +01:00
sBubshait
a42576b4ed Restructing, keeping all emulator modules in emulator directory 2024-06-07 18:08:33 +01:00
sBubshait
46da019131 Remove No longer used files 2024-06-07 17:54:09 +01:00
sBubshait
2e5ecb175f Merge branch 'emulator' into emulator-s 2024-06-07 17:52:29 +01:00
sBubshait
8893b62a18 Add storeMemory utility function and used it to fix a prev bug 2024-06-06 16:38:01 +01:00
sBubshait
b16fe2bee3 Fixed Bug: Struct Undefined Behaviour Due to Unguarded Access 2024-06-06 16:34:38 +01:00
sBubshait
4689aba219 Fix Bug: Fixed Post Indexed SDT to save AFTER the transfer 2024-06-06 16:31:59 +01:00
sBubshait
efca820fbf Fix Bug: Sign Extend SDT instrs instead of unsigned 2024-06-06 16:29:50 +01:00
sBubshait
059a3e747c Paranthesis for ROR instruction for readability 2024-06-06 16:25:17 +01:00
Themis Demetriades
16efa0b3c8 Replaced type used in execute to be platform independent 2024-06-06 13:53:28 +01:00
Themis Demetriades
77cea8730a Fix getMSB function to only return 0 or 1 2024-06-06 13:47:01 +01:00
Themis Demetriades
c2844ce0ec Fix V amd C flags for DPI subs instruction 2024-06-06 13:30:47 +01:00
Themis Demetriades
460b19aaf4 Fix ROR shift logic 2024-06-06 13:19:36 +01:00
sBubshait
d73111515e Fix Overflow handling in Subtraction DP Register, w/ T 2024-06-06 00:47:06 +01:00
Themis Demetriades
95c74964b3 Fix movk to not overwrite entire register for large scalars w/ S 2024-06-06 00:35:48 +01:00
sBubshait
7b1e6314a7 Fix Subs handling of carry PSTATE condition code, w/ T 2024-06-05 23:58:56 +01:00
Themis Demetriades
40c5fac9f6 Fixed bug with movk overwriting wrong bits w/ S 2024-06-05 23:43:36 +01:00
sBubshait
a3dd809437 Update execute, implemented the store instrs, w/ T 2024-06-05 23:30:20 +01:00
Themis Demetriades
75a8d79bb4 Changed order of operations for DPR logic instructions w/ S 2024-06-05 23:19:53 +01:00
Themis Demetriades
dd472117aa Add negation for second operand in DPR instructions w/ S 2024-06-05 22:50:04 +01:00
Themis Demetriades
cc62168d43 Remove debugging code w/ S 2024-06-05 22:23:51 +01:00
Themis Demetriades
294b03ddde Added ability to write to zero register (discard) w/ S 2024-06-05 22:21:32 +01:00
sBubshait
14fbb7e4fc Fix Bug: Struct was not being changed because it wasn't a ptr, w/ T 2024-06-05 21:31:41 +01:00
sBubshait
5bb7d86156 Fix syntax, add new line in end of file and # before include, w/ T 2024-06-05 21:30:41 +01:00
sBubshait
b3ccee44bb Change enum values in DP Register to match the spec, w/ T 2024-06-05 21:23:52 +01:00
Themis Demetriades
120b492a48 Added structs to represent labels and directives for assembler 2024-06-05 20:54:22 +01:00
sBubshait
379dedc6ce Add execution of Multiply DP Register Instructions, w/ T 2024-06-05 20:25:47 +01:00
sBubshait
9ea494acfc Fix branch enum numbering to match the spec, w/ T 2024-06-05 20:14:12 +01:00
Themis Demetriades
024044afc7 Add decode and execute structure for DPI instructions w/ S 2024-06-05 20:11:56 +01:00
Themis Demetriades
8b0bb1888b Changed constant name for 64 bit register type w/ S 2024-06-05 20:00:25 +01:00
Themis Demetriades
93031e82e0 Complete decode for DPR instructions and complete their IR 2024-06-05 16:38:13 +01:00
Themis Demetriades
ff25680455 Update names of decode SDT constants to follow style 2024-06-05 14:00:49 +01:00
Themis Demetriades
2402e3d268 Update DPR type instruction IR operand field name 2024-06-04 15:41:58 +01:00
Themis Demetriades
bb6fa95ade Add DPR type instruction data to IR of a64 instructions 2024-06-04 15:09:53 +01:00
Themis Demetriades
d6b551c190 Fix function that updates N and Z flags of processor w/ S 2024-06-04 13:24:31 +01:00
sBubshait
c6574b72f8 Fix Bug In Unsigned Offset SDT, multiply correctly, w/ T 2024-06-03 22:40:31 +01:00
Themis Demetriades
efc8c087f9 Fixed bug with size of immediate values for emulator w/ S 2024-06-03 22:37:58 +01:00
sBubshait
be6b0cf429 Fix Bug in Print.c to print Hex instead of decimal, w/ T 2024-06-03 22:33:40 +01:00
sBubshait
d290201004 Fix print bug, fix portability issue, w/ T 2024-06-03 22:30:07 +01:00
sBubshait
d9562521ca Fix print format bug, it used to only print lower 32 bits, w/ T 2024-06-03 22:13:46 +01:00
sBubshait
900091f798 Fix getBits Bug when wanted bit is last bit, w/ T 2024-06-03 21:47:14 +01:00
Themis Demetriades
b19649192a Fix bug with execute immediate value not being shifted w/ S 2024-06-03 20:49:21 +01:00
Themis Demetriades
5afcb8ef63 Fix redeclaration of variable in execute w/ S 2024-06-03 20:40:05 +01:00
sBubshait
20557a14eb Fix emulate so not increment PC if branch inst, w/ T 2024-06-03 20:34:14 +01:00
Themis Demetriades
851a54a51e Complete DPI execute function w/ S 2024-06-03 19:35:21 +01:00
Themis Demetriades
d9276899e4 Fixed register print representation and condition func check w/ S 2024-06-03 18:14:04 +01:00
sBubshait
5fd5c512e6 Fix emulate to properly initialise state, w/ T 2024-06-03 17:55:54 +01:00
sBubshait
3a20190f4f Add new line in end of files, w/ T 2024-06-03 17:45:07 +01:00
sBubshait
9c299b3be0 Add execute branch instruction, w/ T 2024-06-03 17:43:21 +01:00