Sie sind auf Seite 1von 37

MPMC Lab Manual

Department of Electronics and Communication


Engineering
Kuppam Engineering College
Kuppam

List Of Experiments
Module 1
1)

A) Addition Of Two 8-Bit Numbers


B) Subtraction Of Two 8-Bit Numbers

2)

A) Addition Of Two 16-Bit Numbers


B) Subtraction Of Two 16-Bit Numbers

3)

A) Multiplication Of Two 8 -Bit Numbers


B) Multiplication Of Two 16 -Bit Numbers

4)

A) Division Of 16-Bit Number By An 16-Bit Number


B) Division Of 32-Bit Number By An 16-Bit Number

5)

A) Signed Multiplication

6)

A) Ascii Addition

7)

A) Ascii Multiplication

B) Signed Division

B) Ascii Subtraction
B) Ascii Division

Module 2
1. Packed Bcd To Unpacked Bcd
2. Bcd To Ascii Conversion
Module 3
1. Block Move
2. String Reversing: For Any Known Character Length
3. Length Of The String
4. String Comparision
5. String Insertion
6.String Deletion
7. Display The String

Module 4
1. A) Stepper motor interfacing in clockwise direction using 8086
B) Stepper motor interfacing in anticlockwise direction using 8086
2. A) Microcontroller Addition
B) Microcontroller Subtraction
C) Microcontroller Multiplication
D) Microcontroller Division

1. (A) ADDITION OF TWO 8-BIT NUMBERS


AIM: To write an assembly language program to perform addition of two 8-bit signed and
unsigned numbers

RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
Program:
DATA SEGMENT
X DB ?
Y DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START:
MOV AX, DATA
MOV DS, AX
MOV AX,0000H
MOV AL, X
MOV BL, Y
ADD AL, BL
INT 03
CODE ENDS
END START
END
Flags Affected: AF, CF, OF, PF, SF, ZF
Calculations:
SYMBO
L
X
Y

ADDRE
SS
0000
0001

VALUES VALUES
1
2
12
FE
56
03

X = 12H 0001 0010


Y = 56H 0101 0110
--------------------------X+Y
0110 1000 = 68H CF=0
X = FEH 1111 1110
Y = 03H 0000 0011
-------------------------X+Y
0000 0001 = 01H CF=1, AF=1
1. (B) SUBTRACTION OF TWO 8-BIT NUMBERS

AIM: To write an assembly language program to perform subtraction of two 8-bit signed and
unsigned numbers
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
Program:
DATA SEGMENT
X DB (?)
Y DB (?)
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START:
MOV AX, DATA
MOV DS, AX
MOV AX,0000H
MOV AL, X
MOV BL, Y
SUB AL, BL
INT 03
CODE ENDS
END START
END
Flags Affected: AF, CF, OF, PF, SF, ZF
Calculations:
SYMBO
L
X
Y

ADDRE
SS
0000
0001

VALUES VALUES
1
2
7D
02
56
03

X = 7DH 0111 1101


Y = 56H 0101 0110
-------------------------X-Y
0010 0111 = 27H CF=0
X = 02H 0000 0010
Y = 03H 0000 0011
------------------------X-Y
1111 1111 = FFH

CF=1, AF=1, PF=1, SF=1

2. (A) ADDITION OF TWO 16-BIT NUMBERS

AIM: To write an assembly language program to perform addition of two 16-bit signed and
unsigned numbers
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
Program:
DATA SEGMENT
X DW ?
Y DW ?
RES DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START:
MOV AX, DATA
MOV DS, AX
MOV AX, X
MOV BX, Y
ADD AX, BX
MOV RES,AX
INT 03
CODE ENDS
END START
END
FLAGS which may affect: AF, CF, OF, PF, SF, ZF
CALCULATIONS:
SYMBO
L
X
Y
RES

ADDRE
SS
0000
0002
0004

VALUES VALUES
1
2
1234
FDFE
5678
1234

X = 1234H 0001 0010 0011 0100


Y = 5678H 0101 0110 0111 1000
---------------------------------------------

X=
Y=
---------------------------------------

X+Y=

X+Y

CF=

AF=

CF=,

AF=

2(B) SUBTRACTION OF TWO 16-BIT NUMBERS


