I'm using HLA, and don't understand this instruction:
shl( 5, ax )
I'd like detail on what this instruction is doing.
This instruction means that the number in ax will be bit shifted left by 5 bits and filled with zero:
Before the shift: ax = 1111 1111 1111 1111 b
After the shift: ax = 1111 1111 1110 0000 b
In arithmetic terms it means multiplying ax by 2^5=32 because one shift is equal to multiplying by 2.
Also, if you want to learn assembly language, don't use HLA. Use FASM or NASM instead. This way you will get much more help from the community.