Thursday, October 3, 2013

INSTRUCTION SET OF INTEL 8085


INSTRUCTION SET OF INTEL 8085

An Instruction is a command given to the computer to perform a specified operation on given data. The instruction set of a microprocessor is the collection of the instructions that the microprocessor is designed to execute. The instructions described here are of Intel 8085. These instructions are of Intel Corporation. They cannot be used by other microprocessor manufactures. The programmer can write a program in assembly language using these instructions. These instructions have been classified into the following groups:
1.      Data Transfer Group
2.      Arithmetic Group
3.      Logical Group
4.      Branch Control Group
5.      I/O and Machine Control Group

Data Transfer Group:
 Instructions, which are used to transfer data from one register to another register, from memory to register or register to memory, come under this group.

 Examples are: MOV, MVI, LXI, LDA, STA etc. When an instruction of data transfer group is executed, data is transferred from the source to the destination without altering the contents of the source. For example, when MOV A, B is executed the content of the register B is copied into the register A, and the content of register B remains unaltered. Similarly, when LDA 2500 is executed the content of the memory location 2500 is loaded into the accumulator. But the content of the memory location 2500 remains unaltered.

Arithmetic Group: 
The instructions of this group perform arithmetic operations such as addition, subtraction; increment or decrement of the content of a register or memory. Examples are: ADD, SUB, INR, DAD etc.

Logical Group
The Instructions under this group perform logical operation such as AND, OR, compare, rotate etc. Examples are: ANA, XRA, ORA, CMP, and RAL etc.
Branch Control Group
This group includes the instructions for conditional and unconditional jump, subroutine call and return, and restart. Examples are: JMP, JC, JZ, CALL, CZ, RST etc.
I/O and Machine Control Group:
 This group includes the instructions for input/output ports, stack and machine control. Examples are: IN, OUT, PUSH, POP, and HLT etc.

Intel 8085 Instructions


1.      Data Transfer Group
a.   MOV r1, r2
           (Move Data; Move the content of the one register to another).
            [r1] ß [r2].
        
     b. MOV r, m (Move the content of memory register). r ß [M]

     c. MOV M, r. (Move the content of register to memory). M ß [r]

     d. MVI r, data. (Move immediate data to register). [r] ß data.

     e. MVI M, data. (Move immediate data to memory). M ß data.

     f. LXI rp, data 16. (Load register pair immediate). [rp] ß data 16  
        bits,    [rh] ß 8 LSBs of data.

     g. LDA addr. (Load Accumulator direct). [A] ß [addr].

     h. STA addr. (Store accumulator direct). [addr] ß [A].

     i.LHLD addr. (Load H-L pair direct). [L] ß [addr], [H] ß [addr+1].

     j. SHLD addr. (Store H-L pair direct) [addr] ß [L], [addr+1] ß [H].

     k. LDAX rp. (LOAD accumulator indirect) [A] ß [[rp]]

     l. STAX rp. (Store accumulator indirect) [[rp]] ß [A].

     m. XCHG. (Exchange the contents of H-L with D-E pair) [H-L] <--> 
          [D-E].

2.      Arithmetic Group

i.                    ADD r. (Add register to accumulator) [A] ß [A] + [r].
ii.                 ADD M. (Add memory to accumulator) [A] ß [A] + [[H-L]].
iii.               ADC r. (Add register with carry to accumulator). [A] ß [A] + [r] + [CS].
iv.               ADC M. (Add memory with carry to accumulator) [A] ß [A] + [[H-L]] [CS].
v.                  ADI data (Add immediate data to accumulator) [A] ß [A] + data.
vi.               ACI data (Add with carry immediate data to accumulator). [A] ß [A] + data + [CS].
vii.             DAD rp. (Add register paid to H-L pair). [H-L] ß [H-L] + [rp].
viii.          SUB r. (Subtract register from accumulator). [A] ß [A] – [r].
ix.               SUB M. (Subtract memory from accumulator). [A] ß [A] – [[H-L]].
x.                  SBB r. (Subtract register from accumulator with borrow). [A] ß [A] – [r] – [CS].
xi.               SBB M. (Subtract memory from accumulator with borrow). [A] ß [A] – [[H-L]] – [CS].
xii.             SUI data. (Subtract immediate data from accumulator) [A] ß [A] – data.
xiii.          SBI data. (Subtract immediate data from accumulator with borrow).
[A] ß [A] – data – [CS].
               xiv.      INR r (Increment register content) [r] ß [r] +1.
               xv.       INR M. (Increment memory content) [[H-L]] ß [[H-L]] + 1.
