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.
Logical instruction of 8085
Instruction Set of 8085
Classification of Instruction Set
Logical Instructions
AND, OR, XOR
Logical Instructions
Summary Logical Group
This is about the 8085 Microprocessor Architecture for absolute beginners.It explains register organization , Temporary registers,General Purpose Registers ,Special Function Registers,Stack Pointer(SP),Program Counter(PC),Stack operation,PUSH, POP operation with examples.
Logical instruction of 8085
Instruction Set of 8085
Classification of Instruction Set
Logical Instructions
AND, OR, XOR
Logical Instructions
Summary Logical Group
This is about the 8085 Microprocessor Architecture for absolute beginners.It explains register organization , Temporary registers,General Purpose Registers ,Special Function Registers,Stack Pointer(SP),Program Counter(PC),Stack operation,PUSH, POP operation with examples.
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.
Online aptitude test management system project report.pdfKamal Acharya
The purpose of on-line aptitude test system is to take online test in an efficient manner and no time wasting for checking the paper. The main objective of on-line aptitude test system is to efficiently evaluate the candidate thoroughly through a fully automated system that not only saves lot of time but also gives fast results. For students they give papers according to their convenience and time and there is no need of using extra thing like paper, pen etc. This can be used in educational institutions as well as in corporate world. Can be used anywhere any time as it is a web based application (user Location doesn’t matter). No restriction that examiner has to be present when the candidate takes the test.
Every time when lecturers/professors need to conduct examinations they have to sit down think about the questions and then create a whole new set of questions for each and every exam. In some cases the professor may want to give an open book online exam that is the student can take the exam any time anywhere, but the student might have to answer the questions in a limited time period. The professor may want to change the sequence of questions for every student. The problem that a student has is whenever a date for the exam is declared the student has to take it and there is no way he can take it at some other time. This project will create an interface for the examiner to create and store questions in a repository. It will also create an interface for the student to take examinations at his convenience and the questions and/or exams may be timed. Thereby creating an application which can be used by examiners and examinee’s simultaneously.
Examination System is very useful for Teachers/Professors. As in the teaching profession, you are responsible for writing question papers. In the conventional method, you write the question paper on paper, keep question papers separate from answers and all this information you have to keep in a locker to avoid unauthorized access. Using the Examination System you can create a question paper and everything will be written to a single exam file in encrypted format. You can set the General and Administrator password to avoid unauthorized access to your question paper. Every time you start the examination, the program shuffles all the questions and selects them randomly from the database, which reduces the chances of memorizing the questions.
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...Amil Baba Dawood bangali
Contact with Dawood Bhai Just call on +92322-6382012 and we'll help you. We'll solve all your problems within 12 to 24 hours and with 101% guarantee and with astrology systematic. If you want to take any personal or professional advice then also you can call us on +92322-6382012 , ONLINE LOVE PROBLEM & Other all types of Daily Life Problem's.Then CALL or WHATSAPP us on +92322-6382012 and Get all these problems solutions here by Amil Baba DAWOOD BANGALI
#vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore#blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #blackmagicforlove #blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #Amilbabainuk #amilbabainspain #amilbabaindubai #Amilbabainnorway #amilbabainkrachi #amilbabainlahore #amilbabaingujranwalan #amilbabainislamabad
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.
Literature Review Basics and Understanding Reference Management.pptxDr Ramhari Poudyal
Three-day training on academic research focuses on analytical tools at United Technical College, supported by the University Grant Commission, Nepal. 24-26 May 2024
6th International Conference on Machine Learning & Applications (CMLA 2024)ClaraZara1
6th International Conference on Machine Learning & Applications (CMLA 2024) will provide an excellent international forum for sharing knowledge and results in theory, methodology and applications of on Machine Learning & Applications.
1. 8085 Architecture &
Its Assembly language programming
Dr A Sahu
Dept of Computer Science &
Engineering
IIT Guwahati
2. Outline
• 8085
– Block diagram (Data Path)
– Instruction Set of 8085
• Sample program of 8085
• Counter & Time Delay
• Stack and Sub Routine
• Assignment on 8085
• Introduction to 8086 and 30x86 architecture
3. W Z
B C
D E
H L
SP
PC
Inc/Dec. ter
Add latch
MUX
Bus 8 Bit
Interrupt Control Serial I/O Control
IR
I Decode
&
M/C
Encoding
tmp RACC
Timing and Control
ALU
Add Buff Data/Add Buff
Flag
INTR INTA RST5.5
ReSeT6.5
RST7.5 TRAP SID SOD
8085 Microprocessor Architecture
8085
MPU
A15
A0
D0
D7
Address Bus (16bit)
Memory I/P
Data Bus (8bit)
O/P
Control Bus (8bit)
4. Assumption
• RAM Memory is interfaced
• Instructions are stored in memory
• One I/O display port is interfaced to display
data of ACC
5. Simple Assembly Program
MVI A, 24H // load Reg ACC with 24H
MVI B , 56H // load Reg B with 56H
ADD B // ACC= ACC+B
OUT 01H // Display ACC contents on port 01H
HALT // End the program
Result: 7A (All are in Hex)
DAA operation for Decimal Adjust A+6=10H
6. Flowchart to multiply two number
Start
LDA 2000 // Load multiplicant to accumulator
MOV B,A // Move multiplicant from A(acc) to B register
LDA 2001 // Load multiplier to accumulator
MOV C,A // Move multiplier from A to C
MOV C,A // Move multiplier from A to C
MVI A,00 // Load immediate value 00 to ACC
ADD B // Add B(multiplier) with A
DCR C // Decrement C, it act as a counter
JNZ L // Jump to L if C!=0
STA 2010 // Store result in to memory
HLT // End
7. Code to multiply two number
LDA 2000 // Load multiplicant to accumulator
MOV B,A // Move multiplicant from A(acc) to B register
LDA 2001 // Load multiplier to accumulator
MOV C,A // Move multiplier from A to C
MVI A,00 // Load immediate value 00 to a
L: ADD B // Add B(multiplier) with A
DCR C // Decrement C, it act as a counter
JNZ L // Jump to L if C reaches 0
STA 2010 // Store result in to memory
HLT // End
8. Delay of Instructions
• Performance/delay of each instruction
MVI C, FFH 7 T-State
LOOP: DCR C 4 T-State
JNZ LOOP 7/10 T-State
• Performance of other INS
ADD R 4 T-State
ADD M 7 T-State
CALL addr 18 T-State
• F=Fetch with 4 State, S=Fetch with 6 State,
R=Memory Read, W=Memory Write
F R
F
F R R
F
F R
S R R W W
9. Time Delay Loop
• Performance/delay of each instruction
MVI C, FFH 7 T-State
LOOP: DCR C 4 T-State
JNZ LOOP 7/10 T-State
• Time delay in loop
TL= T x Loop T-States x N10
where T=System clock period
N10= Equiv. decimal value of count loaded to C
TL= 0.5x10-6 x (14 x 255)=1.8ms (ignore 10 T-State)
F R
F
F R R
10. Time Delay: Nested Loop
• Performance/delay of each instruction
MVI C, FFH 7 T-State
MVI D, FFH 7 T-State
LOOP1: DCR C 4 T-State
LOOP2: DCR D 4 T-State
JNZ LOOP2 7/10 T-State
JNZ LOOP1 7/10 T-State
• Time delay in Nested loop
TNL= N110 x T x ( L1_TStates+ L2_TStates x N210 )
F R
F
F R R
F R
F R R
F
11. Traffic Light Control: Counter & Delay
LOOP: MVI A 01H
OUT 01H
LD B DELAY_RED
CALL DELAY
Load DelayRed
Time Delay
Turn Signal to Red
Load DelayYellow
Time Delay
Turn Signal to Yellow
Load DelayGreen
Time Delay
Turn Signal to Green
MVI A 02H
OUT 01H
LD B DELAY_YELLOW
CALL DELAY
MVI A 03H
OUT 01H
LD B DELAY_GREEN
CALL DELAY
JMP LOOP
12. Stack Pointer (SP) & Stack Memory
• The stack is an area of memory identified by
the programmer for temporary storage of
information.
• The stack is a LIFO structure.
• The stack normally grows backwards into
memory.
– Programmer can defines the
bottom of the stack (SP)
and the stack grows up into
reducing address range.
Memory
Bottom
of the
Stack
The Stack
grows
backwards
into memory
13. Stack Memory
• Grows backwards into memory
• Better to place the bottom of the stack at the
end of memory
• To keep it as far away from user programs as
possible.
• Stack is defined by setting the SP (Stack
Pointer) register.
LXI SP, FFFFH
• This sets SP to location FFFFH (end of memory
for 8085).
14. Saving Information on the Stack
• Save information by PUSHing onto STACK
• Retrieved from STACK by POPing it off.
• PUSH and POP work with register pairs only.
• Example “PUSH B”
– Decrement SP, Copy B to 0(SP)
– Decrement SP, Copy C tp 0(SP)
• Example “POP B”
– Copy 0(SP) to C, Increment SP
– Copy 0(SP) to B, Increment SP
B C
SPFFFF
FFFE
FFFD
FFFC
FFFB
F312
F3
12
15. Stack/LIFO use in CALL/RET
• Retrieve information back into its original
location
– The order of PUSHs and POPs must be opposite
• 8085 recognizes one additional register pair
– PSW (Prog Status word) = ACC and Flag
Before any routine CALL do this
PUSH B
PUSH D
PUSH PSW
After RETURN from call do this
POP PSW
POP D
POP B
16. Subroutines
• A subroutine is a group of instructions
– That is used repeatedly in different places of the
program.
– Rather than repeat the same instructions several
times
– It can be grouped into a subroutine and call from the
different locations.
• Instructions for dealing with subroutines.
– The CALL instruction is used to redirect program
execution to the subroutine.
– The RET instruction is used to return the execution to
the calling routine.
17. 17
CALL/RET Instruction
• You must set the SP correctly before using CALL
• CALL 5000H
– Push the PC value onto the stack
– Load PC with 16-bit address supplied CALL ins.
• RET : Load PC with stack top; POP PC
PC
SPFFFF
FFFE
FFFD
FFFC
FFFB
2 0 0 3
03
20
2000 CALL 5000
2003
18. 18
Call by References
• If SR performs operations on the contents of
the registers
• These modifications will be transferred back
to the calling program upon returning from a
subroutine.
• If this is not desired, the SR should PUSH
registers and POP on return.
19. Stack/LIFO use in CALL/RET
• Retrieve information back into its original
location
– The order of PUSHs and POPs must be opposite
• 8085 recognizes one additional register pair
– PSW (Prog Status word) = ACC and Flag
Before any routine CALL do this
PUSH B
PUSH D
PUSH PSW
After RETURN from call do this
POP PWD
POP D
POP B
20. Factorial of a number
LXI SP, 27FFH // Initialize stack pointer
LDA 2200H // Get the number
CPI 02H // Check if number is greater than 1
JC LAST
MVI D, 00H // Load number as a result
MOV E, A
DCR A
MOV C,A // Load counter one less than number
CALL FACTO // Call subroutine FACTO
XCHG // Get the result in HL // HL with DE
SHLD 2201H // Store result // store HL at 0(16bit)
JMP END
LAST: LXI H, 000lH // Store result = 01
END: SHLD 2201H
HLT
21. Sub Routine for FACTORIAL
FACTO:LXI H, 0000H
MOV B, C // Load counter
BACK: DAD D // double add ; HL=HL+DE
DCR B
JNZ BACK //Multiply by successive addition
XCHG // Store result in DE // HL with DE
DCR C // Decrement counter
CNZ FACTO // Call subroutine FACTO
RET // Return to main program
22. Assignment I
• Write and execute 8085 assembly language
program to find value of Nth Fibonacci number
(Recursive version: using recursive subroutine
call)
• 16 bit can support up to 65356 > F24
• Deadline: 12th Aug 2010, 11.55Mid night
• After deadline grading: Max 5 out of 10
• Send TXT version of program with file name
RollNo.txt to asahu@iitg.ernet.in with
Assignment one as subject of email
• Don’t submit copied one: will get Negative marks
23. Introduction to
8086 & i386 processor
• 16 bit Microprocessor
• All internal registers as well as internal and
external data buses were 16 bits wide
• 4 Main Register, 4 Index Register, 4 Segment
Register, Status Reg, Instr Ptr.
• Not compatible with 8085, but with successors
• Two Unit works in parallel:
– Bus Interface Unit (BIU)
– Execution Unit (EI)
24. 8086 Architecture
AH AL
BH BL
CH CL
DH DL
SI (Source Idx )
DI (Dest. Idx)
BP (Base Ptr )
SP (Stack Ptr)
Z (Flag Reg)
CS (Code Seg Reg)
DS (Data Seg Reg )
ES (Extra Seg Reg )
SS (Stack Seg Reg)
IP (Intr Ptr)
Operand
InDirect
Temp A
Temp B
Temp C
Q6
Q5
Q4
Q3
Q2
Q1
Sequencer
Bus Interface
Unit
Execution
Unit
SUM
C BUS
A BUS
ALU
25. 8086 Registers
• AX - the accumulator register (divided into AH / AL)
• BX - the base address register (divided into BH / BL)
• CX - the count register (divided into CH / CL)
• DX - the data register (divided into DH / DL)
• SI - source index register.
• DI - destination index register.
• BP - base pointer.
• SP - stack pointer.
AH AL
BH BL
CH CL
DH DL
SI (Source Idx )
DI (Dest. Idx)
BP (Base Ptr )
SP (Stack Ptr)
CS (Code Seg Reg)
DS (Data Seg Reg )
ES (Extra Seg Reg )
SS (Stack Seg Reg)
IP (Intr Ptr)
Z (Flag Reg)
26. 8086 Architecture
• Execution Unit :
– ALU may be loaded from three temp registers (TMPA, TMPB,
TMPC)
– Execute operations on bytes or 16-bit words.
– The result stored into temp reg or registers connected to the
internal data bus.
• Bus Interface Unit
– BIU is intended to compute the addresses.
– Two temporary registers
– indirect addressing
– four segment registers (DS, CS, SS and ES),
– Program counter (IP - Instruction Pointer),
– A 6-byte Queue Buffer to store the pre-fetched opcodes and data.
– This Prefetch Queue optimize the bus usage.
– To execute a jump instruction the queue has to be flushed since the
pre-fetched instructions do not have to be executed.
27. Next Class Agenda
• Detail of 8086 Architecture
• Advanced 32 bit architecture (i386, Pentium, p4)
– I know a little bit of this
– My expertise area of work
• Programming model for x86 architecture
• 8086 Assembly language programming
• MASM / TASM /NASM (x86 assembler)
• If you miss the next class, will miss a lot