Commit Graph

107 Commits

Author SHA1 Message Date
Themis Demetriades
9dc460a047 Change directory structure of files w/ S 2024-06-12 19:28:48 +01:00
Themis Demetriades
98a5c8a93c Add comment explaining getField macro in decode w/ S 2024-06-12 19:15:33 +01:00
sBubshait
5013abfe00 Update decode, Restructure and add helper function 2024-06-12 19:07:41 +01:00
Themis Demetriades
24fd0c4ad6 Changed execute function to use function pointer array w/ S 2024-06-12 18:42:32 +01:00
Themis Demetriades
297ec15436 Change name and signature of helper functions to be consistent w/ S 2024-06-12 17:47:37 +01:00
Themis Demetriades
64a9d72806 Change structure of execute module w/ S 2024-06-12 17:44:12 +01:00
sBubshait
9a6d15ce1c Fix Branch Bug to fix infinite loop 2024-06-12 17:11:01 +01:00
Themis Demetriades
a009f43e83 Fixed overflow calculation to account for signed numbers w/ S 2024-06-12 17:09:07 +01:00
Themis Demetriades
e302b21d0e Updated testing script to fix bug with moving file w/ S 2024-06-12 16:19:03 +01:00
Demetriades, Themis
075953b06e Merge branch 'emulator-s' into 'emulator'
Restructuring of files

See merge request lab2324_summer/armv8_43!10
2024-06-12 15:00:27 +00:00
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