xvi.           DCR r. (Decrement register content). [r] ß [r] – 1.
xvii.        DCR M. (Decrement memory content) [[H-L]] ß [[H-L]] – 1.
xviii.      INX rp. (Increment register pair) [rp] ß [rp] – 1.
xix.           DCX rp (Decrement register pair) [rp] ß [rp] -1.
xx.             DAA (Decimal adjust accumulator) .

The instruction DAA is used in the program after ADD, ADI, ACI, ADC, etc instructions. After the execution of ADD, ADC, etc instructions the result is in hexadecimal and it is placed in the accumulator. The DAA instruction operates on this result and gives the final result in the decimal system. It uses carry and auxiliary carry for decimal adjustment. 6 is added to 4 LSBs of the content of the accumulator if their value lies in between A and F or the AC flag is set to 1. Similarly, 6 is also added to 4 MSBs of the content of the accumulator if their value lies in between A and F or the CS flag is set to 1. All status flags are affected. When DAA is used data should be in decimal numbers.

3.      Logical Group

i.                    ANA r. (AND register with accumulator) [A] ß [A] ^ [r].
ii.                 ANA M. (AND memory with accumulator). [A] ß [A] ^ [[H-L]].
iii.               ANI data. (AND immediate data with accumulator) [A] ß [A] ^ data.
iv.               ORA r. (OR register with accumulator) [A] ß [A] v [r].
v.                  ORA M. (OR memory with accumulator) [A] ß [A] v [[H-L]]
vi.               ORI data. (OR immediate data with accumulator) [A] ß [A] v data.                                                                                            
vii.             XRA r. (EXCLUSIVE – OR register with accumulator) [A] ß [A] v   [r]                                                                                                                     
viii.          XRA M. (EXCLUSIVE-OR memory with accumulator) [A] ß [A] v  [[H-L]]
ix.               XRI data. (EXCLUSIVE-OR immediate data with accumulator) [A] ß                    
            [A]  v  data.                                                       
x.          CMA. (Complement the accumulator) [A] ß [A]
                                                                                                                                                                        
x.                  CMC. (Complement the carry status) [CS] ß [CS]
xi.               STC. (Set carry status) [CS] ß 1.
xii.             CMP r. (Compare register with accumulator) [A] – [r]
xiii.          CMP M. (Compare memory with accumulator) [A] – [[H-L]]
xiv.           CPI data. (Compare immediate data with accumulator) [A] – data.
The 2nd byte of the instruction is data, and it is subtracted from the content of the accumulator. The status flags are set according to the result of subtraction. But the result is discarded. The content of the accumulator remains unchanged.
xv.             RLC (Rotate accumulator left) [An+1] ß [An], [A0] ß [A7],
            [CS] ß [A7].
             The content of the accumulator is rotated left by one bit. The seventh bit of the accumulator is moved to carry bit as well as to the zero bit of the accumulator. Only CS flag is affected.
  A7






A0
CS  
 
Carry Status                              Accumulator

                      Schematic diagram for RLC        
      
xvi.           RRC. (Rotate accumulator right) [A7] ß [A0], [CS] ß [A0], [An] ß [An+1].
The content of the accumulator is rotated right by one bit. The zero bit of the accumulator is moved to the seventh bit as well as to carry bit. Only CS flag is affected.

A7






A0
  CS
 

            
Carry Status                                                   Accumulator

                                      Schematic Diagram for RRC

