Commit Graph

251 Commits

Author SHA1 Message Date
sBubshait
dd7ec0c234 Remove priting statements which were added for debugging 2024-06-16 19:21:28 +01:00
sBubshait
626d4e8e7f Add led_blink program in programs, uses RPI to test assembler 2024-06-16 19:19:28 +01:00
sBubshait
f4a004e17e Fix Bug in Assembler encoding for branch, set correct bits 2024-06-16 18:26:16 +01:00
sBubshait
abe02ecc12 Fix Bug in assembler parser, SDT offset for 32-bit registers 2024-06-16 18:24:41 +01:00
sBubshait
3e0991e257 Update Makefile: Correctly compiles and cleans all subdirectories 2024-06-15 03:44:30 +01:00
sBubshait
3edaa6041b Update test.sh file to clone the repo via HTTP 2024-06-15 03:40:53 +01:00
sBubshait
e66af80187 Merge assembler into master. Fix all conflicts 2024-06-15 03:38:24 +01:00
sBubshait
bdeafcbcc6 Update the assembler file structure into subfolders 2024-06-15 03:03:02 +01:00
sb3923
b725033422 Merge branch 'emulator' into 'master'
Merge emulator into the master branch

See merge request lab2324_summer/armv8_43!19
2024-06-15 01:32:49 +00:00
sBubshait
98196c4578 Document all emulate files 2024-06-15 02:27:01 +01:00
sBubshait
9f31c6306b Update util files for documentation 2024-06-15 02:08:29 +01:00
sBubshait
6de1915dbe Restructure overall assembler. Add string_util and Docs 2024-06-15 01:50:56 +01:00
sBubshait
3501ac93aa Fix Bug in handling zero register in aliases 2024-06-14 21:22:11 +01:00
EDiasAlberto
e5b3f19bec restructure directive parsing into independent function 2024-06-14 21:17:26 +01:00
EDiasAlberto
8bea0d6a6d fix directive operand parsing 2024-06-14 21:15:19 +01:00
sBubshait
ffa798b266 Update parser to correctly classify branch types 2024-06-14 21:01:51 +01:00
EDiasAlberto
f41c7cc749 rewrite address format logic 2024-06-14 20:51:08 +01:00
sBubshait
58371a4fa4 Update parser to correctly handle the zero register 2024-06-14 20:46:35 +01:00
EDiasAlberto
3838227a09 fix ldr parsing 2024-06-14 20:45:07 +01:00
EDiasAlberto
19b98a3c51 handle directive parsing 2024-06-14 20:34:44 +01:00
sBubshait
3b3cda2d26 Fix branch handling, not to multiply by 4 2024-06-14 20:31:08 +01:00
sBubshait
37a9cf0400 Update encode to handle branches with sign extend 2024-06-14 20:20:54 +01:00
EDiasAlberto
4139d7a083 parse loadliteral into modified struct 2024-06-14 20:19:49 +01:00
EDiasAlberto
004ba24b5a parse branch labels and modify load literal struct 2024-06-14 20:18:35 +01:00
EDiasAlberto
5bb68d95e1 adjust branch struct to hold label data 2024-06-14 20:09:14 +01:00
sBubshait
59871d7a0e Restructre first pass, Reimplement symboltable 2024-06-14 20:04:08 +01:00
EDiasAlberto
fd165aae47 create helper function to handle label offsets 2024-06-14 19:55:32 +01:00
EDiasAlberto
16e52a9421 fix directive value parsing 2024-06-14 16:52:48 +01:00
EDiasAlberto
6aa93c79ae fix indexing error with parsing branch operands 2024-06-14 16:42:42 +01:00
Themis Demetriades
94ef67a0a9 Changed include paths to reflect new project structure 2024-06-14 14:47:33 +01:00
sBubshait
d1815c0cce Fix Bug in handling wide moves shift scalar 2024-06-14 02:01:40 +01:00
sBubshait
f3e1c1f150 Add handling of all aliases. Add Shift Utility Function 2024-06-14 02:00:10 +01:00
GDBWNV
0815d5b6f6 fix for widemove 2024-06-13 21:07:58 +01:00
EDiasAlberto
9507180dc9 fix str/ldr classification logic to avoid incorrect array indexing 2024-06-13 20:43:57 +01:00
EDiasAlberto
f5d35ce246 fix classification logic for str/ldr 2024-06-13 20:36:12 +01:00
GDBWNV
3104da7f30 dpr multiply 2024-06-13 20:25:26 +01:00
sBubshait
04df4ea795 Update Parser to fix bug in parsing multiply 2024-06-13 20:06:37 +01:00
EDiasAlberto
6bd993b29e fix dpregister to construct IR 2024-06-13 20:01:35 +01:00
GDBWNV
228bfec612 more changes to wide moves 2024-06-13 19:57:26 +01:00
GDBWNV
9a92efc3f3 changes to wide move 2024-06-13 19:52:53 +01:00
sBubshait
ed6ff9ba92 Update the tokenizer to skip whitespaces 2024-06-13 19:26:40 +01:00
EDiasAlberto
16fb04b737 fix tokenising of dpimmediate shifts 2024-06-13 19:25:22 +01:00
sBubshait
fb15dc90c6 Fix Bug in Parser for an error checking 2024-06-13 19:20:02 +01:00
sBubshait
ded57032ce Update encode for a small bug in the numbering 2024-06-13 19:08:25 +01:00
sBubshait
ba41986b7b Fix Bug in the naming of the file 2024-06-13 19:06:05 +01:00
sBubshait
38951db9c8 Restructure encode into a separate module 2024-06-13 19:04:49 +01:00
EDiasAlberto
664f8e6478 build struct for DPRegister arithmetic 2024-06-13 19:01:39 +01:00
sBubshait
cea9590621 Update Encoding DP Register for readability 2024-06-13 18:40:17 +01:00
EDiasAlberto
873c0b60cb add hex number handling to getoperandnumebrs 2024-06-13 18:37:36 +01:00
Dias Alberto, Ethan
eed22f64d9 Merge branch 'assembler' into 'assembler-e'
# Conflicts:
#   src/parser.c
2024-06-13 16:28:14 +00:00