AIM: To write an assembly language program to perform subtraction of two 16-bit signed and
unsigned numbers
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
Program:
DATA SEGMENT
X DW ?
Y DW ?
RES DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START:
MOV AX, DATA
MOV DS, AX
MOV AX, X
MOV BX, Y
SUB AX, BX
MOV RES,AX
INT 03
CODE ENDS
END START
END
FLAGS which may affect: AF, CF, OF, PF, SF, ZF
Calculations:
SYMBO
L
X
Y
RES
X=
Y=

ADDRE
SS
0000
0002
0004

VALUES VALUES
1
2
3322
1ABC
2211
8E12

X=
Y=
----------------------------

X+Y=
CF=,

AF=

----------------X+Y
CF=,

AF=

3. (A) MULTIPLICATION OF TWO 8 -BIT NUMBERS


AIM: To write an assembly language program to perform multiplication of two 8-bit unsigned
numbers
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
Program:
DATA SEGMENT
X DB ?
Y DB ?
RES DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START:
MOV AX, DATA
MOV DS, AX
MOV AL, X
MOV BL, Y
MUL BL
MOV RES,Ax
INT 03
CODE ENDS
END START
END
FLAGS AFFECTED: OF, CF
CALCULATIONS:
SYMBO
L
X
Y
RES

ADDRE
SS
0000
0001
0002

VALUES VALUES
1
2
12
FF
34
AA

3. (B) MULTIPLICATION OF TWO 16 -BIT NUMBERS


AIM: To write an assembly language program to perform multiplication of two 16-bit unsigned
numbers
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
Program:
DATA SEGMENT
X DW ?
Y DW ?
RESLW DW ?
RESHW DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START:
MOV AX, DATA
MOV DS, AX
MOV AX, X
MOV BX, Y
MUL BX
MOV RESLW,AX
MOV RESHW,DX
INT 03
CODE ENDS
END START
END
FLAGS AFFECTED: OF, CF
CALCULATIONS:
SYMBO
L
X
Y
RESLW
RESHW

ADDRE
SS
0000
0002
0004
0006

VALUES VALUES
1
2

4. (A) DIVISION OF 16-BIT Number by an 8 -BIT NUMBER


AIM: To write an assembly language program to perform division of 16-bit unsigned number
by 8-bit unsigned number
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
PROGRAM:
DATA SEGMENT
X DW ?
Y DB ?
Q DB ?
R DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START:
MOV AX, DATA
MOV DS, AX
MOV AX, X
MOV BL, Y
DIV BL
MOV Q,AL
MOV R,AH
INT 03
CODE ENDS
END START
END
FLAGS AFFECTED: IF
CALCULATIONS:
SYMBO
L
X
Y
Q
R

ADDRE
SS
0000
0002
0003
0004

VALUES VALUES
1
2
014D
1200
34
55

4(b) DIVISION OF 32-BIT Number by a 16-BIT NUMBER


AIM: To write an assembly language program to perform division of 32-bit unsigned number
by 16-bit unsigned number.
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
PROGRAM:
DATA SEGMENT
DLW DW ?
DHW DW ?
Divisr DW ?
Q DW ?
R DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START:
MOV AX, DATA
MOV DS, AX
MOV AX, DLW
MOV DX, DHW
MOV BX, Divisr
DIV BX
MOV Q,AX
MOV R,DX
INT 03
CODE ENDS
END START
END
FLAGS AFFECTED: IF
CALCULATIONS:
SYMBO
L
DLW
DHW
Divisr
Q
R

ADDRE
SS
0000
0002
0004
0006
0008

VALUES VALUES
1
2
0032
0BCD
02AB
00AB
2012
ABCD

5. (A) Signed Multiplication


AIM: To write an assembly language program to perform multiplication of two 16-bit signed
numbers
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
PROGRAM:
DATA SEGMENT
X DW ?
Y DW ?
RESLW DW ?
RESHW DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START:
MOV AX, DATA
MOV DS, AX
MOV AX, X
MOV BX, Y
IMUL BX
MOV RESLW, AX
MOV RESHW, DX
INT 03
CODE ENDS
END START
END
FLAGS AFFECTED: OF,CF
CALCULATIONS:
SYMB
OL
X
Y
RESLW
RESHW

