department of electronics and … · 3. 8 bit multiplication. address location label mnemonics 3000...

38
MICRO PROCESSOR AND MICRO CONTROLLER LABORATORY MANUAL DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING NRI INSTITUTE OF TECHNOLOGY (Approved by AICTE, New Delhi: Affiliated to JNTUK, Kakinada) POTHAVARAPPADU (V), (via) Nunna, Agiripalli (M), Krishna District, A.P. PIN: 521212 Ph: 08656-324999 Website: nrigroupofcolleges.com e-mail: [email protected]

Upload: phamnhan

Post on 28-Aug-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

MICRO PROCESSOR AND MICRO CONTROLLER

LABORATORY MANUAL

DEPARTMENT OF ELECTRONICS AND COMMUNICATION

ENGINEERING

NRI INSTITUTE OF TECHNOLOGY (Approved by AICTE, New Delhi: Affiliated to JNTUK, Kakinada)

POTHAVARAPPADU (V), (via) Nunna, Agiripalli (M),

Krishna District, A.P. PIN: 521212 Ph: 08656-324999 Website: nrigroupofcolleges.com e-mail: [email protected]

List of Experiments

S. No. Experiment Name Page No.

Processor Programs

1 8 Bit Arithmetic Operation 1

2 16 Bit Arithmetic Operation 3

3 Decimal Addition & Subtraction Operation 5

4 ASCII Addition & Subtraction Operation 6

5 Shift and Rotate Operation 7

6 BCD to ASCII Conversion 10

7 String Operation 11

8. Multi byte Arithmetic Operations 13

9. Signed Multiplication, Division 17

10. ASCII Arithmetic Operations 19

11. Packed to Unpacked BCD 21

12. Unpacked to Packed BCD 23

13. BCD to ASCII conversion 24

14. ASCII to BCD conversion 26

15. Keyboard Display 28

16. 8255 Interfacing 30

17. Interrupt Controller 33

1. 8 Bit Arithmetic Operations

Aim: To perform 8 bit Arithmetic operations like addition, subtraction, multiplication and

division.

Components and Tools required:

1. 8086 Microprocessor Kit.

2. Power Supply.

3. Keyboard.

Programs:

1. 8 Bit Addition.

Address Location Label Mnemonics

3000

3002

3004

3006

MOV AL,05H

MOV BL,07H

ADD AL,BL

INT 3

Input: AL-> 05H

BL-> 07H

Output: AL->0CH

Result: Successfully performed 8 Bit Addition.

2. 8 Bit Subtraction.

Address Location Label Mnemonics

3000

3002

3004

3006

MOV AL,07H

MOV BL,05H

SUB AL,BL

INT 3

Input: AL-> 07H

BL-> 05H

Output: AL->02H

Result: Successfully performed 8 Bit Subtraction.

3. 8 Bit Multiplication.

Address Location Label Mnemonics

3000

3002

3004

3006

MOV AL,05H

MOV BL,02H

MUL BL

INT 3

Input: AL-> 05H

BL-> 02H

Output: AL->0AH

Result: Successfully performed 8 Bit Multiplication.

4. 8 Bit Division.

Address Location Label Mnemonics

3000

3002

3004

3006

MOV AL,04H

MOV BL,02H

DIV BL

INT 3

Input: AL-> 04H

BL-> 02H

Output: AL->02H

Result: Successfully performed 8 Bit Division.

Result: Successfully performed 8 Bit Arithmetic Operations.

2. 16 Bit Arithmetic Operations

Aim: To perform 16 bit Arithmetic operations like Addition, Subtraction, Multiplication and

Division.

Components and Tools required:

1. 8086 Microprocessor Kit.

2. Power Supply.

3. Keyboard.

Programs:

1. 16 Bit Addition.

Address Location Label Mnemonics

3000

3003

3006

3008

MOV AX,0505H

MOV BX,0707H

ADC AX,BX

INT 3

Input: AX-> 0505H

BX-> 0707H

Output: AX->0C0CH

Result: Successfully performed 16 Bit Addition.

