Top Banner
Ex.No.2 ADDITION OF TWO 8 BIT NUMBERS Aim: To write a program for adding the given two 8- bit number and store the result in the memory . Specifications: Microprocessor :Intel 8085 Operating Frequency :3.012MHz User RAM Area :4100-5FFF Algorithm: 1. Load the accumulator by data in the address 4200H 2. Move the contents of the accumulator to B Register 3. Load the accumulator by data in the address 4201H 4. Clear C Register 5. Add the content of the accumulator to B Register content 6. If no carry jump to loop 7. Increment C Register 8. Shift the content of the accumulator to the location 4203 9. Move the contents of the C Register to accumulator. 10. Shift the content of the accumulator to the location 4204 11. Hault the current Program
37
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Study of 8086

Ex.No.2

ADDITION OF TWO 8 BIT NUMBERS

Aim:

To write a program for adding the given two 8- bit number and store the result

in the memory .

Specifications:Microprocessor :Intel 8085Operating Frequency :3.012MHzUser RAM Area :4100-5FFF

Algorithm:

1. Load the accumulator by data in the address 4200H2. Move the contents of the accumulator to B Register3. Load the accumulator by data in the address 4201H4. Clear C Register5. Add the content of the accumulator to B Register content6. If no carry jump to loop 7. Increment C Register8. Shift the content of the accumulator to the location 42039. Move the contents of the C Register to accumulator.10. Shift the content of the accumulator to the location 420411. Hault the current Program

Page 2: Study of 8086

Program:

ADDRESS HEXCODE

LABEL MNEMONICS OPERAND COMMENTS

4100 3A,00,42 LDA 4200 Load the accumulator with data in 4200

4103 47 MOV B,A Move the contents of the accumulator to B Register

4104 3A,01,42 LDA 4201 Load the accumulator with data in 4201

4107 0E,00 MVI C,00 Clear C Register

4109 80 ADD B Add the content of the B Register to accumulator.

410A D2,0E,41 JNC loopIf no carry jump to loop

410D 0C INR C Increment C Register

410E 32,02,42Loop

STA 4202 Shift the content of the accumulator to the location 4202

4111 79 MOV A,C Move the contents of the C Register to the accumulator.

4112 32,03,42 STA 4203 Shift the content of the accumulator to the location 4203

4115 76 HLT Stop the current Program

Procedure:

1. Key in opcode from the address specified2. Enter data to 4200, 4201.3. Execute the program and check the result at 4202 and 4203.

Result:

Thus the 8-bit addition with carry is performed.

CONTENT ADDRESS FIELD DATA FIELD

INPUT FIELD 4200 04H4201 09H

OUTPUT FIELD4202 0DH4203 00H

Page 3: Study of 8086

Ex.No.3

ADDITION OF TWO 16 BIT NUMBERS

Aim:

To write an assembly language program to add the given two 16- bit number

with carry and store the result in the memory .

Specifications:Microprocessor :Intel 8085Operating Frequency :3.012MHzUser RAM Area :4100-5FFF

Algorithm:

1. Load the LSB of first data accumulator 2. Move it to B Register3. Load the LSB of the second data in accumulator4. Add the content of the accumulator and B Register.5. Store the result in the given location6. Load the MSB of the first data in the accumulator.7. Move it to B Register8. Load the MSB of the second data in accumulator9. Add the content if no carry jump to address specified10. If carry exist increment C Register11. Shift the content of the accumulator to the desired location12. Move the contents of the C Register to accumulator.13. Shift the content of the accumulator to the desired location14. Hault the current Program

Page 4: Study of 8086

Program:

ADDRESS HEXCODE

LABEL MNEMONICS OPERAND COMMENTS

4100 3A,00,42 LDA 4200 Load the accumulator with data in 4200

4103 47 MOV B,A Move the contents of the accumulator to B Register

4104 3A,02,42 LDA 4202 Load the accumulator with data in 4202

4107 80 ADD B Add the content of the B Register to accumulator.

