Driving with and without clocking blocks

In reply to nipradee:

According to section 14.16 Synchronous drives in the IEEE 1800-2017 LRM, output drives to nets act as continuous assignments, and output drives to variables act as procedural assignments.

“reg” is a datatype that is usually associated with a variable. See What's the deal with those wire’s and reg’s in Verilog - Verification Horizons .