xvii.        RAL. (Rotate accumulator left through carry) [An+1] ß [An], [CS] ß [A7], [A0] ß [CS].
xviii.      RAR. (Rotate accumulator right through carry) [An] ß [An+1], [CS] ß [A0], [A7] ß [CS]

4.      Branch Group

i.                    JMP addr (label). (Unconditional jump: jump to the instruction specified by the address). [PC] ß Label.
ii.                 Conditional Jump addr (label): After the execution of the conditional jump instruction the program jumps to the instruction specified by the address (label) if the specified condition is fulfilled. The program proceeds further in the normal sequence if the specified condition is not fulfilled. If the condition is true and program jumps to the specified label, the execution of a conditional jump takes 3 machine cycles: 10 states. If condition is not true, only 2 machine cycles; 7 states are required for the execution of the instruction.
a.      JZ addr (label). (Jump if the result is zero)
b.      JNZ addr (label) (Jump if the result is not zero)
c.      JC addr (label). (Jump if there is a carry)
d.      JNC addr (label). (Jump if there is no carry)
e.      JP addr (label). (Jump if the result is plus)
f.       JM addr (label). (Jump if the result is minus)
g.      JPE addr (label) (Jump if even parity)
h.      JPO addr (label) (Jump if odd parity)
iii.               CALL addr (label) (Unconditional CALL: call the subroutine identified by the operand)
CALL instruction is used to call a subroutine. Before the control is transferred to the subroutine, the address of the next instruction of the main program is saved in the stack. The content of the stack pointer is decremented by two to indicate the new stack top. Then the program jumps to subroutine starting at address specified by the label.
iv.               RET (Return from subroutine)
v.                  RST n (Restart) Restart is a one-word CALL instruction. The content of the program counter is saved in the stack. The program jumps to the instruction starting at restart location.

5. Stack, I/O and Machine Control Group

i.                    IN port-address. (Input to accumulator from I/O port) [A] ß [Port]
ii.                 OUT port-address (Output from accumulator to I/O port) [Port] ß [A]
iii.               PUSH rp (Push the content of register pair to stack)
iv.               PUSH PSW (PUSH Processor Status Word)
v.                  POP rp (Pop the content of register pair, which was saved, from the stack)
vi.               POP PSW (Pop Processor Status Word)
vii.             HLT (Halt)
viii.          XTHL (Exchange stack-top with H-L)
ix.               SPHL (Move the contents of H-L pair to stack pointer)
x.                  EI (Enable Interrupts)
xi.               DI (Disable Interrupts)
xii.             SIM (Set Interrupt Masks)
xiii.          RIM (Read Interrupt Masks)
xiv.           NOP (No Operation)



                 

ADDRESSING MODES

            Each instruction requires certain data on which it has to operate. There are various techniques to specify data for instructions.  These techniques are called addressing modes.  Intel 8085 uses the following addressing modes:

i.                    Direct addressing
ii.                 Register addressing
iii.               Register indirect addressing
iv.               Immediate addressing

Immediate Addressing

            In immediate addressing mode the operand is specified within the instruction itself, examples are:
            i. MVI A,05     { Move 05 in register A }
           ii. ADI 06          { Add 06 to the content of the accumulator }

Monday, September 30, 2013

Revision test MPMC Question 1

REVISION TEST – I
Subject: EC2304-Microprocessors and Microcontroller Class: III - ECE