ADDRE
SS
0000
0002
0004
0006

VALUE
S1

Case 1:Two Positive Numbers


X = 7593, Y = 6845
Case 2: one positive number & one negative number
X = 8A6D, Y = 6845
Case 3: two negative numbers
X = 8A6D, Y = 97BB

VALUE
S2

5. (B) Signed Division


AIM: To write an assembly language program to perform Division of 16-bit signed number by
8- Bit Signed Number
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
PROGRAM:
DATA SEGMENT
X DW ?
Y DB ?
Q DB ?
R DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START:
MOV AX, DATA
MOV DS, AX
MOV AX, X
MOV BL, Y
IDIV BL
MOV Q, AL
MOV R, AH
INT 03
CODE ENDS
END START
END
FLAGS AFFECTED: IF
CALCULATIONS:
SYMB
OL
X
Y
Q
R

ADDRE
SS
0000
0002
0003
0004

VALUE
S1

VALUE
S2

Case 1:Two Positive Numbers


X = 26F8, Y = 56
Case 2: one negative number & one positive number
X = D908, Y = 56
Case 3: one positive number & one negative number X = 26F8, Y = AA

6. (A) ASCII ADDITION


AIM: To write an ALP to perform the addition of two ASCII bytes.
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
PROGRAM:
DATA SEGMENT
CHAR1 DB ?
CHAR2 DB ?
RES DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AH,00H
MOV AL,CHAR1
ADD AL,CHAR2
AAA
MOV RES,AX
INT 03H
CODE ENDS
END START
END
FLAGS AFFECTED: AF,CF
CALCULATIONS:
SYMB
OL
CHAR1
CHAR2
RES

ADDRE
SS
0000
0001
0002
0003

8 + 6 =
RES = 0104 (AX) unpacked BCD of 14

VALUE
S1
8
6
04
01

VALUE
S2

6. (B) ASCII SUBTRACTION


AIM: To write an ALP to perform the subtraction of two ASCII bytes.
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
PROGRAM:
DATA SEGMENT
CHAR1 DB ?
CHAR2 DB ?
RES DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AH,00H
MOV AL,CHAR1
SUB AL,CHAR2
AAS
MOV RES,AX
INT 03H
CODE ENDS
END START
END
FLAGS AFFECTED: AF,CF
CALCULATIONS:
SYMB
OL
CHAR1
CHAR2
RES

ADDRE
SS
0000
0001
0002
0003

5 9 =
RES=00FC(AX)->2s Complement of(-4)

VALUE
S1
9
5

VALUE
S2
5
9
FC
00

7. (A) ASCII MULTIPLICATION


AIM: To write an ALP to perform the multiplication of two ASCII bytes.
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
PROGRAM:
DATA SEGMENT
NUM1 DB ?
NUM2 DB ?
RES DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AH,00
MOV AL,NUM1
MUL NUM2
AAM
MOV RES,AX
INT 03H
CODE ENDS
END START
END
FLAGS AFFECTED: PF,SF,ZF
CALCULATIONS:
SYMB
OL
NUM1
NUM2
RES

ADDRE
SS
0000
0001
0002
0003

09 * 05 =
RES = 0405 (AX) unpacked BCD of 45

VALUE
S1
09
05
05
04

VALUE
S2

7. (B) ASCII DIVISION


AIM: To write an ALP to perform the division of two ASCII numbers.
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
PROGRAM:
DATA SEGMENT
DIVIDEND DW 0607H
DIVISOR DB 09H
RESQ DB ?
RESR DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AX,DIVIDEND
AAD
MOV BH,DIVISOR
DIV BH
MOV RESQ,AL
MOV RESR,AH
INT 03H
CODE ENDS
END START
END
FLAGS AFFECTED: PF,SF,ZF
CALCULATIONS:
SYMBO
L
DIVIDE
ND
DIVISO
R
RESQ
RESR

ADDRE
SS
0000

VALUE
S1
0607

0002

09

0003
0004

07
04

INPUT:DIVIDEND = 0607H unpacked BCD of 67


DIVISOR = 09H

VALUE
S2

OUTPUT: RESQ = 07 (AL)


