Professional Documents
Culture Documents
Language Programming
Mohamad Al Azawi
Azawi.m@gmail.com
Programming Model 8085
Programming
Registers
Mohamad Al Azawi
Azawi.m@gmail.com
Flags
D7 D6 D5 D4 D3 D2 D1 D0
CY P AC Z S
•The flags are affected by the ALU operation and since the results are
stored in accumulator then the flags reflect the condition of the
accumulator
•The following is the description of the flags
•S- Sign flag: S 1 if D7 of the result =1;means –ve number
•Z – Zero flag : if the ALU operation is 0 then Z 1, and vice versa
•AC – auxiliary carry flag: used for BCD and AC1 if the carry is
passed from D3 to D4 (not used in conditions)
•P – Parity flag: P 1 if the number of 1’s is even and vice versa
•CY – carry : CY 1 if there is a carry result from the ALU operation
Mohamad Al Azawi
Azawi.m@gmail.com
Instruction Classification
Mohamad Al Azawi
Azawi.m@gmail.com
inst Classification 8085
• The instruction set is classified int the
following five functional categories:
1. Data transfer (copy) operations
2. Arithmetic operations
3. Logical operations
4. Branching operations
5. Machine control operations
Mohamad Al Azawi
Azawi.m@gmail.com
Data transfer (copy) operation
• Copying data from source to destination
without modifying the contents of the
source
• The data is transferred :
1. Between registers
2. Specific data byte to reg. or mem loc
3. Between mem loc and registers
4. Between an I/O device and accumulator
Mohamad Al Azawi
Azawi.m@gmail.com
Arithmetic operations
• Perform arithmetic operations such as:
– Addition – adding any 8-bit numbers, mem
loc, or reg. content can be added to the
contents of the accumulator
– Subtraction - Subtracting any 8-bit numbers,
mem loc, or reg. content can be subtracted
from the contents of the accumulator (using
2’s complement)
– Increment / Decrement
Mohamad Al Azawi
Azawi.m@gmail.com
Logical operations
• AND, OR, Exclusive OR:- ANDing, ORing, or
XORing any 8-bit numbers, mem loc, or reg.
content can be ANDed, ORed, or XORed with the
contents of the accumulator
• Rotate: shifting the bits in the accumulator
• Compare: (=, <, >, with the contents of acc.)
• Complement: complementing the cont. of acc.
Mohamad Al Azawi
Azawi.m@gmail.com
Branching Operations
Mohamad Al Azawi
Azawi.m@gmail.com
Machine control operations
Mohamad Al Azawi
Azawi.m@gmail.com
Notes
• In copy inst the data in the source is not
changed only the data in the destination
• Arith. And logic operations are performed
in the accumulator and the results are
stored in accumulator
• The flags are affected according to the
results
• Any reg. including mem. can be
incremented and decremented
Mohamad Al Azawi
Azawi.m@gmail.com
Data format
Mohamad Al Azawi
Azawi.m@gmail.com
Instruction Word Size
Mohamad Al Azawi
Azawi.m@gmail.com
One – byte instruction
• Includes the opcode and operand in the
same byte, such as
Hex Binary operand opcode Task
code code
4FH 0100 1111 C, A MOV Copy the contents of acc to reg. C
80H 1000 0000 B ADD Add the cont. of reg. B to the Acc.
Mohamad Al Azawi
Azawi.m@gmail.com
Tow Byte Instructions
• The first byte specifies the opcode and the
second specifies the operand
Mohamad Al Azawi
Azawi.m@gmail.com
Three byte instruction
• The first byte specifies the opcode and the
next two bytes specify 16 bit address
Mohamad Al Azawi
Azawi.m@gmail.com
Opcode format
• The internal registers are identified as follows:
Code reg. Code reg. pair
000 B 00 BC
001 C 01 DE
010 D 10 HL
011 E 11 SP
100 H
101 L
111 A
110 RESERVED FOR MEMORY RELATED OPERATION
Mohamad Al Azawi
Azawi.m@gmail.com
• EX.
Function opcode
1. Rotate each bit of the 00000111 = 07H
acc. To the left by one (8-bit opcode)
position.
2. Add the content of the 10000 xxx
reg. to the accum.
bit opcode – 5
Mohamad Al Azawi
Azawi.m@gmail.com
• EX: Move (copy ) the contents of the register Rs
(source) to register Rd (destination)
01 DDD SSS
MOV reg. Rd reg. Rs
Move the content from A to C
move the contents: 01
to Register C : 001
from Register A : 111
binary instruction : 01 001 111 4FH
• ASCII Code
• BCD Code
• Signed Integer
• Unsigned Integers
Mohamad Al Azawi
Azawi.m@gmail.com
Writing, Assembling and Execution of
Assembly programs
• Add tow hex. Numbers
– PROBLEM STATEMENT
• Write instruction to load 2 hex no. 32H and 48H in
reg. A and b respectively, Add the numbers and
display the sum at the led output port1
– PROBLEM ANALYSIS
• Divide the problem into small steps as follows
– Load the numbers in the registers
– Add the numbers
– Display the sum at the output port PORT1
Mohamad Al Azawi
Azawi.m@gmail.com
Start
• FLOW CHART
Load Hexadecimal
Numbers
Add Numbers
Display Sum
End
Mohamad Al Azawi
Azawi.m@gmail.com
MVI A,32H ; Load the Register A with 32H
MVI B,48H ; Load the Register B with 48H
Mohamad Al Azawi
Azawi.m@gmail.com
CONVERTING FROM ASSEMBLY LANGUAGE TO HEX CODE
MVI A,32H 3E
32
MVI B,48H 06
48
ADD B 80
OUT 01H D3
01
HALT 67
Mohamad Al Azawi
Azawi.m@gmail.com
STORING IN MEMORY AND CONVERTING FROM HEX
CODE TO BINARY CODE
Mohamad Al Azawi
Azawi.m@gmail.com
Manual To memory for
Flow Monitor
Lookup Storage
Chart Program
8085 Hex Binary
Mnemonics Code Code
Mohamad Al Azawi
Azawi.m@gmail.com