Hello! I'm a beginner of IBM PC assembly language programming and I'm confused with some concepts here so think I need some help. What are 32-bit instructions and what are 16-bit instructions? What is operand-size attribute? And with the MOVSX/MOVZX instrucion, if the destination operand is a 32-bit register and the source operand is a memory location, how does the machine decide whether to read a byte or a word from that location? Thank you in advance!