RESR = 04 (AH)
MODULE 2
1. PACKED BCD TO UNPACKED BCD
AIM: To write an assembly language program to perform PACKED BCD into UNPACKED
BCD conversion.
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
PROGRAM:
ASSUME CS:CODE,DS:DATA
DATA SEGMENT
BCD DB 49H
COUNT DB 04H
UBCD1 DB ?
UBCD2 DB ?
DATA ENDS
CODE SEGMENT
START:MOV AX,DATA
MOV DS,AX
MOV AL,BCD
MOV BL,AL
AND AL,0FH
MOV UBCD1,AL
MOV AL,BL
AND AL,0F0H
MOV CL,COUNT
ROR AL,CL
MOV UBCD2,AL
INT 03H
CODE ENDS
END START
END
FLAGS AFFECTED: PF
CALCULATIONS:
SYMBO
L
BCD
UBCD1
UBCD2

ADDRES
S
0000
0002
0003

VALUES1
49

VALUES2

INPUT:

BCD = 49

OUTPUT:

UBCD1 = 09
UBCD2 = 04

2. BCD TO ASCII CONVERSION


AIM: To write an assembly language program to perform BCD to ASCII conversion.
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
PROGRAM:
ASSUME CS:CODE,DS:DATA
DATA SEGMENT
BCD DB 49H
COUNT DB 04H
ASCII1 DB ?
ASCII2 DB ?
DATA ENDS
CODE SEGMENT
START:MOV AX,DATA
MOV DS,AX
MOV AL,BCD
MOV BL,AL
AND AL,0FH
OR AL,30H
MOV ASCII1,AL
MOV AL,BL
AND AL,0F0H
MOV CL,COUNT
ROR AL,CL
OR AL,30H
MOV ASCII2,AL
INT 03H
CODE ENDS
END START
END
FLAGS AFFECTED: PF
CALCULATIONS:
SYMB
OL
BCD
ASCII1
ASCII2
INPUT:
OUTPUT:

BCD = 49
ASCII1= 39
ASCII2= 34

ADDRE
SS
0000
0002
0003

VALUE
S1
49

VALUE
S2

MODULE 3
1. BLOCK MOVE
AIM: To write an assembly language program to move the block of data from a specified
source location to the specified destination location.
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
REGISTERS USED: AX, DS, ES, SI, DI
PROGRAM:
ASSUME CS:CODE,DS:DATA
DATA SEGMENT
ORG 2000H
STR DB 04H,0F9H,0BCH,98H,40H
COUNT EQU 05H
DATA ENDS
EXTRA SEGMENT
ORG 3000H
STR1 DB 05 DUP(?)
EXTRA ENDS
CODE SEGMENT
START:MOV AX,DATA
MOV DS,AX
MOV AX,DATA
MOV ES,AX
MOV SI,OFFSET STR
MOV DI,OFFSET STR1
MOV CL,COUNT
CLD
REP MOVSB
INT 03H
CODE ENDS
END START
END
FLAGS AFFECTED: No flags are affected
RESULT:
INPUT: STR (DS:2000H) = 04H,F9H,BCH,98H,40H
OUTPUT:

STR1(ES:3000H) = 04H,F9H,BCH,98H,40H

2. STRING REVERSING: for any Known Character Length


AIM: To write an assembly language program to reverse the given string.
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
REGISTERS USED: AX, DS, SI, BX
PROGRAM:
ASSUME CS:CODE,DS:DATA
DATA SEGMENT
STR DB 01H,02H,03H,04H
COUNT EQU 0004H
DATA ENDS
CODE SEGMENT
START:MOV AX,DATA
MOV DS,AX
MOV BX,COUNT
MOV SI,OFFSET STR
BACK: MOV AL,[SI]
XCHG AL,[SI+BX-01]
XCHG AL,[SI]
INC SI
DEC BX
JZ STOP
DEC BX
JNZ BACK
STOP:INT 03H
CODE ENDS
END START
END
FLAGS AFFECTED: ZF,PF
RESULT:
INPUT: STR (DS:0000H) = 01H,02H,03H,04H
OUTPUT:

STR (DS:0000H) = 04H,03H,02H,01H

3. LENGTH OF THE STRING


