Microprocessor 8085 - Architecture, instruction set, interface and programming (B.E. ECE - V semester)Full description
microprocessor-8085-godse-pdf
microprocessing coding
Interview Questions of 8085 MicroprocessorFull description
Microprocessor 8085 & 8086 Programs
Microprocessor
Microprocessor
Question Bank of 8085 & 8086 Microprocessor
Microprocessor
Full description
MicroprocessorFull description
Microprocessor booksFull description
Full description
T.Y.EII .Y.EII
Microprocessor-IV Microproces sor-IV
N.KAPOOR
Programming the 8085→ It is the process of developing a program. A program is a sequence of instructions operating on certain data items. There are many possible languages in which program is written but a µ p can understand only instructions written in binary i.e. 0’s & 1’s. A program written using only 0 & 1 is called machine language program. Writing machine language program is quiet troublesome and leads to error. The program program can also be written using mnemonic mnemonic operation operation codes codes & symbolic symbolic address address for writing instructions & the data using different notations i.e. binary, decimal hexadecimal etc. This is called assembly language. Program written in assembly language has to be translated into a machine language. A translator, which translates an assembly language program into a machine language program is known as assembler. High Level Languages → Programming Languages that are machine- independent are called HLL. e.g. FORTRAN -- ( Formula Translation) It is a language that is designed for scientists & engineers. COBOL -- Common Business Oriented Language. BASIC --- Beginner’s All-purpose symbolic instruction Code -- for non- professional programs to learn & use. PASCAL -- it is designed to encourage the programmer to adhere to correct programming practices C & C++ . These programs which are written in English are converted into binary language using program called a compiler or interpreter. Flow Chart→ The steps necessary to write program can be represented in a pictorial format called a “ flow chart.” Flow charts use graphic symbols ( shapes) to represent different types of progra program m opera operatio tions. ns. The specif specific ic operat operation ion desire desired d is written written in the graphi graphic c symbo symbols. ls. The common flow chart symbols are, It shows direction of program execution. beginning or ending of program. process Subroutines Decision
Continuation The algorithm represented by flow chart is coded into assembly language and then mnemonics for different steps are written & program is translated into machine language i.e. machine code is written for each instruction. Each code is then has to be stored in memory location. ( R/W memory ) Thus program has five columns memory memory add Machine code, code, opcode, operand & Comments. (1) Memory Address→ These are 2 byte R/W users memory in systems where machine code of program is stored. The beginning address is generally xyoo, Where xy represent page no. of available R/W memory in µ p & 00 represents line no. (2) Machine Code→ These are hexadecimal instruction codes that are stored in respective memory addresses through hexadecimal keyboard of µ p. The monitor program which is stored in ROM of µ p translates hexadecimal number number into binary digits & stores binary digits in the R/W memory. (3) Op Code→ It indicates type of operation or function that will be performed by machine code. (4) Operand→ It specifies the item to be processed. It can be 8 or 16 bit data, a register or a memory address. Thus a mnemonic instruction is combination of an opcode and operand. (5) Comment→ It explains the purpose of instruction used. They play a critical role in users understanding of the logic behind the program. To enter & execute the program→ 1. Push reset key. 2. Enter 16.bit memory address of 1st machine code of programme. 3. Enter and store all the machine codes sequentially using hexadeciml key board on system. 4. Reset the system. 5. Enter memory address where the programme begins and push execute key.
T.Y.EII .Y.EII
Microprocessor-IV Microproces sor-IV
N.KAPOOR
After executing the programme answer can be found in accumulator by pushing “Examine register key”. Debugg Debugging ing the progra programm mme: e: It is nothin nothing g but findin finding g the troubl troublesh eshoo ooting ting in a progra programm mme. e. Dehugging process can can be divided into two parts, 1) Static debugging debugging 2) Dynamic debugging debugging Static debugging: It consist of cheking flow charts and machine machine code point by point. point. Dynamic debugging: debugging: It involves observing the o/p or register contents contents following the execution of each instruction single step technique or of a group of instructions (the ( the break point techniques. The common errors are: 1. Selecting a wrong code. 2. Forgetting 2nd and 3rd byte of an instruction. 3. Specifying ROM jump location. 4. Not reversing order of high and low bytes in the j ump instructions. 5. Writing memory address in decimal and thus specifying wrong jump locations. Program→ Add the two numbers stored in 2100 & 2101 and store the result at 2102. START | HL 2100
HL → A HL → HL+1
A A+ HL Store A→2102 END Address Mnemonic Opcode Comment 2000 LXIH 2100 21 Load memory location 2001 00 in HL pair 2002 21 2003 MOV A, M 7E Move content of M to A 2004 INX H 23 Increment location shown in HL 2005 ADD M 86 Add contents of M to accumulator 2006 STA 2102 32 Store content of accumulator 2007 02 at location 2102 2008 21 2009 HLT ( RST) 76 (CF) STOP 2) Subtraction of numbers → Same as above except ADD M → SUB M & 86 → 96 3)Multiplication of two numbers by addition method→ START Address Mnemonics Opcode Comment 2000 MVI B O2 06 Loading register B load B = Data 2001 02 with 02 load C = Data 2002 MVI C 03 0E Load register C A = 00 2003 03 with 03 2004 MVI A 00 3E Clear the accumulator 2005 00 A A+C 2006 loop AD ADD C 89 Add C to accumulator 2007 DCR B 05 2008 JNZ 2006 C2 If B ≠ 0 then repeat B=B-1 2009 06 the process 200A 20 No Is 200B STA 2102 32 Store the answer at B=0 200C 02 2102