PART–A
Answer all questions
  1.  Write down the BUS STATUS signal of 8086?
  2. What is microprocessor?
  3. Compare 8085 and 8086 Processor 
  4. What is pipelined architecture data lines in 8085
  5. State the different between the CPU and ALU
  6. Draw the diagram of demultiplexed 
  7. List out the Flags in 8086 processor
  8. Discuss  the function of BIU
  9. What is the use of AC flag in 8085?
  10. Define the function of SID and SOD in 8085
  11. What is the logical address value corresponding  to the physical address 6A3F7H. Assume that code segment is 5000H
  12. Define instruction cycle, Machine cycle , and T state
  13. Explain the HOLD, HOLDA Signal
  14. What are the segment Register of 8086?
  15. Name the data and control Flags  of 8086
  16. what are the architectural advancement methods available in 8086?
  17. Define the function of LOCK signals in 8086
  18. What do you meant by direct memory access?
  19. Define multiproceoosr configuration 
  20. What is meant by system bus?
              Part B

  1. Write the short notes about Interrupts of 8085. Different between software and hardware interrupt  
  2. Draw the diagram of minimum mode configuration 8086 and explain it.
  3. Explain the Bus cycle diagram of maximum mode configuration
  4. Draw the architecture of 8085  and explain in detail?
  5. Explain 8086 with neat block diagram. 
       

Sunday, September 29, 2013

List of companies


University Question -MPMC

MPMC University Questions.pdf by Rajasekar Pichaimuthi

CAD for VLSI university Question

List of Software Companies in india

Courtesy : Internet sources,

Fwd: list of software companies


Company
Contact Address
Specialization
A G Technologies Pvt Ltd, Mumbai

ERP, IT enabled services, web enablement, application development
A P Technosis Ltd, Noida
Software development (Java, VB, ASP), Offshore services, Consultancy
Aalayance Ecom Services Pvt Ltd, Bangalore
Enterprise Application Integration, Object Technologies, Public Key Infrastructure, Software development and testing
ABO Software Private Limited, New Delhi
Electronic Commerce, Electronic Data Interchange, Telecomm-unication - X.25, Frame Relay, Object Oriented Programming
Accel Software Solutions Limited, Chennai
Software Development, IT Training, IT Enabled Services, E-Biz Solutions
Accenture Services Pvt. Ltd., Mumbai

Project deliver, Custom application development, Application management & conversion, Creation of client-specific facilities
Access Networks India Pvt Ltd, Trichy
Website: www.anwsi.com,
Protocol development, CTI development, CRM systems, operational support systems for telecom service providers
Ace Software Exports Ltd, Rajkot
Database Creation, Software Development, CAD - AM/FM Services, E-Commerce Solutions
Aces Global Systems Pvt. Ltd, Mumbai
Offshore development, Staff Augumentation, Project Consulting, Systems Integration
ACES Infotech Pvt Limited, Calcutta

School computer training, Hardware maintenance, Hardware selling (An Authorised Dealer / Distributor / Reseller of HCL, Vintron, Seagate, TVSE, Microtek)
Acsys Software (India) Pvt Ltd, Chennai
Mutual funds, pension funds, insurance, portfolio management
Acumen Software Technologies Ltnd, Hyderabad
Internet desktop Business solutions for manufacturing sectors, Business Intelligence solutions
Adam Comsof Ltd, Mumbai
Product Development (WAP), E-Commerce Projects, Onsite / Offshore Projects, Consultancy
ADCC Research & Computing Centre Ltd, Nagpur

E-commmerce & web technologies, banking, GIS/GPS - Fleet Management, UtilityManagement, CTI - Telebanking, Wireless(SMS) Banking, Mortgage, Finance in client server and web based environment
Aditi Technologies Pvt Ltd, Bangalore

E-service product- Talisma for handling customer e-mail in a team environment, E-commerce consultancy and development, Outsourced support services
Adobe Systems India Pvt Ltd, Noida
Specialisation: Web and Desktop Publishing Software

Adroit Computer Technique Pvt Ltd, New Delhi

Application Software Development and Turnkey Consultancy, Transaction Oriented Web-Based Solutions, ERP solution for SME - Manufacturing and Non-manufacturing Organisations, Business Process RE -Engineering and Feasibility Studies
Advanced Micronic Devices Ltd, Bangalore
Building Automation, Control systems, Embedded Software, E-commerce
Advent Software Limited, Pune
Distributed Computing Environment, Embedded Software, Internet Enabled Services
AdventNet Development
Website: www.adventnet.com Email:
Network Management, Internet Management

