Architectural Differences betweenSAP1 And SAP2• 16 bit program Counter(16-bit address bus )• Loadable Program Counter(JMP instruction)• 2-input port , 2-output port• 64k Memory• Memory Data Register(MDR)• Temp, B, and C registers• Arithmetic and Logical Operations• Flags (Zero Flag and Sign Flag)• 8-bit Opcode,42 Instruction• Bidirectional Registers
InstructionsMemory Reference Instruction :LDA , STA, MVIRegister Instruction:MOV, ADD, SUB, INR, DCRLogical Instruction:ORA/ORI, ANA/ANI, XRA/XRI,CMAJump and Return :JMP/JZ/JNZ/JM and CALL/RETOthers: IN, OUT, HLT, NOP, RAR, RAR
Other Topics• Flags• T-State• Conditional Jumps
Instruction affecting flagArithmetic and logical instructions:(ADD,SUB,INR,DCR, ANA/ANI,ORA/ORI, XRA/XRI)
What you should know!!!• Architecture• Instructions• Basic Programming(Refer your books for several programmingexamples )
Bonus QuestionWALP to divide 41H by 10H.(Hint: Repetitive subtraction. You may need useSign flag.)
ALUBoth Arithmetic and Logical Operation:Operation PerformedAddition, Subtraction, Increment, Decrement, Logical AND, Logical OR, Logical XOR, Compare,Complement, Left/ Right Shift
FlagsFive Flags Available in 8085Zero Flag(Z), Carry Flag(C), Auxiliary Carry(A),Sign Flag(S), Parity Flag (P)
Timing and Control Signals• The timing and control unit synchronizes allthe microprocessor operations with the clockand generates the control signals necessaryfor communication between themicroprocessor and peripherals.
INSTRUCTION REGISTER & DECODER:• When an instruction is fetched from memoryit is placed in instruction register. Then it isdecoded and encoded into various machinecycles.
REGISTER ARRAY:• Apart from Accumulator (A-register), there aresix general-purpose programmable registers• B, C, D, E, H and L.• They can be used as 8-bit registers or paired tostore l6-bit data. The allowed pairs are B-C,D-Eand H-L.• The temporary registers W and Z are intendedfor internal use of the processor and it cannot beused by the programmer.
Register Array:STACK POINTER (SP):• The stack pointer SP, holds the address of thetop of the stack.• The stack is used to save the content ofregisters during the execution of a program.
Register Array:PROGRAM COUNTER (PC):The program counter (PC) keeps track of programexecution. To execute a program the startingaddress of the program is loaded in programcounter. The PC sends out an address to fetch abyte of instruction from memory and increment itscontent automatically. Hence, when a byte ofinstruction is fetched, the PC holds the address ofthe next byte of the instruction or next instruction.
Address Bus• Consists of 16 address lines: A0 – A15• Operates in unidirectional mode: The addressbits are always sent from the MPU toperipheral devices, not reverse.• 16 address lines are capable of addressing atotal of 216 = 65,536 (64k) memory locations.• Address locations: 0000 (hex) – FFFF (hex)
Data Bus• Consists of 8 data lines: D0 – D7• Operates in bidirectional mode: The data bitsare sent from the MPU to peripheral devices,as well as from the peripheral devices to themicroprocessor.• Data range: 00 (hex) – FF (hex)