The document outlines the syllabus for an Introduction to Microprocessors lab course. The syllabus includes topics such as studying the 8085 and 8086 microprocessor systems, developing programs to find the largest/smallest number, convert temperatures, compute squares, and sort numbers, and interfacing components like RAM, keyboard controllers, DMA controllers, and UARTs/USARTs to microprocessors. The document then provides details on studying the 8085 microprocessor system including its architecture, address and data buses, control signals, and functional description. It also provides details on studying the 8086 microprocessor system including its features, pin descriptions, and operating modes.
Introduction to 8085 & it's description(includes basic lab experiments)Basil John
The document provides information about the 8085 microprocessor. It describes the 8085 as an 8-bit microprocessor capable of addressing 64KB of memory. It then details the various functional blocks of the 8085 including general purpose registers, accumulator, program counter, stack pointer, ALU, flags register, timing and control unit, and instruction register and decoder. Finally, it provides examples of assembly language programs for 8-bit addition, subtraction, and 16-bit addition and subtraction on the 8085 microprocessor.
Microprocessor and Microcontroller Lab Manual!PRABHAHARAN429
The document describes experiments to be performed on an 8-bit microprocessor and microcontroller. It includes aims, block diagrams, flowcharts and assembly language programs for arithmetic operations, sorting an array, and interfacing experiments. Experiments cover topics like addition, subtraction, multiplication, division, ascending/descending order, maximum/minimum values, and interfacing components like ADCs, DACs, stepper motors. Similar experiments are outlined for an 8-bit microcontroller.
Counters and time delays can be implemented in software or hardware using loop constructs. Counters keep track of events like iterations in a for loop, while delays set up accurate timing between events. Delays can be implemented using loops that iterate a set number of times based on instruction timing. Nested loops and register pairs can increase delay times for longer periods.
This document contains details of a student's microcontroller lab tasks, including the student's name, registration number, course code, and instructor details. It also includes 8 questions involving assembly language programs to perform tasks like arithmetic operations, data transfers, and conversions. The programs are written in assembly language for the 8051 microcontroller and include steps to test the programs using a simulator.
The stack is an area of memory used for temporary storage of information. Information is stored and retrieved using PUSH and POP instructions, which operate in a LIFO (last in, first out) manner. Subroutines allow code to be reused by calling the subroutine and returning to the original code using CALL and RTE instructions. Data can be passed between the main program and subroutines using registers or memory locations.
The document discusses stacks, subroutines, and the 8085 microprocessor. It provides the following key points:
1. The stack is an area of memory used for temporary storage of information in LIFO (last in first out) order, growing backwards into memory with the stack pointer register defining the bottom.
2. Subroutines allow groups of instructions to be called from different locations to avoid repetition. The 8085 uses CALL to redirect execution to a subroutine and RTE to return to the calling routine.
3. Data can be passed to subroutines through registers or memory locations. Proper subroutines only enter at the start and exit at the end, with a single entry point
This document discusses microprocessor instructions and data formats used by the 8085 microprocessor. It describes the different types of instructions based on byte size - 1-byte, 2-byte, and 3-byte instructions. It explains the opcode and operand parts of instructions. It also discusses various data formats used like ASCII, BCD, hexadecimal, signed and unsigned integers.
Introduction to 8085 & it's description(includes basic lab experiments)Basil John
The document provides information about the 8085 microprocessor. It describes the 8085 as an 8-bit microprocessor capable of addressing 64KB of memory. It then details the various functional blocks of the 8085 including general purpose registers, accumulator, program counter, stack pointer, ALU, flags register, timing and control unit, and instruction register and decoder. Finally, it provides examples of assembly language programs for 8-bit addition, subtraction, and 16-bit addition and subtraction on the 8085 microprocessor.
Microprocessor and Microcontroller Lab Manual!PRABHAHARAN429
The document describes experiments to be performed on an 8-bit microprocessor and microcontroller. It includes aims, block diagrams, flowcharts and assembly language programs for arithmetic operations, sorting an array, and interfacing experiments. Experiments cover topics like addition, subtraction, multiplication, division, ascending/descending order, maximum/minimum values, and interfacing components like ADCs, DACs, stepper motors. Similar experiments are outlined for an 8-bit microcontroller.
Counters and time delays can be implemented in software or hardware using loop constructs. Counters keep track of events like iterations in a for loop, while delays set up accurate timing between events. Delays can be implemented using loops that iterate a set number of times based on instruction timing. Nested loops and register pairs can increase delay times for longer periods.
This document contains details of a student's microcontroller lab tasks, including the student's name, registration number, course code, and instructor details. It also includes 8 questions involving assembly language programs to perform tasks like arithmetic operations, data transfers, and conversions. The programs are written in assembly language for the 8051 microcontroller and include steps to test the programs using a simulator.
The stack is an area of memory used for temporary storage of information. Information is stored and retrieved using PUSH and POP instructions, which operate in a LIFO (last in, first out) manner. Subroutines allow code to be reused by calling the subroutine and returning to the original code using CALL and RTE instructions. Data can be passed between the main program and subroutines using registers or memory locations.
The document discusses stacks, subroutines, and the 8085 microprocessor. It provides the following key points:
1. The stack is an area of memory used for temporary storage of information in LIFO (last in first out) order, growing backwards into memory with the stack pointer register defining the bottom.
2. Subroutines allow groups of instructions to be called from different locations to avoid repetition. The 8085 uses CALL to redirect execution to a subroutine and RTE to return to the calling routine.
3. Data can be passed to subroutines through registers or memory locations. Proper subroutines only enter at the start and exit at the end, with a single entry point
This document discusses microprocessor instructions and data formats used by the 8085 microprocessor. It describes the different types of instructions based on byte size - 1-byte, 2-byte, and 3-byte instructions. It explains the opcode and operand parts of instructions. It also discusses various data formats used like ASCII, BCD, hexadecimal, signed and unsigned integers.
The document discusses counters and time delays in microprocessors. It defines counters as circuits used to keep track of events and time delays as important for setting timing between events. It then provides details on designing counters and time delays using registers, loops, and instructions. It discusses different techniques for creating longer time delays using register pairs, nested loops, and inserting dummy instructions. Example programs are given to count hexadecimal numbers and generate pulse waveforms with delays. Common errors in programming counters and delays are also outlined.
The 8085 microprocessor has three main units:
1. Processing unit which includes the ALU, accumulator, flags and temporary register.
2. Instruction unit which decodes instructions and controls timing.
3. Storage and interface unit including registers, program counter, I/O and interrupt controllers.
Here is the program to exchange contents of memory locations D000H and D001H:
LDA D000H ;Load Acc with data from D000H
MOV B,A ;Move the data to B
LDA D001H ;Load Acc with data from D001H
STA D000H ;Store Acc data at D000H
MOV A,B ;Move B's data to Acc
STA D001H ;Store Acc data at D001H
This program loads the data from D000H into the accumulator and B register. It then loads the data from D001H into the accumulator and stores it in D000H. Finally, it moves the
The document discusses assembly language programs for arithmetic operations and data conversions using an 8085 microprocessor. It includes algorithms and programs for 8-bit addition, subtraction, multiplication, and division. It also covers sorting data in ascending and descending order, finding minimum and maximum values, and performing rotate instructions. Additional programs are provided for converting between ASCII, hexadecimal, and BCD codes.
The document discusses the 8085 microprocessor. It describes the internal structure of the 8085 including the accumulator, flag register, general purpose registers, stack pointer and program counter. It also covers the instruction set of 8085 including data transfer, arithmetic, logical, branching and machine control instructions as well as addressing modes, instruction format and timing.
This document provides an introduction to the 8051 microcontroller architecture, including its internal registers, instruction set, and memory map. It discusses the programmer and hardware designer views of the 8051. The register set includes accumulators, registers, data pointers, program counters, stack pointers, and status flags. An overview of 8051 assembly programming is provided, including basic syntax, directives, and the design flow from writing assembly code to downloading the executable onto a board. An example assembly program is presented to demonstrate filling registers and calculating their sum.
The document provides information about the Intel 8085 microprocessor. Some key details include:
- It is an 8-bit processor that operates on a 5V power supply with a maximum clock frequency of 3MHz.
- It has 40 pins and uses a multiplexed address/data bus. It can access 64KB of memory space and 256 I/O ports.
- It has one accumulator, flag, and six general purpose registers. It supports various addressing modes and 74 instructions.
- Interrupts include TRAP, RST 5.5, RST 6.5, RST 7.5, and INTR. Serial I/O is also supported directly.
-
This is 2nd lecture of course on Microprocessor theory and Interfacing. This lecture discusses the Internal architecture of 8085 microprocessor in detail along with it's pin description.
The document provides information about the Intel 8085 microprocessor system. It discusses the history of Intel microprocessors before 8085 including the 4004, 8008, and 8080. It then provides details about the 8085 such as its year of release, number of transistors, clock speed, pin configuration, and functions of the pins. The document also describes the architecture of the 8085 including its functional blocks like registers, ALU, data/address buffer, and interrupt control. It explains the different instruction word sizes and addressing modes in the 8085.
The document discusses stack and subroutines in assembly language programs. It explains that stack is used to store return addresses and save register contents. Subroutines allow breaking programs into modules and use CALL and RET instructions. An example program adds two numbers stored in memory locations and returns the result.
The document discusses stack and subroutine operations, interrupts, and serial communication in 8085 microprocessors. It describes the LIFO structure of the stack and how it uses PUSH and POP instructions. It also explains subroutines using CALL and RET instructions. For interrupts, it covers maskable, non-maskable, vectored and non-vectored interrupts and their priorities. It provides details on interrupt handling instructions. Finally, it discusses serial input/output using SID and SOD pins and RIM/SIM instructions.
The document discusses programming the 8051 microcontroller. It can be programmed using low-level assembly language or high-level languages like C. Assembly language code is faster but more difficult to write and less portable, while C code is easier but slower. The document provides examples of adding two numbers in both C and assembly. It also discusses the 8051 instruction set, addressing modes, subroutines, and arithmetic operations.
The document compares microprocessors and microcontrollers and provides details about the 8051 microcontroller architecture. It describes that microcontrollers contain a microprocessor, memory, I/O interfaces and peripheral devices while microprocessors only contain an ALU, control unit and registers. It then provides details about the 8051 architecture such as its ports, registers, memory organization, and instruction set which includes data transfer, arithmetic, logical and I/O instructions.
8085 Paper Presentation slides,ppt,microprocessor 8085 ,guide, instruction setSaumitra Rukmangad
The document provides information about the 8085 microprocessor. It describes the 8085 as an 8-bit processor with 40 pins that can access 64KB of memory and 256 I/O ports. It has 5 hardware interrupts, 8 general purpose registers including the program counter and stack pointer, and provides 74 instructions across 5 addressing modes.
The document discusses various addressing modes of the 8051 microcontroller including immediate, register, direct, register indirect, indexed, and bit addressing modes. It describes how each mode accesses memory and provides examples. It also covers special function registers, use of RAM as scratchpad memory, and bit addressing of ports, memory, and registers.
The assembly language program for multiplying two 8-bit numbers using an 8085 microprocessor is summarized as follows:
1) The program loads the first 8-bit number into register B and the second 8-bit number into register C.
2) It initializes the accumulator and carry flag to zero.
3) It then adds the value of register B to the accumulator and checks the carry flag.
4) If carry is set, it increments the carry flag and if not it jumps to the next step.
5) It decrements the value of register C and repeats the process until register C becomes zero.
6) The final result is stored in the accumulator including any carry value
This document contains information about experiments to be performed in the EE0310 Microprocessor and Microcontroller lab. It lists 14 experiments involving operations like addition, subtraction, multiplication, and division using the 8085 microprocessor. It also describes experiments with microcontrollers, stepper motors, and digital to analog conversion. The document provides details of the 8085 architecture, pin descriptions, specifications of the trainer kit used, and sample algorithms for experiments like addition of two 8-bit numbers.
The document describes the 8085 microprocessor. It provides details on the architecture of the 8085 microprocessor including its pin configuration, address and data buses, control signals, interrupts, and block diagram. It also discusses the instruction set of the 8085 which includes data transfer, arithmetic, logical, and branching instructions. Programming models involving registers, flags, stacks, counters, and delays are explained. An example of a traffic light control system using the 8085 is also provided.
The document discusses the 8085 microprocessor instruction set and addressing modes. It contains the following key points:
1) The 8085 has 74 instructions that are grouped into 5 categories - data transfer, arithmetic, logical, branch, and machine control operations. Most instructions have multiple formats.
2) Instructions are 1, 2, or 3 bytes in size depending on the operands. The opcode specifies the operation and registers while the operands provide data or addresses.
3) There are 5 addressing modes including register, immediate, direct, indirect, and implied that specify how operands are addressed in memory.
4) A sample program is provided to add two numbers and display the result using MVI, ADD, and
The document discusses counters and time delays in microprocessors. It defines counters as circuits used to keep track of events and time delays as important for setting timing between events. It then provides details on designing counters and time delays using registers, loops, and instructions. It discusses different techniques for creating longer time delays using register pairs, nested loops, and inserting dummy instructions. Example programs are given to count hexadecimal numbers and generate pulse waveforms with delays. Common errors in programming counters and delays are also outlined.
The 8085 microprocessor has three main units:
1. Processing unit which includes the ALU, accumulator, flags and temporary register.
2. Instruction unit which decodes instructions and controls timing.
3. Storage and interface unit including registers, program counter, I/O and interrupt controllers.
Here is the program to exchange contents of memory locations D000H and D001H:
LDA D000H ;Load Acc with data from D000H
MOV B,A ;Move the data to B
LDA D001H ;Load Acc with data from D001H
STA D000H ;Store Acc data at D000H
MOV A,B ;Move B's data to Acc
STA D001H ;Store Acc data at D001H
This program loads the data from D000H into the accumulator and B register. It then loads the data from D001H into the accumulator and stores it in D000H. Finally, it moves the
The document discusses assembly language programs for arithmetic operations and data conversions using an 8085 microprocessor. It includes algorithms and programs for 8-bit addition, subtraction, multiplication, and division. It also covers sorting data in ascending and descending order, finding minimum and maximum values, and performing rotate instructions. Additional programs are provided for converting between ASCII, hexadecimal, and BCD codes.
The document discusses the 8085 microprocessor. It describes the internal structure of the 8085 including the accumulator, flag register, general purpose registers, stack pointer and program counter. It also covers the instruction set of 8085 including data transfer, arithmetic, logical, branching and machine control instructions as well as addressing modes, instruction format and timing.
This document provides an introduction to the 8051 microcontroller architecture, including its internal registers, instruction set, and memory map. It discusses the programmer and hardware designer views of the 8051. The register set includes accumulators, registers, data pointers, program counters, stack pointers, and status flags. An overview of 8051 assembly programming is provided, including basic syntax, directives, and the design flow from writing assembly code to downloading the executable onto a board. An example assembly program is presented to demonstrate filling registers and calculating their sum.
The document provides information about the Intel 8085 microprocessor. Some key details include:
- It is an 8-bit processor that operates on a 5V power supply with a maximum clock frequency of 3MHz.
- It has 40 pins and uses a multiplexed address/data bus. It can access 64KB of memory space and 256 I/O ports.
- It has one accumulator, flag, and six general purpose registers. It supports various addressing modes and 74 instructions.
- Interrupts include TRAP, RST 5.5, RST 6.5, RST 7.5, and INTR. Serial I/O is also supported directly.
-
This is 2nd lecture of course on Microprocessor theory and Interfacing. This lecture discusses the Internal architecture of 8085 microprocessor in detail along with it's pin description.
The document provides information about the Intel 8085 microprocessor system. It discusses the history of Intel microprocessors before 8085 including the 4004, 8008, and 8080. It then provides details about the 8085 such as its year of release, number of transistors, clock speed, pin configuration, and functions of the pins. The document also describes the architecture of the 8085 including its functional blocks like registers, ALU, data/address buffer, and interrupt control. It explains the different instruction word sizes and addressing modes in the 8085.
The document discusses stack and subroutines in assembly language programs. It explains that stack is used to store return addresses and save register contents. Subroutines allow breaking programs into modules and use CALL and RET instructions. An example program adds two numbers stored in memory locations and returns the result.
The document discusses stack and subroutine operations, interrupts, and serial communication in 8085 microprocessors. It describes the LIFO structure of the stack and how it uses PUSH and POP instructions. It also explains subroutines using CALL and RET instructions. For interrupts, it covers maskable, non-maskable, vectored and non-vectored interrupts and their priorities. It provides details on interrupt handling instructions. Finally, it discusses serial input/output using SID and SOD pins and RIM/SIM instructions.
The document discusses programming the 8051 microcontroller. It can be programmed using low-level assembly language or high-level languages like C. Assembly language code is faster but more difficult to write and less portable, while C code is easier but slower. The document provides examples of adding two numbers in both C and assembly. It also discusses the 8051 instruction set, addressing modes, subroutines, and arithmetic operations.
The document compares microprocessors and microcontrollers and provides details about the 8051 microcontroller architecture. It describes that microcontrollers contain a microprocessor, memory, I/O interfaces and peripheral devices while microprocessors only contain an ALU, control unit and registers. It then provides details about the 8051 architecture such as its ports, registers, memory organization, and instruction set which includes data transfer, arithmetic, logical and I/O instructions.
8085 Paper Presentation slides,ppt,microprocessor 8085 ,guide, instruction setSaumitra Rukmangad
The document provides information about the 8085 microprocessor. It describes the 8085 as an 8-bit processor with 40 pins that can access 64KB of memory and 256 I/O ports. It has 5 hardware interrupts, 8 general purpose registers including the program counter and stack pointer, and provides 74 instructions across 5 addressing modes.
The document discusses various addressing modes of the 8051 microcontroller including immediate, register, direct, register indirect, indexed, and bit addressing modes. It describes how each mode accesses memory and provides examples. It also covers special function registers, use of RAM as scratchpad memory, and bit addressing of ports, memory, and registers.
The assembly language program for multiplying two 8-bit numbers using an 8085 microprocessor is summarized as follows:
1) The program loads the first 8-bit number into register B and the second 8-bit number into register C.
2) It initializes the accumulator and carry flag to zero.
3) It then adds the value of register B to the accumulator and checks the carry flag.
4) If carry is set, it increments the carry flag and if not it jumps to the next step.
5) It decrements the value of register C and repeats the process until register C becomes zero.
6) The final result is stored in the accumulator including any carry value
This document contains information about experiments to be performed in the EE0310 Microprocessor and Microcontroller lab. It lists 14 experiments involving operations like addition, subtraction, multiplication, and division using the 8085 microprocessor. It also describes experiments with microcontrollers, stepper motors, and digital to analog conversion. The document provides details of the 8085 architecture, pin descriptions, specifications of the trainer kit used, and sample algorithms for experiments like addition of two 8-bit numbers.
The document describes the 8085 microprocessor. It provides details on the architecture of the 8085 microprocessor including its pin configuration, address and data buses, control signals, interrupts, and block diagram. It also discusses the instruction set of the 8085 which includes data transfer, arithmetic, logical, and branching instructions. Programming models involving registers, flags, stacks, counters, and delays are explained. An example of a traffic light control system using the 8085 is also provided.
The document discusses the 8085 microprocessor instruction set and addressing modes. It contains the following key points:
1) The 8085 has 74 instructions that are grouped into 5 categories - data transfer, arithmetic, logical, branch, and machine control operations. Most instructions have multiple formats.
2) Instructions are 1, 2, or 3 bytes in size depending on the operands. The opcode specifies the operation and registers while the operands provide data or addresses.
3) There are 5 addressing modes including register, immediate, direct, indirect, and implied that specify how operands are addressed in memory.
4) A sample program is provided to add two numbers and display the result using MVI, ADD, and
The document describes an assembly level program for the 8085 microprocessor that converts a hexadecimal number to binary coded decimal (BCD). It uses an iterative loop to process each hexadecimal digit stored in memory location 8000H. Each digit is added to the accumulator, decimal adjusted using DAA instruction, and stored in BCD at memory locations 8001H and 8002H if there is a carry. The program clears flags, decrements the loop counter, and continues until all digits are converted.
The document provides information about the 8085 microprocessor. It describes the 8085 as an 8-bit processor with 40 pins that can access 64KB of memory and 256 I/O ports. It has 5 hardware interrupts, 8 general purpose registers including the program counter and stack pointer, and provides 74 instructions across 5 addressing modes.
The document provides information about the 8085 microprocessor. It describes the 8085 as an 8-bit processor with 40 pins that can access 64KB of memory and 256 I/O ports. It has 5 hardware interrupts, 8 general purpose registers including the program counter and stack pointer, and provides 74 instructions across 5 addressing modes.
The document provides information about the 8085 microprocessor. Some key points:
- The 8085 is an 8-bit processor with 40 pins that uses a multiplexed address/data bus. It operates at clock speeds from 500kHz to 3MHz.
- It has 16 address lines allowing access to 64KB of memory. It provides 5 hardware interrupts and contains registers like the accumulator, flag register, and 6 general purpose registers.
- Important pins include the AD bus, address lines A8-A15, control signals like ALE, RD, WR and status signals like READY. It also has pins for serial I/O and interrupts.
- The architecture includes the arithmetic logic unit,
The document discusses microprocessors and the 8085 microprocessor. It provides details on:
1) The internal architecture and components of microprocessors and the 8085 microprocessor.
2) The different types of operations microprocessors can perform including internal data operations, microprocessor initiated operations, and peripheral initiated operations.
3) The addressing modes, instruction set, registers, and instruction types/formats of the 8085 microprocessor.
The document provides information about the 8085 microprocessor. Some key points:
- The 8085 is an 8-bit microprocessor with 40 pins, 5V power supply, and clock frequency of 3MHz maximum.
- It has 8 data lines, 16 address lines allowing access to 64KB memory, and 8 I/O lines for accessing 256 ports.
- It features an accumulator, flag register, 6 general purpose registers, 2 special purpose registers (SP, PC), and supports 5 interrupts.
- The pins include data, address, control signal, and interrupt pins for interfacing with memory and I/O devices.
The document contains the contents page and introduction of a Microprocessor Lab Manual. The contents page lists 30 programs that will be covered in the manual related to various microprocessor operations and applications. The introduction provides basic details about the lab manual such as it being for the IV semester B.E (TCE) program at Sri Siddhartha Institute of Technology and for private circulation only.
This document provides instructions and materials for experiments using 8085 and 8086 microprocessors. It includes 10 experiments such as developing programs to find the largest/smallest number, sort numbers, calculate square roots, and perform floating point math. It also covers interfacing the microprocessors to components like keyboards, RAM, and DMA controllers. The document lists the textbook, additional readings, faculty member, and assignments for the course.
The document describes the architecture of the 8085 microprocessor. It includes 8-bit registers like the accumulator and register sets that store data and perform arithmetic/logical operations. It has a 16-bit program counter that points to the next instruction and a stack pointer that manages subroutine calls. There is a flag register that stores status flags updated by operations. Other components are an ALU, instruction decoder, address/data buffers, and interrupt and I/O controls.
This document discusses arithmetic operations and conversions using the 8085 microprocessor. It includes algorithms and programs for 8-bit addition, subtraction, multiplication, and division. It also covers sorting algorithms to find the ascending and descending order of numbers, and algorithms to find the minimum and maximum numbers in a data set. Additionally, it explains programs that demonstrate the rotate instructions RLC, RRC, RAL, and RAR. Finally, it provides examples of conversions between ASCII, hexadecimal, and BCD codes.
The document provides information on the 8085 microprocessor. It describes the 8085 as an 8-bit processor that is a single-chip N-MOS device with 40 pins. It has multiplexed address and data bus, works on a 5V power supply, and provides 74 instructions with 5 addressing modes. The document also describes the architecture of the 8085 including its registers, arithmetic logic unit, and instruction set.
The document contains a list of 30 microprocessor lab manual programs covering topics like data transfer, arithmetic operations, conversions, waveform generation, and peripheral interfacing. Each program listing includes an algorithm, inputs/outputs, and purpose. The programs provide examples for students to learn 8085 assembly language programming.
This document contains a manual for microprocessor lab programs. It lists 30 programs with descriptions and algorithms for tasks like data transfer, sorting, arithmetic operations, conversions, and interfacing. The manual provides a template for writing assembly language programs (ALPs) to perform these tasks on the 8085 microprocessor, including initializing registers, looping structures, logic checks, and displaying results. It also includes sample result sheets showing address-data fields and I/O for several programs.
The 8085 microprocessor has 40 pins that are grouped into several categories: Address bus, data bus, control signals, power/clock, I/O ports. It uses an 8-bit address bus and 8-bit multiplexed address/data lines. Control signals include ALE, RD, WR and IO/M. The document discusses the memory read/write cycles and timing diagrams, explaining how the microprocessor fetches instructions from memory locations by placing the address on the bus and reading the data using RD.
The document provides an overview of the 8085 microprocessor architecture and its assembly language programming. It discusses the 8085 block diagram, instruction set, sample assembly programs, use of counters and delays, stack and subroutines. It then introduces the 8086 and x86 architectures. The next class will cover the 8086 architecture in more detail, advanced 32-bit architectures, the x86 programming model, 8086 assembly language programming, and x86 assemblers.
The document provides an overview of the 8085 microprocessor architecture and its assembly language programming. It discusses the 8085 block diagram, instruction set, sample assembly programs, use of counters and delays, stack and subroutines. It then introduces the 8086 and x86 architectures. The next class will cover the 8086 architecture in more detail, advanced 32-bit architectures, the x86 programming model, 8086 assembly language programming, and x86 assemblers.
Chances are you have a Wi-Fi network at home, or live close to one (or more) that tantalizingly pops up in a list whenever you boot up the laptop.
The problem is, if there's a lock next to the network name (AKA the SSID, or service set identifier), that indicates security is activated. Without the password or passphrase, you're not going to get access to that network, or the sweet, sweet internet that goes with it.
A distributed denial-of-service (DDoS) attack is a malicious attempt to disrupt normal traffic of a targeted server, service or network by overwhelming the target or its surrounding infrastructure with a flood of Internet traffic. DDoS attacks achieve effectiveness by utilizing multiple compromised computer systems as sources of attack traffic. Exploited machines can include computers and other networked resources such as IoT devices. From a high level, a DDoS attack is like a traffic jam clogging up with highway, preventing regular traffic from arriving at its desired destination.
A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together.
A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together.
A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together.
There are two methods for interfacing memory and I/O devices with a microprocessor: I/O mapped I/O and memory mapped I/O. I/O mapped I/O treats I/O devices and memory separately, while memory mapped I/O treats I/O devices as memory. I/O mapped I/O can use either 8 or 16 address lines, allowing connection of up to 256 fixed I/O devices or 65,536 variable I/O devices. Specific instructions like IN, OUT, and MOV are used to access I/O ports depending on whether it is fixed or variable addressing.
A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together.
A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together.
This document discusses procedures, macros, and stack operations in assembly language. It explains that procedures allow repetitive code to be written once and called multiple times to save memory. Procedures use stack operations to push return addresses and data onto the stack. Macros simplify programming by reducing repetitive code. Procedures are called at runtime, while macro calls are replaced with their body at assembly time.
A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together.
Procedures and macros allow code to be reused in assembly language programs. Procedures are subroutines that are called using CALL and RET instructions. Macros allow short, repetitive code sequences to be defined once and reused by replacing the macro call with its body code. Some key differences are that procedures occupy less memory than macros since macro code is generated each time, while procedures' code is only stored once. Procedures are accessed using CALL while macros are accessed by name.
A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together. Some microprocessors in the 20th century required several chips. Microprocessors help to do everything from controlling elevators to searching the Web. Everything a computer does is described by instructions of computer programs, and microprocessors carry out these instructions many millions of times a second. [1]
Microprocessors were invented in the 1970s for use in embedded systems. The majority are still used that way, in such things as mobile phones, cars, military weapons, and home appliances. Some microprocessors are microcontrollers, so small and inexpensive that they are used to control very simple products like flashlights and greeting cards that play music when you open them. A few especially powerful microprocessors are used in personal computers.
A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together. Some microprocessors in the 20th century required several chips. Microprocessors help to do everything from controlling elevators to searching the Web. Everything a computer does is described by instructions of computer programs, and microprocessors carry out these instructions many millions of times a second. [1]
Microprocessors were invented in the 1970s for use in embedded systems. The majority are still used that way, in such things as mobile phones, cars, military weapons, and home appliances. Some microprocessors are microcontrollers, so small and inexpensive that they are used to control very simple products like flashlights and greeting cards that play music when you open them. A few especially powerful microprocessors are used in personal computers.
A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together. Some microprocessors in the 20th century required several chips. Microprocessors help to do everything from controlling elevators to searching the Web. Everything a computer does is described by instructions of computer programs, and microprocessors carry out these instructions many millions of times a second. [1]
Microprocessors were invented in the 1970s for use in embedded systems. The majority are still used that way, in such things as mobile phones, cars, military weapons, and home appliances. Some microprocessors are microcontrollers, so small and inexpensive that they are used to control very simple products like flashlights and greeting cards that play music when you open them. A few especially powerful microprocessors are used in personal computers.
A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together. Some microprocessors in the 20th century required several chips. Microprocessors help to do everything from controlling elevators to searching the Web. Everything a computer does is described by instructions of computer programs, and microprocessors carry out these instructions many millions of times a second. [1]
Microprocessors were invented in the 1970s for use in embedded systems. The majority are still used that way, in such things as mobile phones, cars, military weapons, and home appliances. Some microprocessors are microcontrollers, so small and inexpensive that they are used to control very simple products like flashlights and greeting cards that play music when you open them. A few especially powerful microprocessors are used in personal computers.
This document describes the Jcc family of conditional jump instructions in x86 assembly language. It provides the instruction name, description of the condition tested, and any alternative mnemonics or opposite instructions. The instructions test various CPU flags like carry, zero, sign, overflow, parity, and compare values based on signed or unsigned arithmetic.
A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together. Some microprocessors in the 20th century required several chips. Microprocessors help to do everything from controlling elevators to searching the Web. Everything a computer does is described by instructions of computer programs, and microprocessors carry out these instructions many millions of times a second. [1]
Microprocessors were invented in the 1970s for use in embedded systems. The majority are still used that way, in such things as mobile phones, cars, military weapons, and home appliances. Some microprocessors are microcontrollers, so small and inexpensive that they are used to control very simple products like flashlights and greeting cards that play music when you open them. A few especially powerful microprocessors are used in personal computers.
A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together. Some microprocessors in the 20th century required several chips. Microprocessors help to do everything from controlling elevators to searching the Web. Everything a computer does is described by instructions of computer programs, and microprocessors carry out these instructions many millions of times a second. [1]
Microprocessors were invented in the 1970s for use in embedded systems. The majority are still used that way, in such things as mobile phones, cars, military weapons, and home appliances. Some microprocessors are microcontrollers, so small and inexpensive that they are used to control very simple products like flashlights and greeting cards that play music when you open them. A few especially powerful microprocessors are used in personal computers.
A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together. Some microprocessors in the 20th century required several chips. Microprocessors help to do everything from controlling elevators to searching the Web. Everything a computer does is described by instructions of computer programs, and microprocessors carry out these instructions many millions of times a second. [1]
Microprocessors were invented in the 1970s for use in embedded systems. The majority are still used that way, in such things as mobile phones, cars, military weapons, and home appliances. Some microprocessors are microcontrollers, so small and inexpensive that they are used to control very simple products like flashlights and greeting cards that play music when you open them. A few especially powerful microprocessors are used in personal computers.
A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together. Some microprocessors in the 20th century required several chips. Microprocessors help to do everything from controlling elevators to searching the Web. Everything a computer does is described by instructions of computer programs, and microprocessors carry out these instructions many millions of times a second. [1]
Microprocessors were invented in the 1970s for use in embedded systems. The majority are still used that way, in such things as mobile phones, cars, military weapons, and home appliances. Some microprocessors are microcontrollers, so small and inexpensive that they are used to control very simple products like flashlights and greeting cards that play music when you open them. A few especially powerful microprocessors are used in personal computers.
Advanced control scheme of doubly fed induction generator for wind turbine us...IJECEIAES
This paper describes a speed control device for generating electrical energy on an electricity network based on the doubly fed induction generator (DFIG) used for wind power conversion systems. At first, a double-fed induction generator model was constructed. A control law is formulated to govern the flow of energy between the stator of a DFIG and the energy network using three types of controllers: proportional integral (PI), sliding mode controller (SMC) and second order sliding mode controller (SOSMC). Their different results in terms of power reference tracking, reaction to unexpected speed fluctuations, sensitivity to perturbations, and resilience against machine parameter alterations are compared. MATLAB/Simulink was used to conduct the simulations for the preceding study. Multiple simulations have shown very satisfying results, and the investigations demonstrate the efficacy and power-enhancing capabilities of the suggested control system.
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...University of Maribor
Slides from talk presenting:
Aleš Zamuda: Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapter and Networking.
Presentation at IcETRAN 2024 session:
"Inter-Society Networking Panel GRSS/MTT-S/CIS
Panel Session: Promoting Connection and Cooperation"
IEEE Slovenia GRSS
IEEE Serbia and Montenegro MTT-S
IEEE Slovenia CIS
11TH INTERNATIONAL CONFERENCE ON ELECTRICAL, ELECTRONIC AND COMPUTING ENGINEERING
3-6 June 2024, Niš, Serbia
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...IJECEIAES
Climate change's impact on the planet forced the United Nations and governments to promote green energies and electric transportation. The deployments of photovoltaic (PV) and electric vehicle (EV) systems gained stronger momentum due to their numerous advantages over fossil fuel types. The advantages go beyond sustainability to reach financial support and stability. The work in this paper introduces the hybrid system between PV and EV to support industrial and commercial plants. This paper covers the theoretical framework of the proposed hybrid system including the required equation to complete the cost analysis when PV and EV are present. In addition, the proposed design diagram which sets the priorities and requirements of the system is presented. The proposed approach allows setup to advance their power stability, especially during power outages. The presented information supports researchers and plant owners to complete the necessary analysis while promoting the deployment of clean energy. The result of a case study that represents a dairy milk farmer supports the theoretical works and highlights its advanced benefits to existing plants. The short return on investment of the proposed approach supports the paper's novelty approach for the sustainable electrical system. In addition, the proposed system allows for an isolated power setup without the need for a transmission line which enhances the safety of the electrical network
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesChristina Lin
Traditionally, dealing with real-time data pipelines has involved significant overhead, even for straightforward tasks like data transformation or masking. However, in this talk, we’ll venture into the dynamic realm of WebAssembly (WASM) and discover how it can revolutionize the creation of stateless streaming pipelines within a Kafka (Redpanda) broker. These pipelines are adept at managing low-latency, high-data-volume scenarios.
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTjpsjournal1
The rivalry between prominent international actors for dominance over Central Asia's hydrocarbon
reserves and the ancient silk trade route, along with China's diplomatic endeavours in the area, has been
referred to as the "New Great Game." This research centres on the power struggle, considering
geopolitical, geostrategic, and geoeconomic variables. Topics including trade, political hegemony, oil
politics, and conventional and nontraditional security are all explored and explained by the researcher.
Using Mackinder's Heartland, Spykman Rimland, and Hegemonic Stability theories, examines China's role
in Central Asia. This study adheres to the empirical epistemological method and has taken care of
objectivity. This study analyze primary and secondary research documents critically to elaborate role of
china’s geo economic outreach in central Asian countries and its future prospect. China is thriving in trade,
pipeline politics, and winning states, according to this study, thanks to important instruments like the
Shanghai Cooperation Organisation and the Belt and Road Economic Initiative. According to this study,
China is seeing significant success in commerce, pipeline politics, and gaining influence on other
governments. This success may be attributed to the effective utilisation of key tools such as the Shanghai
Cooperation Organisation and the Belt and Road Economic Initiative.
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSIJNSA Journal
The smart irrigation system represents an innovative approach to optimize water usage in agricultural and landscaping practices. The integration of cutting-edge technologies, including sensors, actuators, and data analysis, empowers this system to provide accurate monitoring and control of irrigation processes by leveraging real-time environmental conditions. The main objective of a smart irrigation system is to optimize water efficiency, minimize expenses, and foster the adoption of sustainable water management methods. This paper conducts a systematic risk assessment by exploring the key components/assets and their functionalities in the smart irrigation system. The crucial role of sensors in gathering data on soil moisture, weather patterns, and plant well-being is emphasized in this system. These sensors enable intelligent decision-making in irrigation scheduling and water distribution, leading to enhanced water efficiency and sustainable water management practices. Actuators enable automated control of irrigation devices, ensuring precise and targeted water delivery to plants. Additionally, the paper addresses the potential threat and vulnerabilities associated with smart irrigation systems. It discusses limitations of the system, such as power constraints and computational capabilities, and calculates the potential security risks. The paper suggests possible risk treatment methods for effective secure system operation. In conclusion, the paper emphasizes the significant benefits of implementing smart irrigation systems, including improved water conservation, increased crop yield, and reduced environmental impact. Additionally, based on the security analysis conducted, the paper recommends the implementation of countermeasures and security approaches to address vulnerabilities and ensure the integrity and reliability of the system. By incorporating these measures, smart irrigation technology can revolutionize water management practices in agriculture, promoting sustainability, resource efficiency, and safeguarding against potential security threats.
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsVictor Morales
K8sGPT is a tool that analyzes and diagnoses Kubernetes clusters. This presentation was used to share the requirements and dependencies to deploy K8sGPT in a local environment.
Using recycled concrete aggregates (RCA) for pavements is crucial to achieving sustainability. Implementing RCA for new pavement can minimize carbon footprint, conserve natural resources, reduce harmful emissions, and lower life cycle costs. Compared to natural aggregate (NA), RCA pavement has fewer comprehensive studies and sustainability assessments.
Understanding Inductive Bias in Machine LearningSUTEJAS
This presentation explores the concept of inductive bias in machine learning. It explains how algorithms come with built-in assumptions and preferences that guide the learning process. You'll learn about the different types of inductive bias and how they can impact the performance and generalizability of machine learning models.
The presentation also covers the positive and negative aspects of inductive bias, along with strategies for mitigating potential drawbacks. We'll explore examples of how bias manifests in algorithms like neural networks and decision trees.
By understanding inductive bias, you can gain valuable insights into how machine learning models work and make informed decisions when building and deploying them.
Introduction- e - waste – definition - sources of e-waste– hazardous substances in e-waste - effects of e-waste on environment and human health- need for e-waste management– e-waste handling rules - waste minimization techniques for managing e-waste – recycling of e-waste - disposal treatment methods of e- waste – mechanism of extraction of precious metal from leaching solution-global Scenario of E-waste – E-waste in India- case studies.
2. Syllabus
EEC-456 : MICROPROCESSOR LAB
L T P
0 0 2
1. To study 8085 microprocessor System
2. To study 8086 microprocessor System
3. To develop and run a programme to find out largest and smallest number
4. To develop and run a programme for converting temperature from F to C degree
5. To develop and run a programme to compute square of a given number
6. To develop and run a programme for computing ascending/descending order of a number.
7. To perform interfacing of RAM chip to 8085/8086
8. To perform interfacing of keyboard controller
9. To perform interfacing of DMA controller
10. To perform interfacing of UART/USART
3. Aim : 1 To study 8085 microprocessor System
Intel 8085 is an 8-bit, N-channel Metal Oxide semiconductor (NMOS) microprocessor
It is a 40 pin IC package fabricated on a single Large Scale Integration (LSI) chip
The Intel 8085 uses a single +5V DC supply for its operation
Its clock speed is about 3MHz
The clock cycle is of 320 ns
The time for the clock cycle of the Intel 8085 is 200 ns
It has 80 basic instructions and 246 opcodes
Address and Data Bus
Address Bus
The 8085 has eight signal lines, A15-A8, which are unidirectional and used as the high
order address bus
Multiplexed Address/Data Bus
The signal lines AD7-AD0 are bidirectional
They serve a dual purpose
4. They are used as the low-order address bus as well as the data bus
In executing an instruction, during the earlier part of the cycle, these lines are used as the low-
order address bus as well as the data bus
During the later part of the cycle, these lines are used as the data bus
However the low order address bus can be separated from these signals by using a latch
Control and Status Signals
Machine Cycle IO/M S1 S0 Control signals
Opcode Fetch 0 1 1 RD=0
Memory Read 0 1 0 RD=0
Memory Write 0 0 1 WR=0
I/O Read 1 1 0 RD=0
I/O Write 1 0 1 WR=0
Interrupt
Acknowledge
1 1 1 INTA=0
Halt Z 0 0 RD, WR=z and INTA=1
Hold Z X X RD, WR=z and INTA=1
Reset Z X X RD, WR=z and INTA=1
6. Lab :2 To study 8086 microprocessor System
Solution:
16Bit Microprocessor : 8086
Features of 8086
-8086 is a 16bit processor. It’s ALU, internal registers works with 16bit binary word
- 8086 has a 16bit data bus. It can read or write data to a memory/port either 16bits or 8 bit at a
time
- 8086 has a 20bit address bus which means, it can address upto 220 = 1MB memory
Location
- Frequency range of 8086 is 6-10 MHz
7. Important 8086 Pin Diagram/Description
AD15±AD0
ADDRESS DATA BUS: These lines constitute the time multiplexed
memory/IO address and data bus.
ALE
Address Latch Enable. A HIGH on this line causes the lower order 16bit address bus to be
latched that stores the addresses and then, the lower order 16bit of the address bus can be used
as data bus.
READY
READY is the acknowledgement from the addressed memory or I/O device that it will complete
the data transfer.
INTR
INTERRUPT REQUEST: is a level triggered input which is sampled during the last clock cycle of
each instruction to determine if the processor should enter into an interrupt acknowledge
operation. A subroutine is vectored to via an interrupt vector lookup table located in system
memory. It can be internally masked by software resetting the interrupt enable bit. INTR is
internally synchronized. This signal is active HIGH.
INTA
Interrupt Acknowledge from the MP
NMI
NON-MASKABLE INTERRUPT: an edge triggered input which causes
an interrupt request to the MP. A subroutine is vectored to via an interrupt vector
lookup table located in system memory. NMI is not maskable internally
by software.
RESET: causes the processor to immediately terminate its present
activity. The signal must be active HIGH for at least four clock cycles. It
restarts execution
MN/MX
MINIMUM/MAXIMUM: indicates what mode the processor is to operate in. The two modes are
discussed in the following sections.
M/IO : Differentiate between the Memory and I/O operation. A LOW on this pin indicated I/O
operation and a HIGH indicated a Memory Operation
HOLD : The 8086 has a pin called HOLD. This pin is used by external devices to gain control of
the busses.
HLDA :
When the HOLD signal is activated by an external device, the 8086 stops executing instructions
and stops using the busses. This would allow external devices to control the information
8086 MINIMUM AND MAXIMUM MODES of operation
8. MN/MX
Minimum mode The 8086 processor works in a single processor environment.
All control signals for memory and I/O are generated by the microprocessor.
Maximum mode is designed to be used when a coprocessor exists in the system.
8086 works in a multiprocessor environment. Control signals for memory and
I/O are generated by an external BUS Controller.
9. Aim : To develop and run a programme to find out largest and smallest
number
Solution: Program to find minimum/smallest number in the array(8085 Kit)
Explanation :
We have an array of 10 numbers for e.g. So we initialize the counter with 10. Also we initialize a pointer to point these
numbers.
Compare first number with initial number. If number < minimum number, save number otherwise increment pointer to
compare next number. Decrement counter, compare till all the numbers are compared. Store the maximum number in
memory location E000 H.
Algorithm :
Step I : Initialize pointer.
Step II : Initialize counter.
Step III : Initialize minimum =0
Step IV : Compare number with maximum.
If no carry i.e. if number is smaller don’t
interchange then goto step VI
Step V : Save the minimum number.
Step VI : Decrement counter.
Step VII : Increment pointer.
Step VIII : Check if count = 0. If not goto step IV.
Step IX : Store the maximum number.
Step XI : Stop.
Flowchart : Refer flowchart 33.
Program :
Instruction Comment
LDA D000H
MOV C, A ; Initialize counter
LXI H, D001H ; Initialize pointer
MOV A, M
INX M
BACK: CMP M ; Is number < miniumum
JC SKIP
MOV A, M ; If number < minimum
; then interchange.
SKIP: INX H
DCR C
JNZ BACK
STA E000H ; Store minimum number
HLT ; Terminate program execution
10. Program to find maximum number in the array (8086 Kit)
Explanation :
We have an array of 10 numbers. So we initialize the counter with 10. Also we initialize a pointer to point these
numbers.
Compare first number with initial maximum number i.e. zero. If number > maximum number, save number
otherwise increment pointer to compare next number. Decrement counter, compare till all the numbers are
compared. Store the maximum number in MAX. Display the maximum number.
Algorithm :
Step I : Initialize the data segment.
Step II : Initialize pointer.
Step III : Initialize counter.
Step IV : Initialize base pointer for array.
Step V : Compare number with maximum. If no carry goto step VII
Step VI : Save the maximum number.
Step VII : Decrement counter.
Step VIII : Increment pointer.
Step IX : Check if count = 0. If not goto step V.
Step X : Store the maximum number.
Step XI : Display result.
Step XII : Stop.
Flowchart : Refer flowchart 37.
Program :
.model small
.stack 100
.data
array db 61h, 05h, 42h, 05H, 12H, 15h, 09h, 14h, 56h, 38h ; Array of10nos
max db 0
.code
mov ax, @data ; Initialize DS
mov ds, ax ;
xor di, di ; Initialise pointer
mov cl, 10 ; Initialise counter
lea bx, array ; Initialise base pointer for array
mov al, max ; Get maximum number
back: cmp al, [bx+di] ; Compare number with maximum
jnc skip
mov dl, [bx+di] ; If no > this no swap
mov al, dl ;
skip: inc di ; Increment pointer
dec cl ; Decrement counter
jnz back ; check whether all the nos
; have been scanned
mov max, al ; Store maximum number
mov ch, 02h ; Count of digits to be
; displayed
mov cl, 04h ; Count to roll by 4 bits
mov bh, al ; Result in reg bh
l2: rol bh, cl ; roll bl so that msb
; comes to lsb
mov dl, bh ; load dl with data to be
; displayed
and dl, 0fH ; get only lsb
11. cmp dl, 09 ; check if digit is 0-9
; or letter A-F
jbe l4
add dl, 07 ; if letter add 37H
; else only add 30H
l4: add dl, 30H
mov ah, 02 ; Function 2 under
; INT 21H
; (Display character)
int 21H
dec ch ; Decrement Count jnz l2
mov ah, 4cH ; Terminate Program
int 21H
end
Flowchart 37
Result :
C:programs>tasm maxno.asm
Turbo Assembler Version 3.0 Copyright (c) 1988, 1991 Borland International
Assembling file: maxno.asm
Error messages: None
Warning messages: None
Passes: 1
Remaining memory: 437k
C:programs>tlink maxno.obj
Turbo Link Version 3.0 Copyright (c) 1987, 1990 Borland International
C:programs>maxno
12. Aim: To develop and run a programme to compute square of a given number
Explanation :
To find the square of a number we multiply the number with itself.
Store the result.
Algorithm :
Step I : Initialize the look up table pointer.
Step II : Initialize the source memory pointer and destination memory pointer.
Step III : Get the number.
Step IV : Compute the square of number. Result is stored in the A register.
Step V : Store the result to the required destination location.
Step VI : Increment source memory pointer.
Step VII : Increment destination memory pointer.
Step VIII : Check if number is last number. If not goto step III
Step IX : Stop.
Flowchart : Refer flowchart 32.
Program :
Instruction Comment
LXI H, D100H ; Initialize lookup ; table pointer
LXI D, D000H ; Initialize source
; memory pointer
LXI B, D200H ; Initialize
; destination
; memory pointer
BACK: LDAX D ; Get the number
MOV L,A ; A point to the
; square
MOV A,M ; Get the square
STAX B ; Store the result
; at destination
; memory location
INX D ; Increment
; source memory pointer
INX B ; Increment destination
; memory pointer
MOV A,C
CPI 05H ; Check for last number
JNZ BACK ; If not repeat
HLT ; End of program
13. Aim: To develop and run a programme for computing ascending/descending order of a
number
Solution 1. Program to sort the numbers in ascending order
Explanation :
Consider that a block of N words is present. Now we have to arrange these N words in ascending order, Let N = 4 for
example. We will use HL as pointer to point the block of N words.
Initially in the first iteration we compare first number with the second
number. If first number < second number, don’t interchange the contents,
otherwise if first number > second number swap the contents.
In the next iteration we go on comparing the first number with third number.
If first number < third number, don’t interchange the contents. If first number
> third number then swapping will be done.
Since the first two numbers are in ascending order the third number will go to
first place, first number in second place and second number will come in third
place in the second iteration only if first number > third number.
In the next iteration first number is compared with fourth number. So
comparisons are done till all N numbers are arranged in ascending order. This
method requires approximately n comparisons.
Algorithm :
Step I : Initialize the number of elements counter.
Step II : Initialize the number of comparisons counter.
Step III : Compare the elements. If first element
< second element goto step VIII else
goto step V.
Step IV : Swap the elements.
Step V : Decrement the comparison counter.
Step VI : Is count = 0 ? if yes goto step VIII else
goto step IV.
Step VII : Insert the number in proper position
Step VIII : Increment the number of elements counter.
Step IX : Is count = N ? If yes, goto step XI else goto step II
Step X : Store the result.
Step XI : Stop.
Program :
14. Instruction Comment
MVI B, 09 ; Initialize counter 1
START: LXI H, D000H ; Initialize memory pointer
MVI C, 09H ; Initialize counter 2
BACK: MOV A, M ; Get the number in accumulator
INX H ; Increment memory pointer
CMP M ; Compare number with next number
JC SKIP ; If less, don’t interchange
JZ SKIP ; If equal, don’t interchange
MOV D, M ; Otherwise swap the contents
MOV M, A
DCX H ; Interchange numbers
MOV M, D
INX H ; Increment pointer to next memory location
SKIP: DCR C ; Decrement counter 2
JNZ BACK ; If not zero, repeat
DCR B ; Decrement counter 1
JNZ START ; If not zero, repeat
HLT ; Terminate program execution
Solution 2 : Program to sort the numbers in descending order
Explanation :
Consider that a block of N words is present.
Now we have to arrange these N numbers in descending order, Let N = 4 for example.
We will use HL as pointer to point the block of N numbers.
Initially in the first iteration we compare the first number with the second number. If first number > second number don’t
interchange the contents. If first number < second number swap their contents. Now at the end of this iteration first two
elements are sorted in descending order.
In the next iteration we will compare the first number along with third. If first > third don’t interchange contents otherwise
swap the contents. At the end of this iteration first three elements are sorted in descending order. Go on comparing till all
the elements are arranged in descending order. This method requires approximately n comparisons.
Algorithm :
Step I : Initialize the number of elements counter.
Step II : Initialize the number of comparisons counter.
Step III : Compare the elements.
If first element > second element goto step VIII else goto step V.
Step IV : Swap the elements.
Step V : Decrement the comparison counter.
Step VI : Is count = 0 ? If yes, goto step VIII else goto step IV.
Step VII : Insert the number in proper position.
15. Step VIII : Increment the elements counter.
Step IX : Is count = N ? If yes, goto step XI else goto step II.
Step X : Stop
Program :
Instruction Comment
MVI B, 09 ; Initialize counter 1
START : LXI H, D000H ; Initialize memory pointer
MVI C, 09H ; Initialize counter 2
BACK : MOV A, M ; Get the number in accumulator
INX H ; Increment memory pointer
CMP M ; Compare number with next number
JNC SKIP ; If more, don’t interchange
16. JZ SKIP ; If equal, don’t interchange
MOV D, M ; Otherwise swap the contents
MOV M, A
DCX H ; Interchange numbers
MOV M, D
INX H ; Increment pointer to next memory location
SKIP: DCR C ; Decrement counter 2
JNZ BACK ; If not zero, repeat
DCR B ; Decrement counter 1
JNZ START ; If not zero, repeat
HLT ; Terminate program execution
17. Aim: To perform interfacing of RAM chip to 8085/8086
Explanation:
Read only memory ( ROM )
• Flash memory ( EEPROM )
• Static Random access memory ( SARAM )
• Dynamic Random access memory ( DRAM ).
• Pin connections common to all memory devices are: The address input, data
output or input/outputs, selection input and control input used to select a read or
write operation.
• Address connections: All memory devices have address inputs that select a
memory location within the memory device. Address inputs are labeled from A0
to An.
• Data connections: All memory devices have a set of data outputs or
input/outputs. Today many of them have bi-directional common I/O pins.
• Selection connections: Each memory device has an input, that selects or enables
the memory device. This kind of input is most often called a chip select ( CS ),
chip enable ( CE ) or simply select ( S ) input.
18. RAM memory generally has at least one CS or S input and ROM at least one
CE .
• If the CE , CS, S input is active the memory device perform the read or write.
• If it is inactive the memory device cannot perform read or write operation.
• If more than one CS connection is present, all most be active to perform read or
write data.
• Control connections: A ROM usually has only one control input, while a RAM
often has one or two control inputs.
• The control input most often found on the ROM is the output enable ( OE ) or
gate ( G ), this allows data to flow out of the output data pins of the ROM.
• If OE and the selected input are both active, then the output is enable, if OE is
inactive, the output is disabled at its high-impedance state.
• The OE connection enables and disables a set of three-state buffer located within
the memory device and must be active to read data.
• A RAM memory device has either one or two control inputs. If there is one
control input it is often called R/W.
• This pin selects a read operation or a write operation only if the device is selected
by the selection input ( CS ).
If the RAM has two control inputs, they are usually labeled WE or W and OE
or G .
• ( WE ) write enable must be active to perform a memory write operation and OE
must be active to perform a memory read operation.
• When these two controls WE and OE are present, they must never be active at
the same time.
• The ROM read only memory permanently stores programs and data and data was
always present, even when power is disconnected.
• It is also called as nonvolatile memory.
• EPROM ( erasable programmable read only memory ) is also erasable if exposed
to high intensity ultraviolet light for about 20 minutes or less, depending upon the
type of EPROM.
• We have PROM (programmable read only memory )
• RMM ( read mostly memory ) is also called the flash memory.
• The flash memory is also called as an EEPROM (electrically erasable
programmable ROM), EAROM ( electrically alterable ROM ), or a NOVROM
( nonvolatile ROM ).
• These memory devices are electrically erasable in the system, but require more
19. time to erase than a normal RAM.
• EPROM contains the series of 27XXX contains the following part numbers :
2704( 512 * 8 ), 2708(1K * 8 ), 2716( 2K * 8 ), 2732( 4K * 8 ), 2764( 8K * 8 ),
27128( 16K * 8) etc..
• Each of these parts contains address pins, eight data connections, one or more
chip selection inputs (CE ) and an output enable pin (OE ).
• This device contains 11 address inputs and 8 data outputs.
• If both the pin connection CE and OE are at logic 0, data will appear on the
output connection . If both the pins are not at logic 0, the data output connections remains at their high
impedance or off state.
• To read data from the EPROM Vpp pin must be placed at a logic 1.
20. Static RAM Interfacing
• The semiconductor RAM is broadly two types – Static RAM and Dynamic RAM.
• The semiconductor memories are organised as two dimensional arrays of memory
locations.
• For example 4K * 8 or 4K byte memory contains 4096 locations, where each
locations contains 8-bit data and only one of the 4096 locations can be selected at
a time. Once a location is selected all the bits in it are accessible using a group of
conductors called Data bus.
• For addressing the 4K bytes of memory, 12 address lines are required.
• In general to address a memory location out of N memory locations, we will
require at least n bits of address, i.e. n address lines where n = Log2 N.
• Thus if the microprocessor has n address lines, then it is able to address at the
most N locations of memory, where 2n=N. If out of N locations only P memory
locations are to be interfaced, then the least significant p address lines out of the
available n lines can be directly connected from the microprocessor to the
memory chip while the remaining (n-p) higher order address lines may be used
for address decoding as inputs to the chip selection logic.
• The memory address depends upon the hardware circuit used for decoding the
chip select (CS). The output of the decoding circuit is connected with the CS pin
of the memory chip.
• The general procedure of static memory interfacing with 8086 is briefly described
as follows:
1. Arrange the available memory chip so as to obtain 16- bit data bus width. The
upper 8-bit bank is called as odd address memory bank and the lower 8-bit bank is
called as even address memory bank.
21. 2. Connect available memory address lines of memory chip with those of the
microprocessor and also connect the memory RD and WR inputs to the
corresponding processor control signals. Connect the 16-bit data bus of the
memory bank with that of the microprocessor 8086.
3. The remaining address lines of the microprocessor, BHE and A0 are used for
decoding the required chip select signals for the odd and even memory banks. The
CS of memory is derived from the o/p of the decoding circuit.
• As a good and efficient interfacing practice, the address map of the system should
be continuous as far as possible, i.e. there should not be no windows in the map
and no fold back space should be allowed.
• A memory location should have a single address corresponding to it, i.e. absolute
decoding should be preferred and minimum hardware should be used for
decoding.
Dynamic RAM
• Whenever a large capacity memory is required in a microcomputer system, the
memory subsystem is generally designed using dynamic RAM because there are
various advantages of dynamic RAM.
• E.g. higher packing density, lower cost and less power consumption. A typical
static RAM cell may require six transistors while the dynamic RAM cell requires
only a transistors along with a capacitor. Hence it is possible to obtain higher
packaging density and hence low cost units are available.
• The basic dynamic RAM cell uses a capacitor to store the charge as a
representation of data. This capacitor is manufactured as a diode that is reversebiased
so that the storage capacitance comes into the picture.
• This storage capacitance is utilized for storing the charge representation of data
but the reverse-biased diode has leakage current that tends to discharge the
capacitor giving rise to the possibility of data loss. To avoid this possible data
loss, the data stored in a dynamic RAM cell must be refreshed after a fixed time
interval regularly. The process of refreshing the data in RAM is called as Refresh
cycle.
• The refresh activity is similar to reading the data from each and every cell of
memory, independent of the requirement of microprocessor. During this refresh
period all other operations related to the memory subsystem are suspended. Hence
the refresh activity causes loss of time, resulting in reduce system performance.
• However keeping in view the advantages of dynamic RAM, like low power
consumption, high packaging density and low cost, most of the advanced
computing system are designed using dynamic RAM, at the cost of operating
speed.
• A dedicated hardware chip called as dynamic RAM controller is the most
important part of the interfacing circuit.
• The Refresh cycle is different from the memory read cycle in the following
aspects.
1. The memory address is not provided by the CPU address bus, rather it is
generated by a refresh mechanism counter called as refresh counter.
2. Unlike memory read cycle, more than one memory chip may be enabled at a time
22. so as to reduce the number of total memory refresh cycles.
3. The data enable control of the selected memory chip is deactivated, and data is
not allowed to appear on the system data bus during refresh, as more than one
memory units are refreshed simultaneously. This is to avoid the data from the
different chips to appear on the bus simultaneously.
4. Memory read is either a processor initiated or an external bus master initiated and
carried out by the refresh mechanism.
• Dynamic RAM is available in units of several kilobits to megabits of memory.
This memory is arranged internally in a two dimensional matrix array so that it
will have n rows and m columns. The row address n and column address m are
important for the refreshing operation.
• For example, a typical 4K bit dynamic RAM chip has an internally arranged bit
array of dimension 64 * 64 , i.e. 64 rows and 64 columns. The row address and
column address will require 6 bits each. These 6 bits for each row address and
column address will be generated by the refresh counter, during the refresh cycles.
• A complete row of 64 cells is refreshed at a time to minimizes the refreshing
time. Thus the refresh counter needs to generate only row addresses. The row
address are multiplexed, over lower order address lines.
• The refresh signals act to control the multiplexer, i.e. when refresh cycle is in
process the refresh counter puts the row address over the address bus for
refreshing. Otherwise, the address bus of the processor is connected to the address
bus of DRAM, during normal processor initiated activities.
• A timer, called refresh timer, derives a pulse for refreshing action after each
refresh interval.
• Refresh interval can be qualitatively defined as the time for which a dynamic
RAM cell can hold data charge level practically constant, i.e. no data loss takes
place.
• Suppose the typical dynamic RAM chip has 64 rows, then each row should be
refreshed after each refresh interval or in other words, all the 64 rows are to
refreshed in a single refresh interval.
• This refresh interval depends upon the manufacturing technology of the dynamic
RAM cell. It may range anywhere from 1ms to 3ms.
• Let us consider 2ms as a typical refresh time interval. Hence, the frequency of the
refresh pulses will be calculated as follows:
• Refresh Time ( per row ) tr = (2 * 10 -3) / 64.
• Refresh Frequency fr = 64 / ( 2 * 10 -3) = 32 * 103 Hz.
• The following block diagram explains the refreshing logic and 8086 interfacing
with dynamic RAM.
• Each chip is of 16K * 1-bit dynamic RAM cell array. The system contains two
16K byte dynamic RAM units. All the address and data lines are assumed to be
available from an 8086 microprocessor system.
• The OE pin controls output data buffer of the memory chips. The CE pins are
active high chip selects of memory chips. The refresh cycle starts, if the refresh
output of the refresh timer goes high, OE and CE also tend to go high.
• The high CE enables the memory chip for refreshing, while high OE prevents the
data from appearing on the data bus, as discussed in memory refresh cycle. The
16K * 1-bit dynamic RAM has an internal array of 128*128 cells, requiring 7 bits
for row address. The lower order seven lines A0-A6 are multiplexed with the
refresh counter output A10-A16.
23.
24.
25. AIM: To perform interfacing of keyboard
controller.
Explanation:
• To give directions or data values to users, many microprocessor-controlled instruments and machines need
to display letters of the alphabet and numbers. In systems where a large amount of data needs to be displayed
a CRT is used to display the data. In system where only a small amount of data needs to be
displayed, simple digit-type displays are often used.
• There are several technologies used to make these digit-oriented displays but we
are discussing only the two major types.
• These are light emitting diodes (LED) and liquid-crystal displays (LCD).
• LCD displays use very low power, so they are often used in portable, batterypowered
instruments. They do not emit their own light, they simply change the reflection of available light. Therefore,
for an instrument that is to be used in lowlight conditions, you have to include a light source for LCDs or use
LEDs which emit their own light.
• Alphanumeric LED displays are available in three common formats. For displaying only number and
hexadecimal letters, simple 7-segment displays
• To display numbers and the entire alphabet, 18 segment displays The 7- segment type is the least
expensive, most commonly used and easiest to interface with, so we will concentrate first on how to interface
with this type.
Directly Driving LED Displays: Figure shows a circuit that you might connect to a parallel port on a
microcomputer to drive a single 7-segment , common-anode display. For a common-anode display, a
segment is tuned on by applying a logic low to it.
• The 7447 converts a BCD code applied to its inputs to the pattern of lows required to display the number
represented by the BCD code. This circuit connection is referred to as a static display because current is
being passed through the display at all times.
• Each segment requires a current of between 5 and 30mA to light. Let’s assume you want a current of
20mA. The voltage drop across the LED when it is lit is about 1.5V.
• The output low voltage for the 7447 is a maximum of 0.4V at 40mA. So assume that it is about 0.2V at
20mA. Subtracting these two voltage drop from the supply voltage of 5V leaves 3.3V across the current
limiting resistor. Dividing 3.3V by 20mA gives a value of 168Ω for the current-limiting resistor. The voltage
drops across the LED and the output of 7447 are not exactly predictable and exact current through the LED is
not critical as long as we don’t exceed its