4108 32,04,42 STA 4204 Store the content of the A to the location 4204

410B 0E,00 MVI C,00Clear C Register

410D 3A,01,42 LDA 4201 Load the content of the accumulator to the location

4110 47 MOV B,A Move the contents of the accumulator to B Register

4111 3A,03,42 LDA 4203 Load the content of A to the location 4203

4114 88 ADC B Add B register with Accumulator and carry

4115 D2,19,41 JNC Loop If no carry Jump to Loop4118 0C INR C Increment C register4119 32,05,42

LoopSTA 4205 Store the content of A to

the location 4205411C 79 MOV A,C Move the content of C to

Accumulator411D 32,06,42 STA 4206 Store the content of A to

the location 4206411E 76 HLT Stop the current Program

Procedure:1. Key in opcode from the address specified2. Enter data to 4200, 42033. Execute the program and check the result at the specified location

Result:Thus the 16-bit addition with carry is performed.

CONTENT ADDRESS FIELD DATA FIELDINPUT FIELD 4200 15H

4201 A0H4202 75H4203 B1H

OUTPUT FIELD4204 8AH4205 51H4206 01H

Page 5: Study of 8086

Ex.No.4

SUBTRACTION OF 8 BIT NUMBERS

Aim:

To write an assembly language program to subtract the given 8 bit number and

to store the result in the memory .

Specifications:Microprocessor :Intel 8085Operating Frequency :3.012MHzUser RAM Area :4100-5FFF

Algorithm:

1. Load the accumulator by data in the address 4200H2. Move the contents of the accumulator to B Register3. Load the accumulator by data in the address 4201H4. Clear C Register5. Subtract the content of the accumulator from B Register content6. If no carry jump to loop 7. Increment C Register8. Shift the content of the accumulator to the location 42039. Move the contents of the C Register to accumulator.10. Shift the content of the accumulator to the location 420411. Hault the current Program

Page 6: Study of 8086

Program:

ADDRESS HEXCODE

LABEL MNEMONICS OPERAND COMMENTS

4100 3A,00,42 LDA 4200 Load the accumulator with data in 4200

4103 47 MOV B,A Move the contents of the accumulator to B Register

4104 3A,01,42 LDA 4201 Load the accumulator with data in 4201

4107 0E,00 MVI C,00 Clear C Register

4109 90 SUB B Subtract the content of the B Register to accumulator.

410A D2,11,41 JNC LoopIf no carry jump to loop

410D 0C INR C Increment C Register410E 2F CMA A Complement A register410F C6,01 ADI 01H Add immediately 01H4111 32,02,42

LoopSTA 4202 Shift the content of the

accumulator to the location 4202

4114 79 MOV A,C Move the contents of the C Register to the accumulator.

4115 32,03,42 STA 4203 Shift the content of the accumulator to the location 4203

4118 76 HLT Stop the current ProgramProcedure:

1. Key in opcode from the address specified2. Enter data to 4200, 4201.3. Execute the program and check the result at 4202 and 4203.

Result:

Thus the 8-bit Subtraction is performed.

CONTENT ADDRESS FIELD DATA FIELD

INPUT FIELD 4200 AAH4201 BBH

OUTPUT FIELD4202 EFH4207 01H

Page 7: Study of 8086

Ex.No.5

BCD SUBTRACTION

Aim:

To write an assembly language program to subtract the given BCD numbers

and to store the result in the memory.

Specifications:Microprocessor :Intel 8085Operating Frequency :3.012MHzUser RAM Area :4100-5FFF

Algorithm:

1. Load the accumulator by data in the address 4200H2. Move the contents of the accumulator to B Register3. Load the accumulator by data in the address 4201H4. Move the contents of the accumulator to E Register5. Load Immediate 99 to find 9’s Complement6. Subtract the content of the E Register content with accumulator7. Add 01H with Accumulator8. Add the content of B register with Accumulator9. Adjust Accumulator content to Decimal10. Store the result11. Hault the current Program

