(a) Assemble the following instructions and show the changes in given Accumulator register and flags after each instruction execution.
MOV AL, 8Bh ; CF = ?, SF = ?, PF = ?, ZF = ?
ADD AL, 22h ; CF = ?, SF = ?, PF = ?, ZF = ?
AND Al, 1000101b ; CF = ?, SF = ?, PF = ?, ZF = ?
OR Al, 9Ah ; CF = ?, SF = ?, PF = ?, ZF = ?
XOR AL, 10101011b ; CF = ?, SF = ?, PF = ?, ZF = ?
TEST AL, 2 ; CF = ?, SF = ?, PF = ?, ZF = ?
CMP AL, 58 ; CF = ?, SF = ?, PF = ?, ZF = ?
ADC AL, 11110000b ; CF = ?, SF = ?, PF = ?, ZF = ?
SHR AL,2 ; CF = ?, SF = ?, PF = ?, ZF = ?
--------------------------------------------------------------------------------------------
b)
Write a subroutine that can calculate the sum of an array and also save the result into DX.
( Array’s length is 20)
------------------------------------------------------------------------------------------