0% found this document useful (0 votes)
39 views16 pages

Mic 4 Chapter

Notes

Uploaded by

amaninamdar9170
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views16 pages

Mic 4 Chapter

Notes

Uploaded by

amaninamdar9170
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

KHARATACADEMY

Subject - Microprocessor (MIC-224 15)


(IMP Questions with Answers)
SY Diploma- Semester 4
IScheme - MSBTE

Branches:co/CM/w

Chapter 04 - Assembly Language Programming


(Weightage - 20 Marks)

2Marks Questions
1. Write ALP for addition of two 8 bit numbers. Assume suitable data.
R AATC A

OR
Write an ALP to add two 8bit numbers.
Answer:
Model small
.Data
NUM DB 12H
.Code
START:
MOVAX, @DATA
MOV DS,AX
MOV AL, NUM
MOV AH,13H
ADD AL,AH
MOV AH, 4CH
INT 21H
ENDS
END
2. State the use of DAA instruction in BCD addition.
Answer:
The DAA (Decimal Adjust after Addition) instruction makes the result in Packed BCD
from after BCD addition is performed it works only on AL register.
3. Drawmachine language instruction format for Register-to-Register transfer.
Answer:
Microprocessar Page 1
KHARAT ACADEMY
D D, D, D, D, D, D, D D
OP CODE II REG RM

4. Draw flowchart for multiplication of two 16 bit numbers.


Answer
OBMY
START

AXNurn1
BXNurn2

DX, AX (AX)*(BX)

DX MS Word of
Product
AX< LS Word of
Product

|Product J¢ AX
|Produt+1] DX

STOP

4 Marks Questions

5. Write an ALP to add two 16-bit numbers.


Answer:
DATA SEGMENT
NUMBERI DW 6753H
NUMBER2 DW 5856H
SUM DW0
DATAENDS
CODESEGMENT
ASSUME CS: CODE, DS: DATA
Microprocessor Page 2
KHARAT ACADEMY
START: MOV AX, DATA
MOV DS, AX
MOV AX NUMBER1
MOV BX, NUMBER2
ADD AX BX A D E M

MOV SUM, AX
MOV AH, 4CH
INT 21H
CODE ENDS
END STARIT
6. Write an ALP to multiplytwo 16 bit signed numbers.
Answer:
model small
.data
Adb 2222h
Bdb 1111h
Ends
code
Movax,@data
Mov ds,ax
Mov AX,a
Mov BXb
IMul HX
Int0Bh
Ends
End
7.Writean AlPto countodd numbers in the array of10 numbers.
Answer
Model Simall
data
BLK DB 10h,40h,3Oh,60h
e db ?h
o db ?h

Microprocessar Page 3
KHARAT ACADEMY
ends L
.code
mov ax, @data N T A C A D E

mov ds, ax
leasi, BLK
mov bl, 00h
mov bh, 00h
mov cl, 04h
up:mov al, si
ror al, 1

inc bl

jmpnext
go: inc bh
next: inc si
dec cl
jnz up
mov e,bl
mov o,bh
int 3
ends
end
8. Write an ALP to count the number of positive and negative numbers in array.
Answer:
Count Positive No.And Negative No.SInGiven
Array Of 16 Bit No.
;Assume array of 6 no.s
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV DX,0000H
MOV CX,COUNT

Micr oproçessar Page 4


KHARAT ACADEMY
MOV SI, OFFSET ARRAY
NEXT: MOV AX,[SI])
ROR AX01H
JC NEGATIVE
ING DL
JMP COUNT IT
NEGATIVE: INC DH
COUNT IT:INC SI
INC SI D E

LOOP NEXT
MOV NEG COUNT,DL
MOV POS_COUNT, DH
MOV AH4CH
INT 21H
CODE ENDS
DATA SEGMENT
ARRAY DW F423H,6523H,B658H,7612H 2300H,1559H
COUNT DW 06H
POS COUNT DB ?
NEG COUNTDB?
DATA ENDS
END START
9. Write an ALP to find the sum of series. Assume series of 10 numbers.
Answer:
;Assume TEN 8 bit HEX numbers
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA SI,DATABLOCK
MOVCL,0AH
UP:MOV AL,(SI]
ADD RESULT LSB(SI)