Page 8: Study of 8086

Program:

ADDRESS HEXCODE

LABEL MNEMONICS OPERAND COMMENTS

4100 3A,00,42 LDA 4200 Load the accumulator with data in 4200

4103 47 MOV B,A Move the contents of the accumulator to B Register

4104 3A,01,42 LDA 4201 Load the accumulator with data in 4201

4107 4F MOV C,A Move the contents of the accumulator to C Register

4108 3E,99 MVI A,99 Move the value to Accumulator

410A 91 SUB C Subtract the content of the C Register to accumulator.

410B C6,01 ADI 01 Add immediate value 01410D 80 ADD B Add the value of accumulator

to C410E 27 DAA Convert it to BCD value410F 32,02,42 STA 4202 Store the content of the

accumulator to the location 4202

4112 76 HLT Stop the current ProgramProcedure:

1. Key in opcode from the address specified2. Enter data to 4200, 4201.3. Execute the program and check the result at 4202

Result:

Thus the BCD Subtraction is performed.

CONTENT ADDRESS FIELD DATA FIELD

INPUT FIELD 4200 25H4201 50H

OUTPUT FIELD4202 25H

Page 9: Study of 8086

Ex.No.6

8 – BIT MULTIPLICATION

Aim:

To write a program for multiplying the given two 8- bit number and store the

result in the memory.

Specifications:Microprocessor :Intel 8085Operating Frequency :3.012MHzUser RAM Area :4100-5FFF

Algorithm:

1. Load the accumulator by data in the address 4200H2. Move the contents of the accumulator to B Register3. Load the accumulator by data in the address 4201H4. Move the contents of the accumulator to C Register5. Clear C Register and Accumulator6. Add the content of the accumulator to B Register content7. If no carry jump to loop 8. Increment D Register9. Decrement C Register10. Jump on no zero to loop111. Store the content of the accumulator to the desired location 12. Move the contents of the D Register to accumulator13. Shift the content of the accumulator to the desired location 14. Hault the current Program

Page 10: Study of 8086

Program:

ADDRESS HEXCODE

LABEL MNEMONICS OPERAND COMMENTS

4100 3A,00,42 LDA 4200 Load the accumulator with data in 4200

4103 47 MOV B,A Move the contents of the accumulator to B Register

4104 3A,01,42 LDA 4201 Load the accumulator with data in 4201

4107 4F MOV C,A Move the contents of the accumulator to C Register

4108 AF XRA A Clear A register4109 16,00 MVI D,00 Clear D register410B 80

Loop1ADD B Add the contents of

accumulator to B register410C D2,10,41 JNC Loop Jump to given location if there

is no carry410F 14 INR D Increment the D register

4110 0D Loop DCR C Decrement the C register4111 C2,0B,41 JNZ Loop1 Jump to given location if it is

not zero4114 32,02,42 STA 4202 Store the content of A to the

location 42024117 7A MOV A,D Move the contents of D register

to accumulator4118 32,03,42 STA 4203 Store the content of A to the

location 4203411B 76 HLT Stop the current Program

Procedure:

1. Key in opcode from the address specified2. Enter data to 4200, 4201.3. Execute the program and check the result at 4202 and 4203.

Result:

Thus the 8-bit multiplication is performed.

CONTENT ADDRESS FIELD DATA FIELD

INPUT FIELD 4200 04H4201 03H

OUTPUT FIELD4202 0CH4203 00H

Page 11: Study of 8086

Ex.No.7

BCD MULTIPLICATION

Aim:

To write a program for multiplying the given two 8-bit BCD number and

store the result in the memory.

Specifications:Microprocessor :Intel 8085Operating Frequency :3.012MHzUser RAM Area :4100-5FFF

Algorithm:

