1. Suppose we pack all three of these numbers into a 16-bit word in the AX register, copying the low order three bits from num1 to bits 13-15 of AX, the low order six bits from num2 to bits 7-12 of AX, and the low order seven bits from num3 to bits 0-6 of AX. If numbers 5, 57, and 111 are at num1, num2, and num3, respectively, what will be in AX after packing? ______________(hex) Show work.
2. Give an 80x86 code fragment that packs all three of these numbers into a 16-bit word in the AX register as described above. Hint: Use logical and shift instructions. Be sure to include appropriate comments.
2. Give an 80x86 code fragment that unpacks the 16-bit number in the AX register into three-bit, six-bit, and seven-bit numbers, padding each value with zeros on the left to make eight bits, and storing the resulting bytes at num4, num5, and num6, respectively.
• The value stored in AX must NOT be altered after unpacking.
• Do NOT use other registers or memory labels.
• Be sure to include appropriate comments.