Microprocessur Page 5
KHARAT ACADEMY
JNC DOWN
INC REULTMSB
DOWN:INC SI
LOOP UP
CODE ENDS
DATA SEGMENT
DATABLOCK DB 45H,02H,88H,29H,05H,45H,78H, 95H,62H,30H
RESULT LSB DB 0
RESULT MSB DB0
DATAENDS
END
10.Write ALP to count ODD and EVEN numbersin an array.
Answer:
:Count ODD and EVEN No.S In Given ;Array Of 16 Bit No.
Assume arrayof10 no.s
CODESEGMENT
ASSUME CS:cODE,DS:DATA
START: MOV AXDATA
MOV DS,AX MOV DXLO000H
MOV CX,COUNT
MOV SI OEESETARRAY
NEXT: MOV AX,(SI
ROR AX 0LH
JODD1
INC DL
IMPCAOUNTLIT
ODDINC DH
COUNTITNCS
INCSI
LOCP NEXT
MOV ODD_COUNT,DH
MON EVENCNT,DL
MOV AH,ACH
KHARAT ACADEMY
INT 21H
CODE END'S
DATA SEGMENT
ARRAY1 DW F423H, 6523H,B658H, 7612H, 9875H, 2300H, 1559H, 1000H, 4357H,
2981H
COUNT DW OAH
ODD_ COUNT DB ?
EVENCNT DB?
DATA ENDS
END START
11. Write an ALP to find largest number inarray of elements 10H, 24H, 02H, 05H,
17H.
OR
Write an ALP to find largest number in the array.
Answer
DATA SEGMENT
ARRAYDB10H,24H,02H,05H,17H
LARGESTDB O0H
DATA ENDS
CODE SEGMENT
START: ASSUME CS:C0DE.DS:DATA
MOV DX,DATA
MOV DS,DX
MOV CK04H
MOV SI,OFFSET
ARRAY MOV ALISU
UP: INCSI
CMP AL[SI
JNC NEX
MOV AL(SI)
NEXE: DEC CX
JNZ UP
MOV LLAKGESTAL
MOV AX,4C0OH
INT21H
Mjcroprocessgr
KHARAT ACADEMY

CODE ENDS
END START

12. Write ALP to perform block transfer operation of 10 numbers.


Answer
;Assume block of TEN 16 bit no.s A C A D E M
;Data Block Transfer Using String Instruction
CODE SEGMENT
ASSUME CS:CODEDS:DATAES:EXTRA
MOV AX,DATA
MOV DS,AX
MOV AX,EXTRA
MOVES,AX
MOV CX,000AH
LEA SI,BLOCK1
LEA DI,ES:BLOCK2
CLD
REPNZ MOVSW
MOV AX,4COOH
INT 21H
CODE ENDS
DATA SEGMENT
BLOCK1 DW 1001H,4003H,6005H,2307H,4569H, 6123H, 1865H, 2345H,400OH,8888H
DATA ENDS
EXTRA SEGMENT
BLOCK2 DW?
EXTRA ENDS
END
13.Write an ALP to find length of string.
Answer
Data Segment
STRGDB 'GOOD MORNINGS
LEN DB?
DATA ENDS

Migruprecesser Page &


KHARAT ACADEMY
CODESEGMENT
START:
ASSUMECS: CODE, DS: DATA
MOV DX DATA
MOV DS,DX
LEA SI, STRG
MOVCLDOH
MOVAL $'
NEXT: CMP ALJSI
JZ EXIT
ADD CL,01H
INCSI
JMP NEXT
EXIT: MOV LEN,CL
MOV AH,4CH
INT 21H
CODE ENDS
14. Write an AL.P to reverse a string. Also draw flowchart for same.
Answer:
Program:
DATA SEGMENT
STREDB GOOD MORNINGS"
REV DB OFH DUP(?)
DATA ENDS
CODE SEGMENT
START:ASSUME CS:CODEDSDATA
MOV DX,DATA
MOV DS,DX
LEA SI,STRB
MOVCL,OFH
LEA DI,REV
ADD DI,OFH
UP:MOV AL,(SI]
Microproçessar Page 9
KHARAT ACADEMY

MOV DI],AL
INCSI
DEC DI
LOOP UP
MOV AH,4CH
INT 21H
CODEENDS
END START
Fiowchart:
Start

Read the input string

CX ¢Length of string

SI¢Address of the sting


Di=CX+DI

Als)