AIM: To write an assembly language program to find the length of the given string.
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
REGISTERS USED: AX,DS,SI,CL
PROGRAM:
ASSUME CS:CODE,DS:DATA
DATA SEGMENT
STR DB 01H,03H,08H,09H,05H,07H,02H
LENGTH DB ?
DATA ENDS
CODE SEGMENT
START:MOV AX,DATA
MOV DS,AX
MOV AL,00H
MOV CL,00H
MOV SI,OFFSET STR
AGAIN:CMP AL,[SI]
JNZ STOP;(or) JNC STOP
INC CL
INC SI
JMP AGAIN
STOP:MOV LENGTH,CL
INT 03H
CODE ENDS
END START
END
FLAGS AFFECTED: ZF,PF,SF,AF,CF
RESULT:
INPUT:
STR (DS:0000H) =
01H, 03H,08H,09H,05H,07H,02H
OUTPUT:

LENGTH = 07H (CL)

4. STRING COMPARISION
AIM: To write an assembly language program to compare the given strings.
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
REGISTERS USED: AX, DS, SI, DI, CL
PROGRAM:
ASSUME CS:CODE,DS:DATA,ES:EXTRA
DATA SEGMENT
SRC DB 04H,05H,07H,08H
COUNT EQU 04H
DATA ENDS
EXTRA SEGMENT
DST DB 04H,06H,07H,09H
EXTRA ENDS
CODE SEGMENT
START:MOV AX,DATA
MOV DS,AX
MOV AX,EXTRA
MOV ES,AX
MOV SI,OFFSET SRC
MOV DI,OFFSET DST
MOV CX,0000H
MOV CL,COUNT
CLD
REP CMPSB
INT 03H
CODE ENDS
END START
END
FLAGS AFFECTED: ZF,CF
RESULT:
INPUT:

SRC (DS:0000H) =
04H,05H,07H,08H
DST (ES:0000H) =
04H,06H,07H,09H

OUTPUT:
I): IF SRC = DST THEN ZF = 1 &
II): IF SRC DST THEN ZF = 0

5. STRING INSERTION
AIM: To write an Assembly Language Program for inserting one string into the other.
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
PROGRAM:
DATA SEGMENT
src DB "New String"
Nul DB 00H;
pos DW 0002H;
DATA ENDS
EXTRA SEGMENT
dst DB "Old String"
EXTRA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:EXTRA
MOV AX,DATA
MOV AX,DATA
MOV DS,AX
MOV AX,EXTRA
MOV ES,AX
MOV SI,OFFSET src
CALL getsrcLENGTH
MOV BX,CX
MOV DI,OFFSET dst
CALL getdstLENGTH
MOV DX,CX
MOV DI,DX
CMP pos,DX;
JG Skip;
MOV CX,pos;
DEC CX;
AGAIN:
MOV AL,ES:[DI]
MOV ES:[DI+BX],AL
CMP DI,CX
JZ Skip
DEC DI
JMP AGAIN
Skip: CLD;
MOV SI,OFFSET src
Insert:
MOV AL,[SI]
MOV ES:[DI],AL

INC SI
INC DI
DEC BX
JNZ Insert
INT 03
getsrcLENGTH PROC
MOV AL,00H
MOV CX,0000H
UP1: CMP [SI],AL
JZ STOP1
INC SI
INC CX
JMP UP1
STOP1: RET
getsrcLENGTH ENDP
getdstLENGTH PROC
MOV AL,00H
MOV CX,0000H
UP2: CMP ES:[DI],AL
JZ STOP2
INC DI
INC CX
JMP UP2
STOP2: RET
getdstLENGTH ENDP
CODE ENDS
END
END
FLAGS AFFECTED: No flags are affected
OUTPUT: new string

6.STRING DELETION
AIM: To write an Assembly Language Program for deleting a string in specified index range
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
PROGRAM:
DATA SEGMENT
src DB "COMPUTER";
Nul DB 00H;
startidx DW 0002
endidx DW 0004
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET src
CALL getsrcLENGTH
MOV BP,startidx;
MOV BX,endidx;
CMP BP,BX;
JG Skip;
DEC BP;
DEC BX;
MOV SI,BP;
AGAIN: MOV AL,[SI+BX]
MOV [SI+BP],AL
INC SI
CMP SI,CX;
JNZ AGAIN
Skip: INT 03;
getsrcLENGTH PROC
MOV AL,00H
MOV CX,0000H
UP1: CMP [SI],AL
JZ STOP1
INC SI
INC CX
JMP UP1
STOP1: RET
getsrcLENGTH ENDP
CODE ENDS
END
END