1. Load the accumulator by data in the address 4200H2. Move the contents of the accumulator to B Register3. Load the accumulator by data in the address 4201H4. Move the contents of the accumulator to C Register5. Clear D Register and Accumulator6. Add the content of the accumulator to B Register content7. Adjust for decimal8. If no carry jump to loop 9. Increment D Register10. Decrement C Register11. Jump on no zero to loop112. Store the content of the accumulator to the desired location 13. Move the contents of the D Register to accumulator14. Store the content of the accumulator to the desired location 15. Hault the current Program

Page 12: Study of 8086

Program:

ADDRESS HEXCODE

LABEL MNEMONICS OPERAND COMMENTS

4100 3A,00,42 LDA 4200 Load the accumulator with data in 4200

4103 47 MOV B,A Move the contents of the accumulator to B Register

4104 3A,01,42 LDA 4201 Load the accumulator with data in 4201

4107 4F MOV C,A Move the contents of the accumulator to C Register

4108 AF XRA A Clear A register4109 16,00 MVI D,00

Clear D register

410B 80Loop1

ADD B Add the contents of B register to A

410C 27 DAA Decimal adjust the contents of accumulator

410D D2,11,41 JNC Loop Jump to given location if there is no carry

4110 14 INR D Increment the D register4111 0D Loop DCR C Decrement the C register4112 C2,0B,41 JNZ Loop1 Jump on no zero to Loop1 4115 32,02,42 STA 4202 Store the content of A to the

location 42024118 7A MOV A,D Move the contents of the to

D Register to accumulator4119 32,03,42 STA 4203 Store the content of A to the

location 4202411C 76 HLT Stop the current Program

Procedure:

1. Key in opcode from the address specified2. Enter data to 4200, 4201.3. Execute the program and check the result at 4202 and 4203.

Result:

Thus the 8-bit BCD multiplication is performed.

CONTENT ADDRESS FIELD DATA FIELD

INPUT FIELD 4200 04H4201 03H

OUTPUT FIELD4202 12H4203 00H

EX.NO.8

Page 13: Study of 8086

8 BIT DIVISION

Aim:

To write a program for dividing the given 8- bit number and store the result in

the memory

Specifications:Microprocessor :Intel 8085Operating Frequency :3.012MHzUser RAM Area :4100-5FFF

Algorithm:

1. Load the accumulator by data in the address 4200H2. Move the contents of the accumulator to C Register3. Load the accumulator by data in the address 4201H4. Clear D Register5. Subtract B Register6. Increment C Register and compare B register with accumulator7. If no carry jump to loop 8. Store the content of the accumulator to the location 42039. Move the contents of the D register to accumulator.10. Store the content of the accumulator to the location 420411. Hault the current Program

Program:

Page 14: Study of 8086

ADDRESS HEXCODE

LABEL MNEMONICS OPERAND COMMENTS

4100 3A,00,42 LDA 4200 Load the accumulator with data in 4200

4103 48 MOV C,A Move the contents of the accumulator to C Register

4104 3A,01,42 LDA 4201 Load the accumulator with data in 4201

4107 16,00 MVI D,00 Clear D Register4109 91

LoopSUB C Subtract the content of the

C Register to accumulator.410A 14 INR D

Increment D Register

410B B9 CMP C Compare with C reg410C D2,09,41 JNC Loop If no carry jump to loop410F 32,02,42 STA 4202 Store the content of A to

the location 42024111 7A MOV A,D Move the contents of the

D Register to the A4112 32,03,42 STA 4203 Store the content of A to

the location 42034115 76 HLT Terminate the program

Procedure:

1. Key in opcode from the address specified2. Enter data to 4200, 4201.3. Execute the program and check the result at 4202 and 4203.

Result:

Thus the 8-bit Division is performed.

CONTENT ADDRESS FIELD DATA FIELD

INPUT FIELD 4200 02H4201 70H

OUTPUT FIELD4202 00H4208 35H

EX.NO.9

Page 15: Study of 8086

BLOCK MOVE AND REVERSING AN ARRAY OF ELEMENTS

Aim:

To write an assembly language program to perform block move and reversing an array of elements.

Specification:

Microprocessor : Intel 8085Operating frequency : 3.102 MHZUser RAM area : 4100-5FFFH

