Continuous signal assignment is done by the assign primitive:
assign signal_a = signal_b;
Assignments can be concatenated using {}, for example:
assign {bit_a, bit_b} = 2'b01;
is equal to
assign bit_a = 1'b0;
assign bit_b = 1'b1;
You can use boolean and arithmetic operations in the assignment
The basic arithmetic operators are pretty standard: +, - *, /, %, <<, >> etc
Now the adder should be ready to be simulated. To drive the inputs, you can use the adder.do file in your ex_systemverilog/sim folder.
Compile the design as you did for the hello module
Simulate with:
$ vsim -do sim/adder.do adder
(Helpful?) Tips / good practices / conventions
Between sessions you lose the "sourced" paths so if you get an error that the run script cannot find the compiler/simulator run the sourcing script as before
Always comment what you're doing in the code! Commenting in SystemVerilog works as in C/C++ i.e. // or /* ... */
Remember to indent the code and use descriptive variable/class names (as in the given code package or some other sensible way..), readibility is nice.