2. 16 Bit Subtraction.

Address Location Label Mnemonics

3000

3003

3006

3008

MOV AX,0707H

MOV BX,0505H

SBB AX,BX

INT 3

Input: AX-> 0707H

BX-> 0505H

Output: AX->0202H

Result: Successfully performed 16 Bit Subtraction.

3. 16 Bit Multiplication.

Address Location Label Mnemonics

3000

3003

3006

3008

MOV AX,0505H

MOV BX,0202H

MUL BX

INT 3

Input: AX-> 0505H

BX-> 0202H

Output: AX->0A0AH

Result: Successfully performed 16 Bit Multiplication.

4. 16 Bit Division.

Address Location Label Mnemonics

3000

3003

3006

3008

MOV AX,0404H

MOV BX,0202H

DIV BX

INT 3

Input: AX-> 0404H

BX-> 0202H

Output: AX->0202H

Result: Successfully performed 16 Bit Division.

Result: Successfully performed 16 Bit Arithmetic Operations.

3. Decimal Arithmetic Operations

Aim: To perform Decimal Arithmetic operations like Addition and Subtraction.

Components and Tools required:

1. 8086 Microprocessor Kit.

2. Power Supply.

3. Keyboard.

Programs:

1. Decimal Addition.

Address Location Label Mnemonics

3000

3003

3006

3008

3009

MOV AX,1234

MOV BX,5678

ADC AX,BX

DAA

INT 3

Input: AX-> 1234

BX-> 5678

Output: AX->6812

Result: Successfully performed Decimal Addition.

2. Decimal Subtraction.

Address Location Label Mnemonics

3000

3003

3006

3008

3009

MOV AX,1234

MOV BX,5678

SBB AX,BX

DAS

INT 3

Input: AX-> 5678

BX-> 1234

Output: AX->4444

Result: Successfully performed Decimal Subtraction.

Result: Successfully performed Decimal Arithmetic Operations.

4. ASCII Arithmetic Operations

Aim: To perform ASCII Arithmetic operations like Addition and Subtraction.

Components and Tools required:

1. 8086 Microprocessor Kit.

2. Power Supply.

3. Keyboard.

Programs:

1. ASCII Addition.

Address Location Label Mnemonics

3000

3003

3005

3007

3009

300C

300E

300F

MOV AX,0000

MOV AL,07

ADD AL,30

MOV BL,03

ADD BL,30

ADC AL,BL

AAA

INT 3

Input: AL-> 07, BX-> 03

Output: AX->0100

Result: Successfully performed ASCII Addition.

2. ASCII Subtraction.

Address Location Label Mnemonics

3000

3003

3005

3007

3009

300C

300E

300F

MOV AX,0000

MOV AL,07

ADD AL,30

MOV BL,03

ADD BL,30

SBB AL,BL

AAS

INT 3

Input: AL-> 07, BX-> 03

Output: AX->0004

Result: Successfully performed ASCII Subtraction.

Result: Successfully performed ASCII Arithmetic Operations.

5. Shift and Rotate Operations

Aim: To perform Shift and Rotate operations.

Components and Tools required:

1. 8086 Microprocessor Kit.

2. Power Supply.

3. Keyboard.

Programs:

1. Shift Left Operation.

Address Location Label Mnemonics

3000

3003

3005

3007

3009

MOV AX,0000

MOV AL,95H

MOV CL,04H

SHL AL,CL

INT 3

Input: AX-> 0000

AL-> 95

Output: AX->0950

Result: Successfully performed Shift Left Operation.

2. Shift Right Operation.

Address Location Label Mnemonics

3000

3003

3005

3007

3009

MOV AX,0000

MOV AL,95H

MOV CL,04H

SHR AL,CL

INT 3

Input: AX-> 0000

AL-> 95

Output: AX->0009

Result: Successfully performed Shift Right Operation.

3. Shift Adjust Left Operation.

Address Location Label Mnemonics

3000

3003

3005

3007

3009

MOV AX,0000

MOV AL,95H

MOV CL,03H

SAL AL,CL

INT 3

