diff --git a/test/riscv_instructions/.gitignore b/test/riscv_instructions/.gitignore index 140fad6..6c5f286 100644 --- a/test/riscv_instructions/.gitignore +++ b/test/riscv_instructions/.gitignore @@ -1,5 +1,6 @@ * !.gitignore !*.c +!*/ !*.md !**/Makefile \ No newline at end of file diff --git a/test/riscv_instructions/Makefile b/test/riscv_instructions/Makefile index 7c9a691..029a205 100644 --- a/test/riscv_instructions/Makefile +++ b/test/riscv_instructions/Makefile @@ -2,18 +2,22 @@ build: make build -C boolean_logic/ make build -C jump_instructions/ make build -C simple_arithmetics/ + make build -C syscall_tests/ dumps: make dumps -C boolean_logic/ make dumps -C jump_instructions/ make dumps -C simple_arithmetics/ + make dumps -C syscall_tests/ tests: make tests -C boolean_logic/ make tests -C jump_instructions/ make tests -C simple_arithmetics/ + make tests -C syscall_tests/ clean: $(MAKE) clean -C boolean_logic/ $(MAKE) clean -C jump_instructions/ - $(MAKE) clean -C simple_arithmetics/ \ No newline at end of file + $(MAKE) clean -C simple_arithmetics/ + $(MAKE) clean -C syscall_tests/ \ No newline at end of file diff --git a/test/riscv_instructions/syscall_tests/Makefile b/test/riscv_instructions/syscall_tests/Makefile new file mode 100644 index 0000000..62b3741 --- /dev/null +++ b/test/riscv_instructions/syscall_tests/Makefile @@ -0,0 +1,16 @@ + +PROGRAMS = halt prints + +build: $(PROGRAMS) + +dumps: halt.dump prints.dump + +tests: halt.guac prints.guac + +clean: + $(RM) halt.o halt prints prints.o + +TOPDIR = ../.. +include $(TOPDIR)/Makefile.tests + +$(PROGRAMS): % : $(USERLIB)/sys.o $(USERLIB)/libnachos.o %.o \ No newline at end of file diff --git a/test/riscv_instructions/syscall_tests/halt.c b/test/riscv_instructions/syscall_tests/halt.c new file mode 100644 index 0000000..7b3cd62 --- /dev/null +++ b/test/riscv_instructions/syscall_tests/halt.c @@ -0,0 +1,7 @@ + +#include "userlib/syscall.h" + +int main() { + Shutdown(); + return 0; +} \ No newline at end of file diff --git a/test/riscv_instructions/syscall_tests/prints.c b/test/riscv_instructions/syscall_tests/prints.c new file mode 100644 index 0000000..c2f296a --- /dev/null +++ b/test/riscv_instructions/syscall_tests/prints.c @@ -0,0 +1,10 @@ +#include "userlib/syscall.h" +#include "userlib/libnachos.h" + +int main() { + n_printf("Hello World 1"); + n_printf("Hello World 2"); + n_printf("Hello World 3"); + n_printf("Hello World 4"); + return 0; +} \ No newline at end of file