EXERCISE 1: 1. What are the various registers in 8085? Accumulator register, Temporary register, Instruction register, Stack Pointer, Program Counter are the various registers in 8085. 2. In 8085 name the 16 bit registers? Stack pointer and Program counter all have 16 bits. 3. What are the various flags used in 8085? Sign flag, Zero flag, Auxillary flag, Parity flag, Carry flag. 4. What is Stack Pointer? Stack pointer is a special purpose 16-bit register in the Microprocessor, which holds the address of the top of the stack. 5. What is Program counter? Program counter holds the address of either the first byte of the next instruction to be fetched for execution or the address of the next byte of a multi byte instruction, which has not been completely fetched. In both the cases it gets incremented automatically one by one as the instruction bytes get fetched. Also Program register keeps the address of the next instruction. 6. Which Stack is used in 8085? LIFO (Last In First Out) stack is used in 8085.In this type of Stack the last stored information can be retrieved first. 7. What happens when HLT instruction is executed in processor? The Micro Processor enters into Halt-State and the buses are tri-stated. 8. What is meant by a bus? A bus is a group of conducting lines that carriers data, address, & control signals. 9. What is Tri-state logic? Three Logic Levels are used and they are High, Low, High impedance state. The high and low are normal logic levels & high impedance state is electrical open circuit conditions. Tri-state logic has a third line called enable line. 10. Give an example of one address microprocessor? 8085 is a one address microprocessor. 11. In what way interrupts are classified in 8085? In 8085 the interrupts are classified as Hardware and Software interrupts. 12. What are Hardware interrupts? TRAP, RST7.5, RST6.5, RST5.5, INTR. 13. What are Software interrupts? 1 RST0, RST1, RST2, RST3, RST4, RST5, RST6, RST7. 14. Which interrupt has the highest priority? TRAP has the highest priority. 15. Name 5 different addressing modes? Immediate, Direct, Register, Register indirect, Implied addressing modes. 16. How many interrupts are there in 8085? There are 12 interrupts in 8085. 17. What is clock frequency for 8085? 3 MHz is the maximum clock frequency for 8085. 18. What is the RST for the TRAP? RST 4.5 is called as TRAP. 19. In 8085 which is called as High order / Low order Register? Flag is called as Low order register & Accumulator is called as High order Register. 20. What are input & output devices? Keyboards, Floppy disk are the examples of input devices. Printer, LED / LCD display, CRT Monitor are the examples of output devices. 21. Can an RC circuit be used as clock source for 8085? Yes, it can be used, if an accurate clock frequency is not required. Also, the component cost is low compared to LC or Crystal. 22. Why crystal is a preferred clock source? Because of high stability, large Q (Quality Factor) & the frequency that doesn’t drift with aging. Crystal is used as a clock source most of the times. 23. Which interrupt is not level-sensitive in 8085? RST 7.5 is a raising edge-triggering interrupt. 24. What does Quality factor mean? The Quality factor is also defined, as Q. So it is a number, which reflects the lossness of a circuit. Higher the Q, the lower are the losses. 25. What are level-triggering interrupt? RST 6.5 & RST 5.5 are level-triggering interrupts. 2 EXERCISE 2: 1. Using LDA and STA instructions, write a program that will transfer five byte of memory from location 3000H through 3004H to location 3200H through 3204H LDA STA LDA STA LDA STA LDA STA LDA STA 2. Write a program to exchange the contents of HL register pair with DE register pair using MOV instruction. MOV MOV MOV MOV MOV MOV 3. 3000H 3200H 3001H 3201H 3002H 3202H 3003H 3203H 3004H 3204H B,H C,L H,D L,E D,B E,C Write a program to swap lower 4 bit nibble with upper 4 bit nibble of 8 bit data at memory location 2100H and place a result to location 2101H. LDA 2100H RAL RAL RAL RAL STA 2101H 3 4. Write a program using the ADI instruction to add the two hexadecimal numbers 3AH and 48H and store the result in memory location 2100H. MVI A,3AH ADI 48H STA 2100H 5. Write a program to subtract the number in the D register from the number in the E register. Store the result in register C. MOV A,E SUB D MOV C,A 6. Write an assembly language program that AND, OR and XOR together the contents of register B, C and E and place the result into memory location 3000H, 3001H and 3002H. MOV ANA ANA STA MOV ORA ORA STA MOV XRA XRA STA 7. A,B C E 3000H A,B C E 3001H A,B C E 3002H Write a program that store 00H into memory location 2500H through 2510H. MVI LXI LOC:MVI INX DCR JNZ B,10H H,2500H M,00H H B LOC 4 8. Write an assembly language program to add two 8-bit numbers, the sum may be of 16-bits. MVI A,NO1 MVI B,NO2 MVI C,00H ADD B JNC LOC INR C LOC:MOV L,A MOV H,C 9. Write an 8085 assembly language program using minimum number of instructions to add the 16 bit number in BC, DE & HL. Store the 16 bit result in DE. DAD B DAD D XCHG 10. Develop a program in assembly that subtracts the number in the DE register pair from the number in the HL register. Place the result in BC register. MOV SUB MOV MOV SBB MOV A,L E B,A A,H D C,A 11. Sixteen bytes of data are stored in memory locations at 3150H to 315FH. Write a program to transfer the entire block of data to new memory locations starting at 3250H. LXI H,3150H LXI D,3250H MVI C,10H LOC:MOV A,M STAX D INX H 5 INX D DCR C JNZ LOC 12. Write an 8085 assembly language program, which adds two threebyte numbers. The first number is stored in memory locations 3800H, 3801H & 3802H and the second number is stored in memory location 3803H, 3804H & 3805H. Store the answer in memory locations 3810H upwards. LHLD 3800H XCHG LHLD 3803H DAD D SHLD 3810H LDA 3802H MOV B,A LDA 3805H ADC B STA 3812H 13. Write an 8085 assembly language program, which checks the number in memory location 2800H. If the number is an even number, then put ‘FF’ in memory location 2810H, otherwise put ‘00’. MVI LDA RAR JNC MVI LOC:MOV STA B,FFH 2800H LOC B,00H A,B 2810H 14. Write a program to count the data byte in memory that equal to 55H starting at memory location 2800H through 280FH. Place the count value in B register. LXI H,2800H MVI C,10H MVI B,00H 6 MVI LOC2:CMP JNZ INR LOC1:INX DCR JNZ A,55H M LOC1 B H C LOC2 15. Write an 8085 assembly language program to find the smallest value between two number in memory location 2800H and 2801. Store the value in memory location 3000H. LDA 2800H MOV B,A LDA 2801H CMP B JM LOC MOV A,B LOC:STA 3000H 7