Input: AX-> 0000

AL-> 95

Output: AX->00A8

Result: Successfully performed Shift Adjust Left Operation.

4. Shift Adjust Right Operation.

Address Location Label Mnemonics

3000

3003

3005

3007

3009

MOV AX,0000

MOV AL,95H

MOV CL,03H

SAR AL,CL

INT 3

Input: AX-> 0000

AL-> 95

Output: AX->0012

Result: Successfully performed Shift Right Operation.

5. Rotate Left Operation.

Address Location Label Mnemonics

3000

3003

3005

3007

3009

MOV AX,0000

MOV AL,95H

MOV CL,04H

ROL AL,CL

INT 3

Input: AX-> 0000

AL-> 95

Output: AX->0059

Result: Successfully performed Rotate Left Operation.

6. Rotate Right Operation.

Address Location Label Mnemonics

3000

3003

3005

3007

3009

MOV AX,0000

MOV AL,95H

MOV CL,04H

ROR AL,CL

INT 3

Input: AX-> 0000

AL-> 95

Output: AX->0059

Result: Successfully performed Rotate Right Operation.

7. Rotate Carry Left Operation.

Address Location Label Mnemonics

3000

3003

3005

3007

3009

MOV AX,0000

MOV AL,95H

MOV CL,04H

RCL AL,CL

INT 3

Input: AX-> 0000

AL-> 95

Output: AX->0054

Result: Successfully performed Rotate Carry Left Operation.

8. Rotate Carry Right Operation.

Address Location Label Mnemonics

3000

3003

3005

3007

3009

MOV AX,0000

MOV AL,95H

MOV CL,04H

RCR AL,CL

INT 3

Input: AX-> 0000

AL-> 95

Output: AX->00A9

Result: Successfully performed Rotate Carry Right Operation.

Result: Successfully performed Shift and Rotate Operations

6. BCD to ASCII Conversion

Aim: To convert BCD to ASCII numbers.

Components and Tools required:

1. 8086 Microprocessor Kit.

2. Power Supply.

3. Keyboard.

Programs:

Address Location Label Mnemonics

3000

3002

3004

3006

3009

300B

300E

MOV AL,63

MOV AH,AL

MOV CL,04

AND AX,0F00F

ROL AH,CL

ADD AX,3030

INT 3

Input: AL-> 63

AX-> 3030

CL->4

Output: AX->3633

Result: Successfully performed the conversion of BCD to ASCII numbers.

7. String Operations

Aim: To perform String operations like Moving, Compare, Insert & Delete.

Components and Tools required:

1. 8086 Microprocessor Kit.

2. Power Supply.

3. Keyboard.

Programs:

1. Moving a Block of Data.

Address Location Label Mnemonics

3000

3003

3006

3007

3008

3009

MOV SI,7000

MOV DI,9000

CLD

REP

MOVSB

INT 3

Input: SI-> 7000 => 12H, 34H, 56H, 78H

Output: DI->9000 => 12H, 34H, 56H, 78H

Result: Successfully Moved the Block of Data from one location to another location.

2. Compare two Strings.

Address Location Label Mnemonics

3000

3003

3006

3009

300A

300B

300C

300F

3011

MOV SI,7000

MOV DI,9000

MOV CL,5

CLE

REPE

CMPSB

MOV BX,7000

MOV BX,SI

INT 3

Input: SI-> 7000 => 12H, 34H, 56H, 78H

DI-> 9000 => 12H, 34H, 51H, 78H

Output: BX->8000 => 9003

Result: Successfully compared two different Strings.

3. Insert the Data into the String.

Address Location Label Mnemonics

3000

3003

3006

3009

300B

300D

300E

300F

3010

3012

MOV SI,7000

MOV DI,9000

MOV CL,4

MOV BL,05

MOV [DI],BL

INC DI

CLD

REP

MOV SB

INT 3

Input: SI-> 7000 => 12H, 34H, 56H, 78H

Output: DI->9000 => 05H, 12H, 34H, 56H, 78H

Result: Successfully Inserted the Data into the String.