Algorithm:

Block Move:

1. Move immediately the data 05H to the register C.2. Load the HL-register pair with data.3. Load the DE-register pair with data.4. Move the contents of memory to the accumulator.5. Store the content of the DE register pair.6. Increment the HL-register pair.7. Decrement the register-C.8. If no zero jump to the loop.9. Stop the program.

Reversing An Array Of Elements:

1. Load the HL register pair with some data in 42002. Load the BC register pair in 43003. Move immediately the data 05H to the register D.4. Move the C-register value to the accumulator.5. Add the content of the accumulator with D-register.6. Move the accumulator content to the C-register.7. Decrement the content of the BE-register pair.8. Move the content of M to the accumulator.9. Store the content of the BC-register pair.10. Increment the content of the HL-register pair.11. Decrement the content of the BC-register pair.12. Decrement the content of D-register.13. If no zero jump to the loop.14. Stop the process.

Program:Block Move:

Page 16: Study of 8086

ADDRESS HEXCODE LABEL MNEMONIC OPERAND COMENTS

4100 0E,05 MVI C,05 Move immediately the data 05H to the register C.

4102 21.00,42 LXI H,4200 Load the HL-register pair with data.

4105 01,00,43 LXI D,4300 Load the DE-register pair with data.

4108 7E Loop MOV A,M Move the contents of memory to the accumulator.

4109 12 STAX D Store the content of the DE register pair.

410A 23 INX H Increment the HL-register pair.

410B 13 INX D Increment the DE-register pair.

410C 0D DCR C Decrement the register-C.410D C2,08,41 JNZ Loop If no zero jump to the loop.4110 76 HLT Stop the program.

Reversing An Array Of Elements:

ADDRESS HEXCODE LABEL MNEMONICS OPERAND COMMENTS

4100 21,00,42 LXI H,4200 Load the HL pair with some data in 4200

4103 D1,00,43 LXI B,4300 Load the BC pair in 4300

4106 16,05 MVI D,05 Move immediately the data 05H to D register

4108 79 MOV A,C Move the C-register value to the A

4109 82 ADD D Add the content of D with Accumulator

410A 4F MOV C,A Move the accumulator content to the C-register

410B 0B DCX B Decrement the content of the BE-register pair

410C 7E Loop MOV A,M Move the content of M to the accumulator

410D 02 STAX B Store the content of the BC-register pair

410E 23 INX H Increment the content of the HL-register pair

410F 0B DCX B Decrement the content of the BC-register pair.

4110 15 DCR D Decrement the content of D-register.

4111 62,0C,41 JNC Loop If no carry jump to the loop.

4114 76 HLT Stop the process.

Procedure:Block Move and Reversing An Array Of Element:

1. Key in opcode from the specified location.

Page 17: Study of 8086

2. Enter the data into the memory and execute the program.3. Check for the result and stop the program.

Reversing An Array Of Elements:

Result:

Thus block moving and reversing an array of element is executed successfully and the output is verified.

Block Move:

CONTENT ADDRESS FIELD DATA FIELD

INPUT FIELD 4200 01H4201 02H4202 03H4203 04H4204 05H

OUTPUT FIELD4300 01H4301 02H4302 03H4303 04H4304 05H

Reversing An Array Of Elements:

CONTENT ADDRESS FIELD DATA FIELDINPUT FIELD 4200 01H

4201 02H4202 03H4203 04H4204 05H

OUTPUT FIELD 4300 05H4301 04H4302 03H4303 02H4304 01H

Ex.No.10

ASCENDING ORDER AND DESCENDING ORDER

Aim:

Page 18: Study of 8086

To write an assembly language program to perform ascending order and descending order.

Specification:

Microprocessor : INTEL 8085Operating frequency : 3.102 MHZUser RAM area : 4100-5FFFH

Algoritham:

Ascending Order and Descending Order:

