8086 Microprocessor Lab Environments 8086 Programming by Ravinder Nath Rajotiya - February 21, 2022February 21, 20220 Different ways to write 8086 Assembly Program Introduction The MPI Lab experiments can be performed using the microprocessor trainer kit or it can be performed using a PC installed with one of the different assembler available like MASM611, NASM, TASM and so on. It all depends on the instructor/faculty which one they prefer. The advantage with the trainer kit is that you can view the different ICs and other components on the kit, you can manually set certain settings using different jumpers/links on the motherboard and feel the concept of low level programming. You are required to first write the program on a coding sheet or notebook, then manually assemble it referring the mnemonic/hex code table and substituting the address all manually with
Experiment-5 Reading a number from One Port and Sending it to another Port 8086 Programming by Ravinder Nath Rajotiya - April 15, 2021May 9, 20220 Aim: Write a Program to read 16 bit Data from a port and display the same in another port. Objectives: [ To learn configuring of Key board and display module with 8086 microprocessor using 8255PPI Design algorithm and develop a program for accepting data from oneport and displaying it to LCD connected to other port. Equipment Require: 8255 Display Module, 8086 trainer Kit Theory: A Simple approach We can make use of the 8086 IN and OUT instruction to read the data from the device attached to a port and send the data to another port. We can access the ports using direct addressing or indirect addressing Direct address can be provided in the instruction Indirect address is loaded in DX register. here is simple program statements for the
Experiment-6: Generating Square wave with 8254 PIT 8086 Programming by Ravinder Nath Rajotiya - April 15, 2021May 6, 20220 AIM: Write a Program to generate a square wave using 8254. Write an assembly language program in 8085 microprocessor which generates 1 KHz square waveform by using counter 2 as a binary counter if clock frequency of 8254 is 2 MHz. Objective: To understand the mode of operation of 8254 To understnd the calculation of count value To develop the program for generating a square wave pulse using 8254 Assumption – Assume the port addresses are 8C01 H, 8C03 H, 8C05 H, 8C07 H for Counter-0, Counter-1, Counter-2, Control Register. Modes of Operation: 8254 can operate in six mode of operations. These are: Mode-0: Interrupt on Terminal Count –Mode 0 is typically used for event counting Mode-1: Hardware Retriggreable One Shot Mode-2: Rate Generator) –Initially value of OUT is low.
Experiment Number 2 8086 Programming by Ravinder Nath Rajotiya - April 19, 2019May 25, 20220 AIM :Write a program to multiply two 8 bit numbers by repetitive addition method using 8086 Objective: After completing this experiment, students will be able to : understand opcode and mnemonic of the program Draw the flowchart of the program Write the algorithm of the program to multiply two 8-bit numbers Write the program to multiply two numbers Run and debug the program System Requirement: 8086 Trainer Kit with Key Board Setting up the Trainer Kit: Ensure that standard IBM PC/AT system keyboard is connected System is Powered ON Student has a handy opcode table for programming Flow Chart: Logic / Algorithm Start Initialize the CL register to store the multiplier, clear accumulator (AL) and register BL and SI and DI register Read the contents of
Experiment-3 Program to generate Fibonacci series 8086 8086 Programming by Ravinder Nath Rajotiya - April 19, 2019April 15, 20210 AIM : Write a Program to generate Fibonacci series Objectives: After completing this experiment, students will be able to : understand the use of 8086 mnemonics and their opcode Draw Flowchart for the program Develop program to generate the Fibonacci series analyse the program System Requirement : 8086 Trainer Kit with Key Board Setting up the Trainer Kit: Ensure that standard IBM PC/AT system keyboard is connected System is Powered ON Student has a handy opcode table for programming Logic / Algorithm Start Initialize the CL register to store the to numbers accumulator (Ax) to ‘0000, register BL to first no. and DI to starting destination address Save first number from BL to [DI} and Increment the DI. Add AL and number in