4. Delete the Data from the String.

Address Location Label Mnemonics

3000

3003

3006

3009

300A

300B

300C

300D

MOV SI,7000

MOV DI,9000

MOV CX,4

DEC CX

CLD

REP

MOV SB

INT 3

Input: SI-> 7000 => 12H, 34H, 56H, 78H

Output: DI->9000 => 34H, 56H, 78H

Result: Successfully Deleted the Data from a string.

Result : Successfully performed Different String Operations.

8. MULTIBYTE ARITHMETIC OPERATIONS

Aim: To perform The Multibyte Arithmetic Operations

Components and Tools required:

1. MASM Software

2. A Personal Computer

Programs:

1. MULTIBYTE ADDITION

DATA SEGMENT

N1 DB 55H, 66H, 77H

N2 DB 11H, 22H, 33H

RESULT DB ?

COUNT DB 03H

DATA ENDS

CODE SEGMENT

ASSUME CS: CODE, DS: DATA

START: MOV AX, DATA

MOV DS, AX

MOV SI, OFFSET N1

MOV DI, OFFSET N2

MOV BX, OFFSET RESULT

MOV CL,COUNT

BACK: MOV AL, [SI]

MOV DL, [DI]

ADD AL, DL

MOV [BX], AL

INC SI

INC DI

INC BX

DEC CL

JNZ BACK

MOV AH, 4CH

INT 21H

CODE END

END START

Result: Successfully performed the Addition.

2..MULTIBYTE SUBTRACTION

DATA SEGMENT

N1 DB 55H, 66H, 77H

N2 DB 11H, 22H, 33H

RESULT DB ?

COUNT DB 03H

DATA ENDS

CODE SEGMENT

ASSUME CS: CODE, DS: DATA

START: MOV AX, DATA

MOV DS, AX

MOV SI, OFFSET N1

MOV DI, OFFSET N2

MOV BX, OFFSET RESULT

MOV CL,COUNT

BACK: MOV AL, [SI]

MOV DL, [DI]

SUB AL, DL

MOV [BX], AL

INC SI

INC DI

INC BX

DEC CL

JNZ BACK

MOV AH, 4CH

INT 21H

CODE ENDS

END START

Result: Successfully performed the Subtraction

3. MULTIBYTE MULTIPLICATION

DATA SEGMENT

N1 DB 15H, 24H, 25H

N2 DB 21H, 22H, 26H

RESULT DW ?

DATA ENDS

CODE SEGMENT

ASSUME CS: CODE, DS: DATA

START: MOV AX, DATA

MOV DS, AX

MOV SI, OFFSET N1

MOV DI, OFFSET N2

MOV BX, OFFSET RESULT

MOV CL, 03H

BACK: MOV AL, [SI]

MOV DH, [DI]

MUL DH

MOV [BX], AX

INC SI

INC DI

INC BX

INC BX

DEC CL

JNZ BACK

MOV AH, 4CH

INT 21H

CODE ENDS

END START

Result: Successfully performed the Multiplication

4. MULTIBYTE DIVISION

DATA SEGMENT

NUM1 DB 72H

NUM2 DB 02H

QUO DB 1 DUP(0)

REM DB 1 DUP(0)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV AL,NUM1

MOV AH,0H

DIV NUM2

MOV QUO,AL

MOV REM,AH

MOV AH,4CH

INT 21H

CODE ENDS

END START

Result: Successfully performed the Division

9. Signed Multiplication, Division

Aim: To perform The Signed Multiplication, Division

Components and Tools required:

1. MASM Software

2. A Personal Computer

PROGRAM:

1. SIGNED MULTIPLICATION

DATA SEGMENT

NUM DB -02H,01H

PROD DW 2 DUP(0)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV SI,OFFSET NUM

MOV AL,[SI]

MOV BL,[SI+1]

IMUL BL

MOV PROD,AX

MOV AH,4CH

INT 21H

CODE ENDS

END START

Result: Successfully performed the Signed Multiplication

2.SIGNED DIVISION

DATA SEGMENT

NUM1 DB -10

