Part Ii 8086 Lab Manual

Posted on by  admin

8086 microprocessor lab manual. 8086 programs. LCALL 0003 21.Sri Siddhartha Institute of Technology Part-II 8051 8-bit Microcontroller 1.#04H MOV R1.

  • 8086 Lab Manual - Ebook download as PDF File (.pdf), Text File (.txt) or read book online. 1/Expt-2 Familiarization with the Assembly Instructions of 8086. We can set the 'Segment' part of our desired memory location. The 8086 is reset and.
  • From the bitsavers.org collection, a scanned-in computer-related document.intel:: 8086:: 210954-002 iAPX 86, 88, 186 Microprocessors Part II Jul 84 NJ7P-S.

The PS – 86A board is based on Intel, which operates at 6.144 MHz using the crystal of 18.432. The board can operate using the 101/104 PC keyboard supplied along with the trainer kit and 2 Line by 16-character LCD display or from the PC (using the Terminal Emulation Software). Microprocessor’s Address, Data and Control bus pins are brought to the 50 pin FRC connector. PS -86A is equipped with powerful software monitor in two- 27C256 EPROM. The monitor supports Video terminal RS232C interface, local 101keyboard and LCD display. The board has 64KB CMOS static RAM (type 62256). PS -86A works on +9V DC.

8086 Specifications ☞ 8086 Microprocessor operating at 18.432 MHz ☞ 16KB powerful software monitor two 27C256 EPROM ☞Three 16-bit programmable timers from 8253 ☞ 48 programmable I/O lines from two nos. Of 8255 ☞Serial interface using 8251 ☞ 50 pin FRC connector for system bus expansion ☞ 20 pin FRC connector for user interface from 8255 ☞ 9 pin D type connectors for RS 232 interface ☞Six different selectable baud rates from 150 to 9600 ☞ 101 PC type keyboard for entering user address/data and for commands ☞Built in line-by-line assemble and disassemble ☞User friendly software monitor for loading and executing programs with break point facility System Description Hardware Processor Clock Frequncy 8086 operates at 18.432 MHz clock. Memory ☞ Monitor EPROM: 0000 –FFFF (SEGMENT) ☞ System RAM: 0000 –FFFF (SEGMENT) 1000 – 3FFF (Reserved For Monitor program) ☞ User RAM Area: 1100 – 3FFF Allocation Of Eprom. Connector Details 20 Pin Expansion Connectors The 20 Pin FRC connector is used to interconnect with the Interface cards like ADC, DAC, SWITCH/LED, RELAY buzzer Interfaces etc.

Pin details are given below 50 Pin Expansion Connector The 50 Pin FRC connector is used to interconnect with the Interface cards like 8255, 8279, 8253/8251, 8259, 8257 and the pin details are given below Keyboard Connector 9Pin ‘d’ Type (Female) 8251 - Universal Synchronous / Asynchronous Receiver / Transmitter. RS232 Bridge Converter.

8086 lab manual

The system displays the message SERIAL MODE. To come back to LCD mode (Normal Mode) user has to press the ‘N’ key in the computer keyboard otherwise press the Reset button. Programming The 8086 Trainer Kit Procedure 1: TO ENTER THE MNEMONICS 1) Initially connect the 9V adaptor to J10 connector 2) Switch ON the PS-8086 kit using slide Switch SW1 3) “PS - 86” will be displayed on the LCD 4) Connect the Keyboard in PS/2 connector 5) Depress “A” starting address of the program for Ex: A1100 For ex: A1100 enter key Type the mnemonics MOV AX, 1212press Enter key Type the mnemonics MOV BX, 1212 press Enter key and continue the same procedure till the end of the program.

6) To verify the code depress D starting address and depress space bar to see next memory location For Ex: D1100 and press spacebar till the end of the program 7) To execute the program Depress “G staring address for Ex: G1100. 8) To see the result depress “M result address” for Ex: M1200.

9) To view the output in the Register depress ‘R’ and press enter key in keyboard. Procedure 2: TO ENTER THE OPCODE Follow the same procedure till step 4 1) Depress “M” starting address of the program for Ex: M1100 For ex: M1100 press enter Type the opcode B8 space bar Type the opcode 12 space bar and continue the same till the end of the program. 2) To view the code depress D starting address and depress space bar to see next memory For Ex: D1100 and press spacebar till the end of the program 3) To execute the program Depress “G staring address for Ex: G1100.

8086 Lab Manual

4) To see the result depress “M result address” for Ex: M1200. 5) To view the output in the Register depress ‘R’ and press enter key in keyboard Note: ☞ “M” is used for displaying the result, for Ex: M8500 ☞ “M” is used to entering the Opcode. ☞ “M” is used for entering the data. Note: There are two ways to enter the program ☞Mnemonics method ☞Opcode method Sample program is given to enter the program in both the methods PROGRAMMING DETAILS Programming 8086 Overview ☞The uses a multiplexed 16 bit address and address bus ☞During the first clock of machine cycle the 16 bit address s sent out on address/data bus ☞These 16 bit addresses may be latched externally by the address latch enable signals(ALE) ☞ can access 1024kb of external memory using its 20 bit address and memory read/write signals ☞The 8086 provide s0, s1 and s2 signals for bus control.

Gray Code Conversion (Look Up Table) Flow Chart AlgorithmFlow Chart ☞Load the memory with truth table of gray codes. ☞Initialize the pointer to the memory for data and result. ☞Load AL with the data from memory. ☞Convert gray code for that data.

☞Store the result into Memory. Input ☞Data in 1500. Output ☞Result in 1501.