1. Move immediately the data 04H to C-register.2. Load the HL-register pair in the location 4200H3. Move immediately the data 03H to D-register4. Move the content if M to the accumulator5. Increment the content of Hl register pair6. Compare the content of M register with accumulator.7. If carry is present jump to loop for ascending order and jump on no carry to

loop for descending order.8. Move the content of M to the B-register9. Move the accumulator content to M-register pair10. Decrement the content of the HL-register pair.11. Move the content of B-register to M register.12. Increment the HL-register pair13. Decrement the D-register.14. If no zero jump to the loop15. Decrement the content of C-register.16. If no zero jump to the loop17. Stop the program.

Program:

ADDRESS HEXCODE LABEL MNEMONICS OPERAND COMMENTS

4100 0E,04 MVI C,04 Move immediately 04H to C-register.

Page 19: Study of 8086

4102 21,00,42 Loop3 LXI H,4200 Load the HL-register pair in the location 4200

4105 16,03 MVI D,03 Move immediately the data 03H to D-register

4107 7E Loop2 MOV A,M Move the content if M to the accumulator

4108 23 INX H Increment the content of HL register pair

4109 BE CMP M Compare contents of M with accumulator.

410A DA,12,41 JC Loop1 If carry is present jump to Loop1

410D 46 MOV B,M Move the content of M to the B-register

410E 77 MOV M,A Move the accumulator content to M-register pair

410F 2B DCX H Decrement the content of the HL-register pair.

4110 70 MOV M,B Move the content of B to M register.

4111 23 INX H Increment the HL pair4112 15 Loop1 DCR D Decrement the D reg.4113 C2,07,41 JNZ Loop2 If no jump to the Loop24116 0D DCR C Decrement the content of

C-register.4117 C2,02,41 JNZ Loop3 Jump on zero to the

loop3411A 76 HLT Stop the program.

Program:

ADDRESS HEXCODE LABEL MNEMONICS OPERAND COMMENTS

4100 0E,04 MVI C,04 Move the 04H to C-register4102 21,00,42 Loop3 LXI H,4200 Load the HL-register pair 4105 16,03 MVI D,03 Move immediately the data

03H to D-register4107 7E Loop2 MOV A,M Move the content if M to

the accumulator4108 23 INX H Increment the content of

HL register pair4109 BE CMP M Compare the M with

accumulator.410A D2,12,41 JNC Loop1 If no carry jump to loop1410D 46 MOV B,M Move the content of M to

the B-register410E 77 MOV M,A Move the accumulator

content to M-register410F 2B DCX H Decrement the content of

the HL-register pair.4110 70 MOV M,B Move the content of B-

register to M register.4111 23 INX H Increment the content of

HL-register pair

Page 20: Study of 8086

4112 15 Loop1 DCR D Decrement the content of D-register.

4113 C2,07,41 JNZ Loop2 Jump on no zero to loop24116 0D DCR C Decrement the content of

C-register.4117 C2,02,41 JNZ Loop3 Jump on no zero to loop3411A 76 HLT Stop the program.

Procedure:Ascending Order And Descending Order:

1. Key in opcode from the specified location.2. Enter the data into the memory and execute the program.3. Check for the result and stop the program.

Result:

Thus the ascending order and descending order are executed successfully and the output is verified

Ascending Order:

CONTENT ADDRESS FIELD DATA FIELDINPUT FIELD 4200 06H

4201 01H4202 08H4203 02H

OUTPUT FIELD 4200 01H4201 02H4202 06H4203 08H

Descending Order:

CONTENT ADDRESS FIELD DATA FIELDINPUT FIELD 4200 05H

4201 01H4202 07H4203 03H

OUTPUT FIELD 4200 07H4201 05H4202 03H4203 01H

Ex.No.11

TRAFFIC CONTROLLER

Aim:

Page 21: Study of 8086

To write an assembly language program to do traffic signal controller and store result in memory.

Specification:

Microprocessor : INTEL 8085Operating frequency : 3.102 MHZUser RAM area : 4100-5FFFH

Algorithm:

1. Load the HL-register pair, move the data OC to C-register.2. Move the pair to A-register, out the counter3. Increment HL pair, move HL pair to A-register.4. Out the port A, increment HL pair.5. Move the HL pair to A-register, out port B, call delay.6. Increment HL pair, decrement C register.7. If no jump to loop1, jump to start.8. Push B, initialize 05 to C-register.9. Move D-register to accumulator10. OR the E-register11. If no jump to loop, decrement C register.12. If no jump to loop, pop the B-register.13. Return.

Program:

ADDRESS HEXCODE LABEL MNEMONICS OPERAND COMMENTS

4100 21,00,45 Start LXI H,4500 Load the HL-register pair4103 OE,OC MVI C,OC Move data OC to C register4105 7E MOV A,M Move HL contents to

accumulator

Page 22: Study of 8086

4106 D3,OF OUT CNT Count the value4108 23 INX H Increment HL pair4109 7E Loop1 MOV A,M Move the content of M to

A-register410A D3,OC OUT A Out A port410C 23 INX H Increment HL register pair410D 7E MOV A,M Move the content of M to

accumulator410E D3,OD OUT B Out B port4110 CD,1B,41 CALL Delay Call the Delay4113 23 INX H Increment HL pair4114 OD DCR C Decrement the C register4115 C2,09,41 JNZ LOOP1 If no zero jump to loop4118 C3,00,41 JMP Start Jump to Start411B C5 Delay PUSH B Push B register411C OE,05 MVI C,05 Move data 05 to C register411E 11,FF,FF Loop3 LXI D,FF,FF Load the DE-pair4121 1B Loop2 DCX D Decrement D-register4122 7A MOV A,D Move D-register to

accumulator4123 B3 ORA E OR the E-register4124 C2,21,41 JNZ Loop2 If no zero jump to Loop24127 OD DCR C Decrement C-register4128 C2,1E,41 JNZ Loop3 If no zero jump to Loop3412B C1 POP B Pop the B-register412C C9 RET Return

Procedure:

4. Key in opcode from the specified location.5. Enter the data in 4500 to 4508.

Result:

Thus the traffic signal controller is carried out.

CONTENT ADDRESS FIELD DATA FIELDInput field 4500 80,1A,A1,64,

A4,81,5A,64,54

Ex.No.12

STUDY OF 8086 MICROPROCESSOR

Aim:

To study about the operation of 8086 Microprocessor

Page 23: Study of 8086

Specification:

1. Processor, Clock Frequency: Intel 8086/8088CPU at 5/4.77 MHz Clock

2. Memory:

MONITOR EPROM : F000:0000-3FFF for 16K

EPROM EXPANSION : F000:0000-1FFF for 64K

SYSTEM RAM : 0000:1000-3FFF for 16K

SYSTEM RAM EXPANSION : 0000:1000-FFFF for 64K

INTERRUPT VECTORS : 0000:0000-03FF

STACK/DATA AREA : 0000:0400-0FFF

(MONITOR,ASM/DSM,EDITOR)

3. PERIPHERALS:

PARALLEL I/O : 48 I/O lines using two numbers of 8255

SERIAL : one number of RS232C – Serial Interface using 8251A

USART

Timer : 3 Channel 16- Programmable Timer 8253. Channel 0

used as baud rate generator for the Serial Port

4. DISPLAY : 16*2 LCD DISPLAY

5. KEYBOARD : IBM PC-AT KEYBOARD

6. AUDIO CASSETTE INTERFACE WITH FILE MANAGEMENT

7. SYSTEM POWER CONSUMPTION: +5V : 1.5 Amps

8. POWER SUPPLY SPECIFICATIONS:

Model : SMPS-01

Mains : 230V AC at 50Hz

Input : 230V AC at 50H

Output : +5Volts, 3 Amps regulated

+12Volts, 250 mA regulated

-12Volts, 250 mA regulated

+30Volts, 250mA regulated

9. PHYSICAL CHARACTERISTICS:

M -86/88 LCD PCB : 830mm*680mm