(DIj-AL

DDN-1

NO
IsDi

YES

Sop
15. Write an ALP to count number of 0" in 8bit muInber.
Answec
MODEL SMALL
DATA
NUM DB 08H
ZEROS DB 00H
CODE
Microprgcessar Puge 10
KHARAT ACADEMY
START:
MOVAX,@DATA
MOV DS,AX
MOV CX D8H;initialize rotation counter by 8
MOV EX, NUM load number in BX
UP: ROR BX 1:rotate number by 1 bitright
CDNbitnotequal to 1then go to DN
INC ZEROS: else increment ZEROS by one
DN: LOOP UP;decrementrotation counterby1andif notzerothengoto up
MOV CX, ZEROS;move result in cx register.
MOV AH, 4CH
INT 21H
ENDS
END; end of program
16. Write an ALP to count no.of 0's in 16 bit number.
Answer:
DATA SEGMENT
N DB 1237H
Z DB 0
DATA ENDS
CODE SEGMENT
ASSUME DS-DATA, Cs:cODE
START:
MOV DX,DATA
MCOVDSX
MOV,AX, N
MOVOL08
NEXTO
ROL AX,01
JCONE
INC Z
ONE: LOOP NEXT
HLT

Microprecessar Page 11
KHARAT ACADEMY
CODE ENDS
END START

6 Marks Questions
CADEM
17. Select an appropriate instructionfor each of the following &write:
(E Rotate the content of DX towrite 2 times without carry
() Multiply content of AX by 06H
(iii) Load 4000H in SP register
(iv) Copythe contents of BX register to CS
(v) Signed division of BL and AL.
(vi) Rotate AX register to right through carry 3 times.
Answer:
()
MOVCL,02 H
ROR DX,CL (OR) ROR DX,03H
(i1) MOV BX,06h
MUL BX
(iii)MOV SP4000H
(iv) The contents if CS register cannot be modified directly, Hence no instructions
are Ised However examiner can give marks if question is attempted.
(v) IDIV BL
(vi) MOV CL03H
RCR AX,CL
(OR)
RCR AXJ03H
18. Select assembly language for each of the following
) rotate register BL right 4 times
) multiply AL by 04H
) Signed division of AX by BL
iv) Move 2000h in BX register
V) increment the counter of AX by 1
vi) compare AX with BX
Answer
i) MOV CL, 04 H
RCL AX, CL1
ii) MOV BL,04h MUL BL
ii) IDIV BL
iv) MOV BX,2000h
v) INC AX
vi) CMP AX,BX
MicraprDceSsar Paga 12
KHARAT ACADEMY
19. Write aninstruction to perfom followingoperations:() Multiply B
(ii) Signed division of AL. by BL (i) Move 4000H to DS register (iv) Rota..
content of AX egister to left mes. () Shift he content of BXegister to
right 3 times.(vi) Load SS with FFOOH.
Answer
(1)Multiply BL by 88h
MOV AL. 88H
MUL BL
(2)Signed division of AL by BL
IDIV BL
(3)Move 4000H to DSregister
MOVDS,4000H
(4) Rotate content of AX register to left 4timnes
MOV CL,04
ROL AX, CL
(5) Shift the content of BX register to right 3times
MOV CL,03H
SHR BX, CL
(6) Load SS with FFOOH
MOV AX, FFOOH
MOV SS, AX
20. Write an ALP to arrange numbers in array in descending order.
Answer
DATASEGMENT
ARRAY DB1SHO5H,08H,78H,56H
DATAENDS
CoDE SEGMENT
START:ASSUME (CS:CODEDS:DATA
MOVDX, DATA
MOVDSDX
MOV BL0sH
STEPL: MOMSLOFFSET ARRAY
MOVCL 04W
STEP MOV A SA
Microprocessor Page 13
KHARAT ACADEMY
19. Write aninstruction to perform following operations: () Multiply BL by 88H
(ii) Signed division of AL by BL (I) Move 4000H to DS register (iv) Rotate
content of AX register to left 4 times. (v) Shift the content of BX register to
right 3 times. vi) Load SS with FF0OH.
Answer
(1)Multiply BLby88h
MOV AL,88H
MUL BL
(2) Signed division f ALbyBL
IDIVBL
(3)Move4000Hto DS register
MOV DS, 4000H
C4)Rotate contentof AX registertoleft4times
MOV CL,04
ROL AX, CL
(5) Shift the content of BX register to right 3 times
MOV CL,03H
SHR BX,CL
(6) Load SS with FFOOH
MOVAX, FFOOH
MOV SS, AX
20. Write an ALP to arrange numbers in array in descending order.
Answec
DATA SEGMENT
ARRAM DB I5H,05H08H78H)56H
DATA ENDS
CODE SEGMEN
SARIASSUME(OS:1ODEDS:DATA
MOVDXDATA
MOV DS.DX
MOVBL.05H
STEP1, MOy sL,OFFSET ARRAY
MOVCL 04H
STEP: MOV AL(SI]
Microprecessar Page 13

KHARATACADEMY
KHARAT ACADEMY
CMP AL,SI+1
JNC DOWN
XCHG AL,[SI+1]
XCHG AL (SIN
DOWN:ADDISI1
LOOPSTEP
DEC BL
NZ STEPA
MOV AH,4CH
INT 21H
CODE ENDS
END START
21. Write an ALP to concatenate two strings.
Answer:
DATA SEGMENT
STR1 DB "hellos"
STR2 DB "world$
DATA ENDS
CODE SEGMENT
START: ASSUME CS: CODE, DS:DATA
MOV AX,@ DATA
MOV DS, AX
MOVSL OFFSET STR1
NEXT: MOV AL, (Sl)
CMP AL'S
JE EXIT
INCSI
JMP NEXT
EXIT: MOVDI, OFFSET STR?
UP: MOV AL, (DI]
CMP AL, "$"
JE EXIT1
MOV (SIJ, AL

Microgrecessar Page 14
KHARAT ACADEMY
INC SI
INC DI
JMP UP
EXIT1:
MOV AL,'S
MOV [SI], AL
MOV AH, 4CH
INT 21H
CODE ENDS
ENDSTART

You might also like