MPI Tutorial 6
20.02.2024
21.02.2024
22.02.2024
26.02.2024
Problem 1
Q1. Find the results and the state of the flags CF, ZF and OF after
executing the following instructions.
Given AX = 008CH, BX = 345EH, CX = 67EBH
i. AND BL,CL
ii. OR AH,BH
iii. XOR AL,CH
iv. TEST AH,BL
ELECTRICAL ELECTRONICS COMMUNICATION INSTRUMENTATION
SOLUTION
1.i. BL = 0101 1110 iii. AL = 1000 1100
CL = 1110 1011 CH = 0110 0111
---------------------- ---------------------
BL = 0100 1010 AL = 1110 1011
CF = 0, ZF = 0, OF = 0 CF = 0, ZF = 0, OF = 0
ii. AH = 0000 0000 iv. AH = 0000 0000
BH = 0011 0100 BL = 0101 1110
-------------------- ------------------------
AH = 0011 0100 No change of contents in AH and BL.
CF = 0, ZF = 0, OF = 0 CF = 0, ZF = 1 (as AND operation
outcome is ZERO), OF = 0
ELECTRICAL ELECTRONICS COMMUNICATION INSTRUMENTATION
Problem 2
Q2. Find out the content of AL after executing each line of this
ALP.
MOV AL,8AH
SHL AL,1
ADC AL,0
SAL AL,1
SHR AL,1
ADD AL,80H
SAR AL,1
ELECTRICAL ELECTRONICS COMMUNICATION INSTRUMENTATION
Solution
MOV AL,8AH ;AL = 8AH
SHL AL,1 ;AL = 14H
ADC AL,0 ;AL = 15H
SAL AL,1 ;AL = 2AH
SHR AL,1 ;AL = 15H
ADD AL,80H ;AL = 95H
SAR AL,1 ;AL = CAH
ELECTRICAL ELECTRONICS COMMUNICATION INSTRUMENTATION
Problem 3
Q5. Find out the content of AL after executing the given ALP.
a. b.
MOV AL,14H MOV AL,39H
MOV BL,29H MOV BL,48H
ADD AL,BL
ADD AL,BL
DAA
DAA
ELECTRICAL ELECTRONICS COMMUNICATION INSTRUMENTATION
Solution
a.
MOV AL,14H
MOV BL,29H
ADD AL,BL ;AL = 3DH
DAA ;AL = 43H, 0110b is added to the lower nibble of 3DH as D>9.
b.
MOV AL,39H
MOV BL,48H
ADD AL,BL ;AL = 81H
DAA ;AL = 87H, 0110b is added to the lower nibble as auxiliary carry
;flag AF is set during addition of lower nibbles (9H + 8H).
ELECTRICAL ELECTRONICS COMMUNICATION INSTRUMENTATION
Problem 4
Q4. Find out the content of CL and Carry Flag (CL) after executing the
given ALP. b.
a. MOV AL, 08H
MOV AL, 10H MOV BL, 10H
MOV BL, 08H NEG BL
NEG BL ADD AL, BL
ADD AL, BL JC L1
JC L1 NEG AL
NEG AL
L1:
L1: MOV CL, AL
MOV CL, AL
8
ELECTRICAL ELECTRONICS COMMUNICATION INSTRUMENTATION
Solution
a.
MOV AL, 10H
MOV BL, 08H
NEG BL ;BL = F8H
ADD AL, BL ;AL = 08H, CF = 1
JC L1
NEG AL ;AL = 08H
L1:
MOV CL, AL ;CL = 08H , CL is the answer as CF = 1
b.
MOV AL, 10H
MOV BL, 08H
NEG BL ;BL = F0H
ADD AL, BL ;AL = F8H, CF = 0
JC L1
NEG AL ;AL = 08H
L1: 9
MOV CL, AL ;CL = 08H, negative of CL is the answer as CF = 0
ELECTRICAL ELECTRONICS COMMUNICATION INSTRUMENTATION
Problem 5
Q5. Using string instructions, write a program in 8086 ALP to check
if two strings stored in the memory are equal. If the two strings are
equal, store 1 in the AL register, and store 0 in the AL register, if
not.
Calculate the length of the given strings in
(i) bytes,
(ii) word, and,
(iii) double-word.
10
ELECTRICAL ELECTRONICS COMMUNICATION INSTRUMENTATION
Solution
.model small JE L1 Length of STR1 is
.data MOV AL, 0 (i) 11 bytes
STR1 DB “BITS-PILANI” JMP L2 (ii) ceil(11/2) = 6 words
STR2 DB “BITS PILANI.” L1: (iii) ceil(11/4) = 3 double-words
.code MOV AL, 1
Length of STR2 is
.startup L2:
(i) 12 bytes
CLD END
(ii) ceil(12/2) = 6 words
LEA SI, STR1 (iii) ceil(12/4) = 3 double-words
LEA DI, STR2
MOV CX, 11 Note: Ceil(x) returns the smallest
REPE CMPSB integer that is greater than or equal
to x.
11
ELECTRICAL ELECTRONICS COMMUNICATION INSTRUMENTATION