You are on page 1of 11

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

You might also like