What is the reason to use HAL? Select all that applies.
A. It makes the code more readable.
B. It makes the code easier to port from one processor to another.
C. It reduces the size of the machine code binary after compilation.
D. It improves the efficiency of the program (e.g. it becomes faster or uses fewer resources.)