FLAGS AFFECTED: No flags are affected


RESULT:
INPUT: computer
OUTPUT: couter

7. DISPLAY THE STRING


AIM: To write an assembly language program to display the given string.
RESOURCES REQUIERED:
Personal Computer
MASM/TASM Software Installed
REGISTERS USED: AX, DS, DX
PROGRAM:
ASSUME CS:CODE,DS:DATA
DATA SEGMENT
MSG DB 0DH,0AH,"WELCOME TO MICROPROCESSORS LAB",0DH,0AH,"$"
DATA ENDS
CODE SEGMENT
START:
MOV AX,DATA
MOV DS,AX
MOV AH,09H
MOV DX,OFFSET MSG
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
END

FLAGS AFFECTED: No flags are affected

RESULT:
WELCOME TO MICROPROCESSORS LAB

Module 4:
1. A) Stepper motor interfacing in clockwise direction using 8086

AIM: To write an Assembly Language Program to rotate stepper motor in clockwise direction.
RESOURCES REQUIRED:
8086/8088 Kit
PROGRAM:
A 2000
MOV AX, 0000
MOV ES, AX
MOV DX, 0FFE6
MOV AL, 80
OUT DX, AL
MOV AL, 11
MOV DX, 0FFE0
OUT DX, AL
CALL 2020
RCR AL, 1
JMP 2010
ADD DX, 0002
MOV AL, [SI]
OUT DX, AL
INC SI
MOV CX, 0800
LOOP 2023
RET

FLAGS AFFECTED: No flags are affected

1. B) Stepper motor interfacing in anticlockwise direction using 8086

AIM: To write an Assembly Language Program to rotate stepper motor in anticlockwise


direction.
RESOURCES REQUIRED:
8086/8088 Kit
PROGRAM:
A 2000
MOV AX, 0000
MOV ES, AX
MOV DX, 0FFE6
MOV AL, 80
OUT DX, AL
MOV AL, 11
MOV DX, 0FFE0
OUT DX, AL
CALL 2020
RCL AL, 1
JMP 2010
ADD DX, 0002
MOV AL, [SI]
OUT DX, AL
INC SI
MOV CX, 0800
LOOP 2023
RET

FLAGS AFFECTED: No flags are affected

2. A) MICROCONTROLLER ADDITION

AIM: To write an Assembly Language Program to perform microcontroller addition.


RESOUCES REQUIRED:
8051 Kit
PROGRAM:
A 8000
MOV A, #05
MOV R1, #03
ADD A, R1
LJMP 03
G 8000

RESULT:
INPUT:
A=05
R1=03
OUTPUT:
A=08

2. B) MICROCONTROLLER SUBTRACTION
AIM: To write an Assembly Language Program to perform microcontroller subtraction.
RESOUCES REQUIRED:
8051 Kit
PROGRAM:
A 8000
MOV A, #05
MOV R1, #03
SUBB A, R1
LJMP 03
G 8000

RESULT:
INPUT:
A=05
R1=03
OUTPUT:
A=02

2. C) MICROCONTROLLER MULTIPLICATION
AIM: To write an Assembly Language Program to perform microcontroller multiplication.
RESOUCES REQUIRED:
8051 Kit
PROGRAM:
A 8000
MOV A, #05
MOV F0, #03
MUL AB
LJMP 03
G 8000

RESULT:
INPUT:
A=05
B=03
OUTPUT:
A=0F
NOTE: Here F0 is noting but register B.

2. D) MICROCONTROLLER DIVISION
AIM: To write an Assembly Language Program to perform microcontroller division.
RESOUCES REQUIRED:
8051 Kit
PROGRAM:
A 8000
MOV A, #04
MOV F0, #02
DIV AB
LJMP 03
G 8000

RESULT:
INPUT:
A=04
R1=02
OUTPUT:
A=02

Das könnte Ihnen auch gefallen