The set of files in this directory are provided to show how the DVASM RISC-V AVL.INSERT and AVL.REMOVE macros are used. Also corresponding C functions are provided for performance comparison. File dvasmavlinsrem.asm has two entry points, one to insert a record in an AVL tree, and the other to remove a record from an AVL tree. File dvasmavlinsrem.c is the corresponding main function that generates the data to be inserted, and later, optionally, removed. The data generated is a set of AVL tree nodes, each with a pointer pointing to a null terminated string. Nodes are inserted in the AVL tree so that the corresponding string are in ascending sorted order. File sunavlinsrem.c generated the same data as dvasmavlinsrem.c but uses the functions in file avl.c to insert the nodes in an AVL tree. File avl.c conatins a set of functions to insert, remove, etc. a node in an AVL tree, and it is part of the SUN Solaris OS. Both files dvasmavlinsrem.c and sunavlinsrem.c have several #defines that control the ammount of data generated, how many times to iterate the sort, and if to print the structure of the AVL tree at completion. When using the same #defines setting for the same files, the output from both should be exactly the same and can be checked using the diff command. To assemble file dvasmavlinsrem issue the following command: java -jar dvasm-jar_file_name.jar *.asm To compile the dvasmavlinsrem.c main function file issue the following command: gcc -03 dvasmavlinsrem.c dvasmavlinsrem.o -o dvasmavlinsrem Every time you change any of the #defines controlling the behavior of dvasmavlinsrem.c the above command must be issued again. To compile the sunavlinsrem.c main function file issue the following command: gcc -03 sunavlinsrem.c avl.c -o sunavlinsrem Every time you change any of the #defines controlling the behavior of sunavlinsrem.c the above command must be issued again.