NUM2 DB 02

QUO DB 1 DUP(0)

REM DB 1 DUP(0)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV AL,NUM1

CBW

IDIV NUM2

MOV QUO,AL

MOV REM,AH

MOV AH,4CH

INT 21H

CODE ENDS

END START

Result: Successfully performed the Signed Division

10. ASCII ARITHMETIC OPERATIONS

Aim: To perform The ASCII Arithmetic Operations

Components and Tools required:

1. MASM Software

2. A Personal Computer

PROGRAM:

CODE SEGMENT

ASSUME CS:CODE

START:

MOV AX,31H

ADD AX,39H

AAA

ADD AX,3030H

MOV BL,9

MOV AX,0702H

AAD

DIV BL

MOV AL,5

MOV CL,5

MUL CL

AAM ;

ADD AX,3030H

MOV AX,38H

SUB AX,31H

AAS

AX,3030H

MOV AH,4CH

INT 21H

CODE ENDS

END START

Result: Successfully performed the ASCII Arithmetic Operations

11. PACKED BCD TO UNPACKED BC

Aim: To Convert A Packed BCD to Unpacked BCD

Components and Tools required:

1. MASM Software

2. A Personal Computer

PROGRAM:

DATA SEGMENT

N EQU 29H

RESULT DB 02H DUP (0)

DATA ENDS

CODE SEGMENT

ASSUME CS: CODE, DS: DATA

START: MOV AX, DATA

MOV DS, AX

MOV AL, N

MOV BL, N

MOV CL, 04H

AND AL, 0Fh

AND BL, 0F0h

ROR BL, CL

MOV [RESULT], BL

MOV [RESULT+1], AL

MOV AH, 4Ch

INT 21h

CODE ENDS

END START

Result: Successfully performed the Packed BCD to Unpacked BCD

12. UNPACKED BCD TO PACKED BCD

Aim: To Convert a Unpacked BCD number to Packed BCD Number

Components and Tools required:

1. MASM Software

2. A Personal Computer

PROGRAM:

DATA SEGMENT

N1 DB 05H, 06H

BCD DB ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA

START: MOV AX, DATA

MOV DS, AX

XOR AX, AX

MOV AL, N1

MOV BL, N1+1

MOV CL, 04H

ROR BL, CL

OR AL, BL

MOV BCD,AL

MOV AH, 4CH

INT 21H

CODE ENDS

END START

Result: Successfully performed the Unpacked BCD to Packed BCD

13. BCD to ASCII Conversion

Aim: To Perform BCD to ASCII Conversion

Components and Tools required:

1. MASM Software

2. A Personal Computer

PROGRAM:

DATA SEGMENT

BCD DB 17H

ASCII DW ?

DATA ENDS

CODE SEGMENT

ASSUME CS: CODE, DS: DATA

START: MOV AX, DATA

MOV DS, AX

MOV AL, BCD

MOV CL, 04

MOV AH, AL

AND AL, 0FH

AND AH, 0F0H

ROR AH, CL

OR AL, 30H

OR AH, 30H

MOV ASCII, AX

MOV AH, 4CH

INT 21H

CODE ENDS

END START

Result: Successfully Performed BCD to ASCII Conversion

14. ASCII to BCD Conversion

Aim: To perform ASCII to BCD Conversion

Components and Tools required:

1. MASM Software

2. A Personal Computer

PROGRAM:

ASCII to BCD CONVERSION

DATA SEGMENT

ASCII1 DB ‘1’

ASCII2 DB ‘7’

BCD DB ?

DATA ENDS

CODE SEGMENT

ASSUME CS: CODE, DS: DATA

START: MOV AX, DATA

MOV DS, AX

MOV CL, 04H

MOV AL, ASCII1

MOV BL, ASCII2

AND AL, 0FH

AND BL, 0FH

ROR AL, CL

OR AL, BL

MOV BCD, AL

MOV AH, 4CH

INT 21H

CODE ENDS

END START

Result: Successfully Performed ASCII to BCD Conversion

15. Keyboard Display

