ARRAY DB 5 DUP (2)
what is the meaning of this expression? what are values inside of ARR?
For operators/directives used by MASM (such as DUP) you can usually find some form of documentation on MSDN. In this case, the relevant page is here.
As the documentation says:
count DUP (initialvalue [[, initialvalue]]...)Specifies
countnumber of declarations ofinitialvalue.
So DB 5 DUP (2) outputs 5 bytes that all have the value 2. ARRAY is just a label so that you have an easy way of referring to those bytes elsewhere in your code.