10. Bus Expansion:

A new concept of VXT_Bus has been incorporated in M – 86/88 LCD

which facilitates addition of extra hardware on to M-86/88 LCD. An

unlimited number of Add-On Boards can be added to this expansion bus.

Page 24: Study of 8086

All buffered address, data and control signals are brought out to this bus.

The trainer provision for one VXT_Bus connectors.

COMMAND KEY FUNCTION MEMORY:

RES :

This RES key allows the user to terminate any activity and return the M- 86/88

LCD to an initialized state. When pressed, message appears in the display for a few

seconds and then the monitor will come to the command prompt “TECH-8086” only

after this prompt is displayed, the commands will be accepted.

INT :

The INT key allows the user to interrupt any activity and return to the

command prompt.

Substitute Memory Command:

Function:

This command is used to examine the contents of selected memory location

and modify the RAM contents if desired.

Syntax:

(i) #SB <ADDR><CR>

#SB - Substitute byte command word

<ADDR> - User can enter the address in segment

<CR> - Keyboard Return

(ii) #SW <ADDR><CR>

#SW - Substitute Word command word

<ADDR> - address either segment

<CR> - Keyboard Return

Register Command:

Syntax:

#R <R><CR>

R - Register view/modify command word

<CR> - Carriage Return

Go and Execute Command:

Function:

The Go and Execute command is used to run a program. This command

transfers control of the 8086A CPU from the monitor program to user programs.

Page 25: Study of 8086

Syntax:

#GO <ADDR><CR>

#GO - Go command

<ADDR> - 16 bit address

<CR> - Carriage Return

Go and Execute Command with break point:

Function:

This command executes a block of program whose start and end address are

specified.

Syntax:

#GO <Start ADDR><End ADDR><CR>

#GO - Go with break command

<start ADDR> - Program start address

<End ADDR> - Program end address

<CR> - Carriage Return

Trace command:

Function:

This command helps the user to execute programs in steps i.e Instruction. This

command will be very helpful while debugging programs.

Syntax:

#TR <ADDR><CR>

#TR - Trace command word

<ADDR> - Program starting address

<CR> - Carriage Return

Fill command:

Function:

This command permits a block of RAM memory to be filled with desired data

byte.

Syntax:

(i) #FB <Start ADDR><End ADDR><Byte data><CR>

# FB - Fill byte command word

<Start ADDR > - Block starting address

<End ADDR> - Block ending address

<Byte data> - Word data to be filled

Page 26: Study of 8086

<CR> - Carriage Return

(ii) #FW <Start ADDR><End ADDR><data><CR>

# FW - Fill Word command word

<Start ADDR > - Block starting address

<End ADDR> - Block ending address

<Byte data> - Word data to be filled

<CR> - Carriage Return

Insert command:

Function:

This command inserts specified file bytes in the desired memory location.

Syntax:

#ISB <Insert ADDR><Program End ADDR ><CR>

# ISB - Insert Byte command Prompt

<Insert ADDR> - Insert address

<Program End ADDR> - End address of the block

<CR> - Carriage Return

Delete command:

Function:

This command deletes a block of bytes from a memory.

Syntax:

#DEB <Start ADDR><End ADDR><Program End ><CR>

# DEB - Delete Byte command Word

<start ADDR> - Delete block start address

<End ADDR> - Delete block End address

<Program End > - Program End Address

<CR> - Carriage Return

Input command:

Function:

This command Inputs data from the desired Port.

Syntax:

#IB <Port ADDR ><CR>

# IB - Input Byte command Word

<Port ADDR> - Valid Input address

Page 27: Study of 8086

<CR> - Carriage Return

Output command:

Function:

This command Outputs data to the desired Port.

Syntax:

#OB <Port ADDR ><Data><CR>

#OB - Output Byte command Word

<Port ADDR> - Valid Output address

<Data> - Output Data

<CR> - Carriage Return

RESULT:

Thus, the operation of 8086 microprocessor is studied.