Aim: To display the characters based on the key pressed on the key pad.

Components and Tools required:

1. 8086 Microprocessor Kit.

2. 8279 Study Card.

3. Cables.

4. Power Supply.

5. Keyboard.

Programs:

Address Location Label Mnemonics

3000

3003

3006

3008

3009

300B

300C

300F

3011

3014

3015

3017

301A

301D

301E

3020

3022

3024

3025

3028

3029

302B

302D

302F

3032

3034

3035

3038

303A

303B

303E

ADDR1:

ADDR3:

ADDR2:

MOV BX,00

MOV DX,0FFC2

MOV AL,00

OUT DX,AL

MOV AL,90

OUT DX,AL

MOV CX,0008

MOV AL,00

MOV DX,0FFC0

OUT DX,AL

LOOP ADDR1

MOV SI,2500

MOV DX,0FFC2

IN AL,DX

AND AL,07

JZ ADDR2

MOV AL,40

OUT DX,AL

MOV DX,0FFC0

IN AL,DX

AND AL,1F

MOV BL,AL

ADD SI,BX

MOV DX,0FFC2

MOV AL,94

MOV DX,AL

MOV DX,0FFC0

MOV AL,0F3

OUT DX,AL

MOV DX,0FFC2

MOV AL,95

3040

3041

3044

3046

3047

3049

OUT DX,AL

MOV DX,0FFC0

MOV AL,[SI]

OUT DX,AL

JMP ADDR3

INT 3

Input: SI-> 2050 => F3H, 60H, B5H, F4H, 66H, D6H, D7H, 70H, F7H, 76H,

77H, C7H, 93H, E5H, 97H, 17H

Output: Displayed on the screen the character pressed.

Result: Successfully displayed the character on the screen.

16. 8255 Interfacing

Aim: To generate the sin, triangle and saw tooth wave forms on the CRO by using 8255

interfacing devices.

Components and Tools required:

1. 8086 Microprocessor Kit.

2. 8255 Study Card.

3. 8255 Power Supply.

4. CRO.

5. Power Supply.

6. Keyboard.

Programs:

1. Sinusoidal Wave Form

Address Location Label Mnemonics

3000

3002

3005

3006

3009

300C

300E

3011

3012

3015

3016

3017

3018

301A

301C

ADDR2:

ADDR1:

MOV AL,80

MOV DX,0FFE6

OUT DX,AL

MOV SI,2500

MOV CX,000C

MOV AL,[SI]

MOV DX,0FFE0

OUT DX,AL

MOV DX,0FFC2

OUT DX,AL

INC SI

DEC CX

JNE ADDR1

JMP ADDR2

INT 3

Input: SI-> 2500 => 80H, C0H, EEH, FFH, EEH, C0H, 80H, 40H, 12H, 00H,

12H, 40H, 80H

Output: Time Period: 1/F=

Amplitude =

Result: Successfully generated the sine wave on the CRO and noted down the time

period and Amplitude.

2. Triangle Wave Form

Address Loca

Tion

Label Mnemonics

3000

3003

3005

3006

3009

300B

300D

3010

3011

3014

3015

3017

301A

301C

301E

3021

3022

3025

3026

3028

302A

ADDR1:

ADDR2:

ADDR3:

MOV DX,0FFE6

MOV AL,80

OUT DX,AL

MOV CX,00FF

MOV AL,00

INC AL

MOV DX,0FFE0

OUT DX,AL

MOV DX,0FFE2

OUT DX,AL

LOOP ADDR2

MOV CX,00FF

MOV AX,CX

DEC AL

MOV DX,0FFE0

OUT DX,AL

MOV DX,0FFE2

OUT DX,AL

LOOP ADDR3

JMP ADDR1

INT 3

Output: Time Period: 1/F=

Amplitude =

Result: Successfully generated the Triangle wave on the CRO and noted down the

time period and Amplitude.

3. Sawtooth Wave Form

Address Location Label Mnemonics

3000

3003

3005

3006

3008

300B

300C

300F

3010

3012

3014

ADDR1:

MOV DX,0FFE0