Lookup Table ☞Start from 1600. The look up table is provided by hex or of two bits in a byte the value ranges from 00 to 0f. 1600 - 00 01 03 02 06 07 05 04 0c 0d 0f 0e 0a 0b 09 08. ADDRESS OPCODE MNEMONICS COMMENTS 1100 B0 10 MOV AL,10 Load register AL with the data 10 1102 88 C4 MOV AH,AL Load AL value into AH 1104 80 E4 OF AND AH,0F Mask higher bits 1107 88 E3 MOV BL,AH Load AH value into BL 1109 24 F0 AND AL,F0 Mask lower bits 110B B1 O4 MOV CL,04 Load 04 value into CL 110D D2 C8 ROR AL,CL Rotate the data from last 4bits to first 4 bits 110F B7 0A MOV BH,0A Load 10 value into BH 1111 F6 E7 MUL BH Multiply by 10 1113 00 D8 ADD AL,BL Add lower nibble to the multiplied data 1115 CC INT3 Break point.

ADDRESS OPCODE MNEMONICS COMMENTS 1100 B1 08 MOV CL, 08 Initialize 08 into CL 1102 BE 00 20 MOV SI, 2000 Load 2000 address into SI 1105 BF 00 30 MOV DI, 3000 Load 3000 address into DI 1108 AC LODSB Load the counter value 1109 D0 C8 ROR AL,1 Rotate AL in one time 110B 72 FB JB 1108 If carry occurs go to L1 (odd Data) 110D D0 C0 ROL AL, 1 Else rotate by left to get original data 110F 88 05 MOV D1, AL Store the even data 1111 47 INC DI Increment DI 1112 FE C9 DEC CL Decrement CL 1114 75 F2 JNZ 1108 Loop executes until counter is zero 1116 CC INT3 Break point. ADDRESS OPCODE MNEMONICS COMMENTS 1100 B1 10 MOV CL, 10 Initialize 10 into CL register 1102 B3 00 MOV BL, 00 Initialize 00 into BL register 1104 B2 01 MOV DL, 01 Initialize 01 into DL register 1106 BF 00 20 MOV DI, 2000 Load 2000 into DI 1109 88 D0 MOV AL, DL Move DL value into AL 110B 00 D8 ADD AL, BL Add BL value with AL register 110D 88 05 MOV DI,AL Store AL value into DI. 110F 47 INC DI Increment DI 1110 88 D3 MOV BL, DL Move DL value BL register 1112 88 C2 MOV DL, AL Move AL value DL register 1114 FE C9 DEC CL Decrement CL 1116 75 F3 JNZ110B If count is zero then go to 110B 1118 CC INT3 Breakpoint. ADDRESS OPCODE MNEMONICS COMMENTS 1100 BB 00 00 MOV BX,0000 Load 0000 into BX 1103 BE 00 90 MOV SI,9000 Array start address 1106 B8 00 00 MOV AX,0000 Load 0000 into AX 1109 B1 06 MOV CL,06 Initialize 06 into CL register 110B 88 CD MOV CH,CL Load the count value into CH 110D 8A 1C MOV BL,SI Get the data byte 110F 00 D8 ADD AL,BL Add the data byte 1111 46 INC SI Increment the SI pointer 1112 FE C9 DEC CL Check the count 1114 75 F7 JNZ 110D If count is not zero then go to 110D 1116 F6 F5 DIV CH Find the average by sum/count 1118 CC INT3 Break point. Descending Order Algorithm ☞Get the first data and compare with the second data. ☞If the two data are in descending order then no swap.

☞Else swap the data byte by descending order and then again compare the other data bytes up to the count. ☞Do the above the array is a ranged in descending order.

☞Finally the array is arranged in ascending order. Input Enter the count in location 9000. Enter the data location starting from 9001. Output Result in descending order in the location 9001. Flow chart Program.

Ascending Order Algorithm ☞Get the first data and compare with the second data. ☞If the two data are in ascending order then no swap. ☞Else swap the data byte by ascending order and then again compare the other data bytes up to the count.

☞Do the above the array is arranged in ascending order. ☞Finally the array is arranged in ascending order. Input Enter the count in location 9000. Enter the data location starting from 9001.

Output Result in ascending order in the location 9001. Flow chart Program. ONE'S COMPLEMENT OF A 16-BIT NUMBER Objective To find the one's complement of the data in register pair AX and store the result at 1400.

Theory In the one's complement of a binary number the ones are changed to zeros and vice versa. It is one way of representing negative numbers. All negative numbers start with a 1 at the MSBit. For instance considering the hex number 5600 For ex: 5600 = 0101 0110 0000 0000 One's complement = 1010 1001 1111 1111 = A9FF Example The example given is to find the one's complement of 1234 and store it in memory location 1400.

Input: Data: (AX) = 0001 0010 0011 0100 = 1234 Result: 1400 = 1110 1101 1100 1011 = EDCB. Procedure ☞Enter the above mnemonics into RAM memory from 1100 using the assembler command. ☞Using GO command execute the program and enter 1100. This is the address from where execution of your program starts.

☞Press ENTER key to start execution. ☞Reset the kit using RESET key. Masking Off Bits Selectively Objective To clear 8 selected bits, the 2nd HN and the HN in a 16 bit number. Theory The logical AND instruction is used for masking off bits. The bits which have to be cleared are to be AND with a logical zero and the other bits are to be high. Hence to achieve the above objective, AND with 0F0F. Example The 16 bit number is at location 1200 and the result is at location 1400.

Input: 1200 = FF 1201 = FF Result: 1400 = 0F 1401 = 0F.

Comments are closed.