New Mpi Lab Manual
New Mpi Lab Manual
TECHNOLOGY
BHARAT INSTITUTE OF ENGINEERING AND
TECHNOLOGY
BHARAT INSTITUTE OF ENGINEERING AND
TECHNOLOGY
BHARAT INSTITUTE OF ENGINEERING AND
TECHNOLOGY AND
MICROPROCESSORS
INTERFACING
MANUAL
BHARAT INSTITUTE
OFLAB
ENGINEERING
AND
8086
MICROPROCESSOR
TECHNOLOGY
INDEX
S. No.
PAGE
NO.
INTRODUCTION TO 8086
ARCHITECTURE OF 8086
11
13
14
INTRODUCTION TO MASM
15
17
MASM PROGRAMS:
9
18
10
19
11
20
12
21
13
22
14
23
15
24
16
BCD TO ASCII
25
17
PASSWORD
26
18
27
28
19
29
21
30
22
31
INTRODUCTION:
This manual provides all the necessary information for the installation,
operation, and troubleshooting and routine maintenance of AT8086A.
SPECIFICATIONS:
CPU
Memory
Serial I/O
Interrupts
PC-Keyboard
LCD Display
Bus Signals
I/O signals
The following pin function descriptions are for 8086 systems in either
minimum or maximum mode. The ``Local Bus'' in these descriptions is the direct
multiplexed bus interface connection to the 8086 (without regard to additional bus
buffers).
The following pin function descriptions are for the 8086 in minimum mode
(i.e., MN/MX e VCC). Only the pin functions, which are unique to minimum mode,
are described; all other pin functions are as described above.
10
SUBTRACTION:
MOV AX,1234H
MOV BX,1111H
SUB AX,BX
INT 25
MULTIPLICATION:
MOV AX,1234H
MOV BX,1111H
MUL BX
INT 25
DIVISION:
MOV AX,1234H
MOV BX,1000H
DIV BX
INT 25
Program to Perform 8-Bit Arithmetic Operations:-
11
ADDITION:
MOV AL,12H
MOV BL,11H
ADD AL,BL
INT 25
SUBTRACTION:
MOV AL,12H
MOV BL,11H
SUB AL,BL
INT 25
MULTIPLICATION:
MOV AL,12H
MOV BL,11H
MUL BL
INT 25
DIVISION:
MOV AL,12H
MOV BL,02H
DIV BL
INT 25
Program to Perform SHIFT Operations:ARITHMETIC SHIFT RIGHT (SAR):
12
MOV AX,A123H
MOV CL,02
SAR AX,CL
INT 25
ARITHMETIC SHIFT LEFT (SAL):
MOV AX,A123H
MOV CL,02
SAL AX,CL
INT 25
LOGICAL SHIFT RIGHT (SHR):
MOV AX,A123H
MOV CL,02
SHR AX,CL
INT 25
LOGICAL SHIFT LEFT (SHL):
MOV AX,A123H
MOV CL,02
SHL AX,CL
INT 25
ROR AX,CL
INT 25
INTRODUCTION TO MASM:
DOS Text Editor- edit
Microsofts EDIT editor is a very simple and user friendly editor. EDIT is a pure text editor,
which means all the characters are represented in ASCII code. To start, just type in the edit
command followed by the file name:
A\>edit filename.asm
14
Description
Reserves space in one Byte (1 byte) units.
Reserves space in one Word (2 byte) units.
Reserves space in one Double (4 byte) units.
Reserves space in one Quad (8 byte) units.
Reserves space in one Ten (10 byte) units.
press Enter
6. Then Type CD MASM and press ENTER
7. Then Type EDIT and press Enter
8. A window will open where the ASM program has to be written. Save the program in the
format XXX.ASM in MASM folder itself or a location which can be easily remembered.
16
MASM PROGRAMS:
MOV CL,00H
MOV BL,00H
MOV SI,OFFSET STRING
MOV DI,OFFSET RESULT
BACK: MOV AL,[SI]
CMP AL,BL
JE NEXT
INC SI
INC CL
JMP BACK
NEXT: MOV [DI],CL
MOV AH,4CH
CODE ENDS
END
MOV CL,COUNT
MOV BL,POS
BACK: MOV AL,06
SUB AL,CL
CMP AL,BL
JE NEXT
CLD
MOVSB
DEC CL
JNZ BACK
JMP EXIT
NEXT: MOV AL,DL
STOSB
MOV DL,AL
DEC CL
JNZ BACK
EXIT: INT 21H
CODE ENDS
END START
MOV AH,4CH
CODE ENDS
END
21
CLD
REPE CMPSB
JNZ NEXT
INC DX
NEXT: MOV AH,4CH
CODE ENDS
END
23
BCD TO ASCII
ASSUME CS:CODE,DS:DATA
DATA SEGMENT
BCD_NUM EQU 79H
COUNT EQU 04
DATA ENDS
CODE SEGMENT
MOV AX,DATA
MOV DS,AX
MOV CL,COUNT
MOV AL,BCD_NUM
MOV AH,AL
AND AL,0FH
AND AH,0F0H
ROL AH,CL
OR AL,30H
OR AH,30H
MOV AH,4CH
CODE ENDS
END
24
PASSWORD
ASSUME CS:CODE,DS:DATA
DATA SEGMENT
PASWRD DB 'HARI'
LENTH EQU 04H
DATA ENDS
EXTRA SEGMENT
INWRD DB 'HARI'
EXTRA ENDS
CODE SEGMENT
START: MOV AX,DATA
MOV DS,AX
MOV AX,EXTRA
MOV ES,AX
XOR AX,AX
XOR DX,DX
MOV SI,OFFSET PASWRD
MOV DI,OFFSET INWRD
MOV CX,LENTH
CLD
REPE CMPSB
JNZ GO
INC DX
GO: INT 3H
CODE ENDS
END START
25
26
INTERFACING PROGRAMS:
27
ASSUME CS:CODE,DS:CODE,SS:CODE,ES:CODE
CMD8255B EQU 27H
PAB8255 EQU 21H ; FIRST DAC INPUT
PBB8255 EQU 23H ; SECOND DAC INPUT
ORG 400H
MOV AL,80H; Initialize
OUT CMD8255B,AL;PORTS A,B,C
;AS O/P
LP1: MOV AL,00H ;INITIAL VALUE
LP2: OUT PBB8255,AL
OUT PAB8255,AL;OUTPUT AL
INC AL
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
CMP AL,0E0H ;COMPARE WITH UPPER
JZ
LP1
;LIMIT
JMP LP2
CODE ENDS
END
29
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
MOV [DI],AL
MOV AL,DL
AND AL,0FH
CALL
ASCII
MOV DI,DSPBUF+0FH
MOV [DI],AL
INT DISINT
JMP LP2; Be in an infinite loop
;RESMES:
;
DB 'Digital O/P : 00'
;ASCII:
;
ADD AL,30H ; If no. < 0AH,add 30H
;
CMP AL,3AH
;
JC
RET1
;
ADD AL,07H; If no. >= 0AH,add 37H
;RET1:
;
RET
CODE ENDS
END
31