Reference Books for LabVIEW

LabVIEW Official Website

S.NO
Book title
Author
Publisher
Year/Edition
1
Hands-On Introduction to LabVIEW  for Scientists and Engineers
John Essick
Oxford university press
2012
2
The LabVIEW Style Book
Peter Blume
Prentice Hall

3
Learn LabVIEW 2010/2011 Fast
Douglas Stamps
SDC Publications
2012
4
LabVIEW for Electrical Engineers and Technologists
Stephen Philip Tubbs

2011
5
LabVIEW for Everyone: Graphical Programming Made Easy and Fun
Jeffrey Travis, Jim Kring
Prentice Haell
2006
6
LabVIEW : Advanced Programming Techniques, Second Edition
Rick Bitter, Taqi Mohiuddin, Matt Nawrocki
CRC Press
2006
7
LabVIEW  based advanced instrument Systems
S Sumathi  , P Sureka
Springer
2007
8
LabVIEW Graphical Programming
Gary W. Johnson,
Richard Jennings
McGraw-Hill
4th  edition
 9
LabVIEW for Engineers
Ronald W Larsen
Prentice Hall
2011

Saturday, September 28, 2013

Two marks Questions - Microprocessors and Microcontrollers

INTEL History


Microprocessor
Learning about Intel microprocessor history will teach you a lot about how computer processors have evolved over the years, and how we have reached the advanced stage of processors today. Intel Corporation was founded in July 1968, and today it is the world's biggest semiconductor chip manufacturer. The proportion of personal computers that run on Intel chips today is simply mind boggling, to say the least. The company is based in Santa Clare, California and the name was coined as an abbreviation of Integrated Electronics Corporation.

The First Step

Intel 4004 was the world's first single chip microprocessor, and was created by Intel in November 1971. Ted Hoff, Federico Faggin and Stan Mazor are the people who came up with this amazing chip for the time, which combined the CPU, the memory, and the input output ports of a computer on to one single chip, which was astoundingly small for the time. This was only the beginning of the long
history of computer processors.

The need for the 4004 chip came up in 1969, when a Japanese client called Busicom asked Intel to make them 12 different chips for a variety of computing purposes, for an advanced calculator. But Intel did not have enough people to make these chips, so they suggested that they could put all the features into one single chip. Busicom agreed, and Intel microprocessor history was made


Further Developments
From then on, Intel became synonymous with integrated circuits, and they became the custom chip providers for all computer enthusiasts in the computer industry. In April 1972, the 8008 chip was introduced, which was the first 8 bit chip ever. Another two years later the 8080 chip was released, which increased the speed of functioning and the number of instructions executed per second by a great amount.

The next step was to create microcontrollers, which were literally 'computers on chips'. The 8748 microcontroller was released in 1976, and this allowed users to control events in real time and manage data at much faster speeds.

In 1978, the 8086 microprocessor was released which was a further enhancement of the 8080 chip. This chip used a 16 bit architecture, and it was followed up by the 8088 chip in 1981. Competition was slowly catching up with Intel at this time though, so they released the 80186 and the 80286 microprocessors in 1982.

The next step was to move on to 32 bit processors, and this is how the 80386 and the 80486 came up. These processors were also known as the '386' and the '486' respectively, and they were used till the early nineties. The 386 was released in 1985, and the 486 was released in 1989.

Intel Pentium Microprocessor

This list of Intel microprocessors brings us to the amazing 80586 processor, which is used even today, with several modifications and upgrades of course. The chip was initially a 32 bit chip with a speed of about 66 MHz, and the 64 bit processors that are available today, can clock speeds of up to 3.6 GHz. You must look at the Intel Core processors to see the real power and beauty of these devices, which are comfortably the best computer processors. The history of Intel processors has been long and winding, but it has culminated in a great offering to the world, which has changed our lives forever. You must also learn more about 32 bit vs. 64 bit processors.


Courtesy :
http://www.buzzle.com/articles/intel-microprocessor-history.html