MOV AL,80

OUT DX,AL

MOV AL,00

MOV DX,0FFE0

OUT DX,AL

MOV DX,0FFE2

OUT DX,AL

INC AL

JMP ADDR1

INT 3

Output: Time Period: 1/F=

Amplitude =

Result: Successfully generated the Saw tooth wave on the CRO and noted down the time period

and Amplitude.

Result: Successfully displayed the wave forms on the CRO.

17. 8259 Interrupt Controller Interfacing

Aim: To generate an interrupt by using 8259 interrupt controller.

Components and Tools required:

1. 8086 Microprocessor Kit.

2. 8259 Study Card.

3. Power Supply.

4. Keyboard.

Programs:

Address Location Label Mnemonics

3000

3003

3005

3006

3009

300B

300C

300E

300F

3011

3012

3013

3015

ADDR:

MOV DX,0FFC8

MOV AL,17

OUT DX,AL

MOV DX,0FFCA

MOV AL,48

OUT DX,AL

MOV AL,03

OUT DX,AL

MOV AL,00

OUT DX,AL

STI

JMP ADDR

INT 3

Address Location Label Mnemonics

2200

2201

2205

2208

CLI

LEA DX,@2100

JMP 2300

INT 3

Address Location Label Mnemonics

2210

2211

2215

2218

CLI

LEA DX,@2110

JMP 2300

INT 3

Address Location Label Mnemonics

2220

2221

CLI

LEA DX,@2120

2225

2228

JMP 2300

INT 3

Address Location Label Mnemonics

2230

2231

2235

2238

CLI

LEA DX,@2130

JMP 2300

INT 3

Address Location Label Mnemonics

2240

2241

2245

2248

CLI

LEA DX,@2140

JMP 2300

INT 3

Address Location Label Mnemonics

2250

2251

2255

2258

CLI

LEA DX,@2150

JMP 2300

INT 3

Address Location Label Mnemonics

2260

2261

2265

2268

CLI

LEA DX,@2160

JMP 2300

INT 3

Address Location Label Mnemonics

2270

2271

2275

2278

CLI

LEA DX,@2170

JMP 2300

INT 3

Address Location Label Mnemonics

2300

2302

2305

2307

230C

230D

230F

MOV SI,DX

MOV CX,0005

MOV AL,[SI]

CALLS 0FE00:0000

INC SI

LOOP 2305

STI, IRET

Input:

2100 -- 49H, 4EH, 54H, 00H, 30H

2110 -- 49H, 4EH, 54H, 00H, 31H

2120 -- 49H, 4EH, 54H, 00H, 32H

2130 -- 49H, 4EH, 54H, 00H, 33H

2140 -- 49H, 4EH, 54H, 00H, 34H

2150 -- 49H, 4EH, 54H, 00H, 35H

2160 -- 49H, 4EH, 54H, 00H, 36H

2170 -- 49H, 4EH, 54H, 00H, 37H

IR-0: 0120 - 00H

0121 - 22H

0122 - 00H

0123 - 00H

IR-1: 0124 - 10H

0125 - 22H

0126 - 00H

0127 - 00H

IR-2: 0128 - 20H

0129 - 22H

012A - 00H

012B - 00H

IR-3: 012C - 30H

012D - 22H

012E - 00H

012F - 00H

IR-4: 0130 - 40H

0131 - 22H

0132 - 00H

0133 - 00H

IR-5: 0134 - 50H

0135 - 22H

0136 - 00H

0137 - 00H

IR-6: 0138 - 60H

0139 - 22H

013A - 00H

013B - 00H

IR-7: 013C - 70H

013D - 22H

013E - 00H

013F - 00H

Output:

4 Way Switch

3 2 1 Interrupt No.

OFF OFF OFF INT 7

OFF OFF ON INT 6

OFF ON OFF INT 5

OFF ON ON INT 4

ON OFF OFF INT 3

ON OFF ON INT 2

ON ON OFF INT 1

ON ON ON INT 0

Result: Successfully performed the interrupts by using the interrupt controller 8259.