The document discusses various aspects of the 8051 microcontroller such as instruction types, addressing modes, RAM space allocation, and instruction sets. It explains that 8051 instructions are divided into one-byte, two-byte, and three-byte instructions depending on the number of bytes required to represent them. It describes the five addressing modes - register, direct, indirect, immediate, and index. It also provides examples of different instruction types like data transfer, arithmetic, logical, and branching instructions.
This document describes the instruction set of the 8051 microcontroller. It discusses the three types of instructions - single byte, double byte, and triple byte - based on the number of bytes needed to represent the instruction. It provides examples of different types of instructions, including data transfer, arithmetic, logical, logical bit, and program flow control instructions. Each instruction is defined by its mnemonic, description, and number of bytes.
The document discusses the addressing modes, instruction set, and assembly language programming of the 8051 microcontroller. It describes the five addressing modes of 8051 - immediate, direct, register, register indirect, and indexed addressing modes. It also explains some common arithmetic, logical, and other instructions like ADD, AND, OR, XOR, INC, DEC etc. and provides examples of using these instructions to manipulate data in registers and memory locations.
The document provides information about microcontrollers and the 8051 microcontroller family. It defines a microcontroller as a programmable digital processor with on-chip memory and peripherals. It then compares microcontrollers to microprocessors, noting that microcontrollers have on-chip memory and peripherals while microprocessors require external memory. The document proceeds to discuss the development and classification of microcontrollers like the Intel 4004 and 8051. It provides details on the architecture, memory structure, instructions, and I/O ports of the 8051 microcontroller.
The document discusses various addressing modes and instructions of the 8051 microcontroller. It describes the five addressing modes - immediate, register, direct, register indirect and indexed. It explains each addressing mode in detail. It also explains the various instruction groups - data transfer, arithmetic, logical, boolean and branching instructions. It provides examples of instructions like MOV, ADD, ANL, JMP etc. and how they are used to manipulate data in the 8051.
The document discusses various aspects of the ARM-7 architecture including its addressing modes, instruction set, and data processing instructions. It describes 9 different addressing modes including immediate, absolute, indirect, register, register indirect, base plus offset, base plus index, base plus scaled index, and stack addressing. It also provides details about the ARM instruction set, Thumb instruction set, and I/O system. Examples are given to illustrate different instructions such as MOV, SUB, ORR, CMP, MUL, branch instructions, LDR, STR, and SWI.
This document provides an overview of the instruction set for the 8051 microcontroller. It describes the 8 addressing modes - register, direct, indirect, immediate, relative, absolute, long, and indexed. It provides examples of instructions using each addressing mode, including their opcodes, machine code encoding, operations performed, and examples of usage. Common instructions for moving data, logical operations, and arithmetic are demonstrated for each addressing mode. The relative jumps, absolute jumps, and subroutine calls are also detailed.
The document discusses instruction set and addressing modes of the 8085 microprocessor. It defines an instruction as a binary pattern that performs a specific function. The 8085 has 246 instructions represented by 8-bit opcodes. There are 5 addressing modes - immediate, register, direct, indirect and implicit. Instructions are also classified by size and operation. The document outlines different types of instructions like data transfer, arithmetic, logical, branching and control instructions.
This document discusses addressing modes and instruction sets for 8051 microcontrollers. It describes 5 addressing modes: immediate, direct, register direct, register indirect, and indexed addressing. It also outlines various instruction types like data transfer, arithmetic, logic, loop/jump, call, and flag instructions. Specific instructions and their machine cycle times are provided. Jump and call instructions like SJMP, LJMP, ACALL, and LCALL are explained along with examples. Finally, rotate instructions like RL, RLC, RR, and RRC are listed.
Arm Cortex material Arm Cortex material3222886.pptManju Badiger
The document discusses instruction sets for the Cortex-M3 processor. It describes the basic syntax and formatting of assembly language instructions, including opcodes, operands, labels, comments. It provides examples of common instructions for data movement between registers and memory, such as MOV, LDR, STR. It also covers arithmetic instructions like ADD, SUB, MUL, and branch instructions like B, BX. Rotations are only right rotations because the ARM architecture does not support left rotations of registers due to asymmetric register sizes.
The document discusses the different addressing modes in the 8051 microcontroller, including register, direct, register indirect, immediate, implied/register specific, and indexed addressing modes. It provides examples of instructions using each addressing mode and describes how registers, memory addresses, and immediate data values can be accessed. The 8051 has six working registers that can be selected from two register banks, and it allows access to on-chip RAM, SFR, and program memory using various addressing modes.
microprocessor and microcontroller notes pptmananjain543
The document discusses the addressing modes and instruction set of the 8051 microcontroller. It describes the 5 addressing modes of 8051 as immediate, register, direct, register indirect and indexed addressing modes. It then explains each addressing mode in detail along with examples. The document also discusses the different types of instructions in 8051 like arithmetic, logical, data transfer, branching and looping instructions along with examples.
The document discusses the addressing modes and instruction set of the 8051 microcontroller. It describes the 5 addressing modes of 8051 as immediate, register, direct, register indirect, and indexed addressing modes. It then explains each addressing mode in detail along with examples. The document also discusses the different categories of instructions in 8051 like arithmetic, logical, data transfer, and branching instructions. It provides examples of commonly used instructions from each category.
The document discusses different addressing modes in 8051 microcontroller - immediate, register, direct, register indirect and indexed addressing. It provides examples of instructions using each addressing mode like MOV, ADD etc. and explains how the address is specified directly or indirectly using registers in each mode.
The document summarizes the instruction set of the 8051 microcontroller. It describes the different addressing modes including register, direct, indirect, immediate, relative, absolute, long and indexed addressing. It also explains the various instruction types such as arithmetic, logical, data transfer, boolean and program branching instructions. Examples are provided for different instructions like ADD, MOV, JMP etc. to illustrate how they work and affect processor registers.
This document provides an overview of ARM instruction set architecture. It discusses various ARM instruction types including data processing instructions, load-store instructions, branch instructions, and software interrupt instructions. It provides examples of common instructions like MOV, CMP, LDM, STM, BX and SWI. It also explains related concepts like conditional execution, barrel shifter operations, and stack operations using load-store multiple instructions.
This document provides an instruction set summary for a microcontroller. It includes a table that lists each instruction, describes its function, and specifies the number of bytes in the instruction and its execution time in oscillator periods. It summarizes instructions related to arithmetic operations, logical operations, program flow control, bit manipulation, data transfer, and interrupts.
This document discusses various addressing modes of the 8051 microcontroller. It begins by defining an addressing mode as the method of specifying the source and destination of operands in an instruction. It then lists the 8 addressing modes supported by the 8051: register, direct, indirect, immediate, relative, absolute, indexed, and long. Examples are provided for each mode. The document also compares microprocessors and microcontrollers, and discusses the differences between the 8085, 8086, and 8051 microchips. Finally, it poses questions about addressing modes and instruction types to continue the tutorial.
This document provides an overview of microcontroller architecture and programming using the 8051 microcontroller. It discusses the objectives of studying the 8051 microcontroller, its programming model including instruction classification and addressing modes. It describes the different types of instructions like data transfer, arithmetic, logical, and branching instructions. It also discusses assembler directives like ORG, DB, END and provides examples of 8051 programming and interfacing techniques.
The CPU is made up of 3 major parts: the register set, control unit, and arithmetic logic unit. The register set stores intermediate values during program execution. The control unit generates control signals and selects operations for the ALU. The ALU performs arithmetic and logic operations. Computer architecture includes instruction formats, addressing modes, instruction sets, and CPU register organization. Registers are organized in a bus structure to efficiently transfer data and perform microoperations under control of the control unit. Common instruction fields are the operation code, address fields, and addressing mode fields. Instructions can be classified by the number of address fields as zero-address, one-address, two-address, or three-address instructions. Common addressing modes specify how operands
The document describes the instruction set of the Atmel 8051 microcontroller. It includes 3 tables that list the instructions, describing the operation, number of bytes in the instruction, and the oscillator period in cycles to execute the instruction. The tables provide a summary of arithmetic, logical, branch, and data transfer instructions available on the 8051 microcontroller.
This document discusses basic digital concepts including digital circuits, binary, hexadecimal, microcontroller registers, addressing modes, and examples of instructions used in microcontroller programming. It covers:
1) How a digital circuit outputs either 5V or 0V depending on a 1 or 0 bit.
2) Conversions between decimal, binary, and hexadecimal numbering systems.
3) Microcontroller registers that can store and operate on 8-bit binary words like the accumulator, B register, general purpose registers, and more.
4) Addressing modes used in instructions like register addressing, immediate addressing, direct addressing, indirect addressing through registers, and 16-bit addresses.
5) How the microcontroller fetches
The document provides an overview of the 8051 instruction set, including the various addressing modes and instruction types. It discusses the 8 addressing modes - register, direct, indirect, immediate, relative, absolute, long, and indexed. It also covers the 5 types of instructions - arithmetic operations, logical operations, data transfer, boolean variable operations, and program branching instructions. Examples are provided for many of the addressing modes and instruction types.
YJIT can make Ruby code run faster, but this is a balancing act, because the JIT compiler itself must consume both memory and CPU cycles to compile and optimize your code while it is running. Furthermore, in large-scale production environments such as those of GitHub, Shopify and Stripe, we end up in a situation where YJIT is compiling the same code over and over again on a very large number of servers, which seems very inefficient.
In this presentation, we will go over the design of ZJIT, a next generation Ruby JIT which aims to save and reuse compiled code between executions. We hope that this will help us eliminate duplicated work while also allowing the compiler to spend more time optimizing code so that we can get better performance.
Ad
More Related Content
Similar to instruction_set_8051_microcontroller.ppt (20)
This document provides an overview of the instruction set for the 8051 microcontroller. It describes the 8 addressing modes - register, direct, indirect, immediate, relative, absolute, long, and indexed. It provides examples of instructions using each addressing mode, including their opcodes, machine code encoding, operations performed, and examples of usage. Common instructions for moving data, logical operations, and arithmetic are demonstrated for each addressing mode. The relative jumps, absolute jumps, and subroutine calls are also detailed.
The document discusses instruction set and addressing modes of the 8085 microprocessor. It defines an instruction as a binary pattern that performs a specific function. The 8085 has 246 instructions represented by 8-bit opcodes. There are 5 addressing modes - immediate, register, direct, indirect and implicit. Instructions are also classified by size and operation. The document outlines different types of instructions like data transfer, arithmetic, logical, branching and control instructions.
This document discusses addressing modes and instruction sets for 8051 microcontrollers. It describes 5 addressing modes: immediate, direct, register direct, register indirect, and indexed addressing. It also outlines various instruction types like data transfer, arithmetic, logic, loop/jump, call, and flag instructions. Specific instructions and their machine cycle times are provided. Jump and call instructions like SJMP, LJMP, ACALL, and LCALL are explained along with examples. Finally, rotate instructions like RL, RLC, RR, and RRC are listed.
Arm Cortex material Arm Cortex material3222886.pptManju Badiger
The document discusses instruction sets for the Cortex-M3 processor. It describes the basic syntax and formatting of assembly language instructions, including opcodes, operands, labels, comments. It provides examples of common instructions for data movement between registers and memory, such as MOV, LDR, STR. It also covers arithmetic instructions like ADD, SUB, MUL, and branch instructions like B, BX. Rotations are only right rotations because the ARM architecture does not support left rotations of registers due to asymmetric register sizes.
The document discusses the different addressing modes in the 8051 microcontroller, including register, direct, register indirect, immediate, implied/register specific, and indexed addressing modes. It provides examples of instructions using each addressing mode and describes how registers, memory addresses, and immediate data values can be accessed. The 8051 has six working registers that can be selected from two register banks, and it allows access to on-chip RAM, SFR, and program memory using various addressing modes.
microprocessor and microcontroller notes pptmananjain543
The document discusses the addressing modes and instruction set of the 8051 microcontroller. It describes the 5 addressing modes of 8051 as immediate, register, direct, register indirect and indexed addressing modes. It then explains each addressing mode in detail along with examples. The document also discusses the different types of instructions in 8051 like arithmetic, logical, data transfer, branching and looping instructions along with examples.
The document discusses the addressing modes and instruction set of the 8051 microcontroller. It describes the 5 addressing modes of 8051 as immediate, register, direct, register indirect, and indexed addressing modes. It then explains each addressing mode in detail along with examples. The document also discusses the different categories of instructions in 8051 like arithmetic, logical, data transfer, and branching instructions. It provides examples of commonly used instructions from each category.
The document discusses different addressing modes in 8051 microcontroller - immediate, register, direct, register indirect and indexed addressing. It provides examples of instructions using each addressing mode like MOV, ADD etc. and explains how the address is specified directly or indirectly using registers in each mode.
The document summarizes the instruction set of the 8051 microcontroller. It describes the different addressing modes including register, direct, indirect, immediate, relative, absolute, long and indexed addressing. It also explains the various instruction types such as arithmetic, logical, data transfer, boolean and program branching instructions. Examples are provided for different instructions like ADD, MOV, JMP etc. to illustrate how they work and affect processor registers.
This document provides an overview of ARM instruction set architecture. It discusses various ARM instruction types including data processing instructions, load-store instructions, branch instructions, and software interrupt instructions. It provides examples of common instructions like MOV, CMP, LDM, STM, BX and SWI. It also explains related concepts like conditional execution, barrel shifter operations, and stack operations using load-store multiple instructions.
This document provides an instruction set summary for a microcontroller. It includes a table that lists each instruction, describes its function, and specifies the number of bytes in the instruction and its execution time in oscillator periods. It summarizes instructions related to arithmetic operations, logical operations, program flow control, bit manipulation, data transfer, and interrupts.
This document discusses various addressing modes of the 8051 microcontroller. It begins by defining an addressing mode as the method of specifying the source and destination of operands in an instruction. It then lists the 8 addressing modes supported by the 8051: register, direct, indirect, immediate, relative, absolute, indexed, and long. Examples are provided for each mode. The document also compares microprocessors and microcontrollers, and discusses the differences between the 8085, 8086, and 8051 microchips. Finally, it poses questions about addressing modes and instruction types to continue the tutorial.
This document provides an overview of microcontroller architecture and programming using the 8051 microcontroller. It discusses the objectives of studying the 8051 microcontroller, its programming model including instruction classification and addressing modes. It describes the different types of instructions like data transfer, arithmetic, logical, and branching instructions. It also discusses assembler directives like ORG, DB, END and provides examples of 8051 programming and interfacing techniques.
The CPU is made up of 3 major parts: the register set, control unit, and arithmetic logic unit. The register set stores intermediate values during program execution. The control unit generates control signals and selects operations for the ALU. The ALU performs arithmetic and logic operations. Computer architecture includes instruction formats, addressing modes, instruction sets, and CPU register organization. Registers are organized in a bus structure to efficiently transfer data and perform microoperations under control of the control unit. Common instruction fields are the operation code, address fields, and addressing mode fields. Instructions can be classified by the number of address fields as zero-address, one-address, two-address, or three-address instructions. Common addressing modes specify how operands
The document describes the instruction set of the Atmel 8051 microcontroller. It includes 3 tables that list the instructions, describing the operation, number of bytes in the instruction, and the oscillator period in cycles to execute the instruction. The tables provide a summary of arithmetic, logical, branch, and data transfer instructions available on the 8051 microcontroller.
This document discusses basic digital concepts including digital circuits, binary, hexadecimal, microcontroller registers, addressing modes, and examples of instructions used in microcontroller programming. It covers:
1) How a digital circuit outputs either 5V or 0V depending on a 1 or 0 bit.
2) Conversions between decimal, binary, and hexadecimal numbering systems.
3) Microcontroller registers that can store and operate on 8-bit binary words like the accumulator, B register, general purpose registers, and more.
4) Addressing modes used in instructions like register addressing, immediate addressing, direct addressing, indirect addressing through registers, and 16-bit addresses.
5) How the microcontroller fetches
The document provides an overview of the 8051 instruction set, including the various addressing modes and instruction types. It discusses the 8 addressing modes - register, direct, indirect, immediate, relative, absolute, long, and indexed. It also covers the 5 types of instructions - arithmetic operations, logical operations, data transfer, boolean variable operations, and program branching instructions. Examples are provided for many of the addressing modes and instruction types.
YJIT can make Ruby code run faster, but this is a balancing act, because the JIT compiler itself must consume both memory and CPU cycles to compile and optimize your code while it is running. Furthermore, in large-scale production environments such as those of GitHub, Shopify and Stripe, we end up in a situation where YJIT is compiling the same code over and over again on a very large number of servers, which seems very inefficient.
In this presentation, we will go over the design of ZJIT, a next generation Ruby JIT which aims to save and reuse compiled code between executions. We hope that this will help us eliminate duplicated work while also allowing the compiler to spend more time optimizing code so that we can get better performance.
This slide deck presents a detailed overview of the 2025 survey paper titled “A Survey of Personalized Large Language Models” by Liu et al. It explores how foundation models like GPT and LLaMA can be personalized to better reflect user-specific needs, preferences, and behaviors.
The presentation is structured around a 3-level taxonomy introduced in the paper:
Input-Level Personalization (e.g., user-profile prompting, memory retrieval)
Model-Level Personalization (e.g., LoRA, PEFT, adapters)
Objective-Level Personalization (e.g., RLHF, preference alignment)
Computer Graphics: Application of Computer Graphics.
OpenGL: Introduction to OpenGL,coordinate reference frames, specifying two-dimensional world coordinate
reference frames in OpenGL, OpenGL point functions, OpenGL line functions, point attributes, line attributes,
curve attributes, OpenGL fill area functions, OpenGL Vertex arrays, Line drawing algorithm- Bresenham'S
an insightful lecture on "Loads on Structure," where we delve into the fundamental concepts and principles of load analysis in structural engineering. This presentation covers various types of loads, including dead loads, live loads, as well as their impact on building design and safety. Whether you are a student, educator, or professional in the field, this lecture will enhance your understanding of ensuring stability. Explore real-world examples and best practices that are essential for effective engineering solutions.
A lecture by Eng. Wael Almakinachi, M.Sc.
Dear SICPA Team,
Please find attached a document outlining my professional background and experience.
I remain at your disposal should you have any questions or require further information.
Best regards,
Fabien Keller
PRIZ Academy - Functional Modeling In Action with PRIZ.pdfPRIZ Guru
This PRIZ Academy deck walks you step-by-step through Functional Modeling in Action, showing how Subject-Action-Object (SAO) analysis pinpoints critical functions, ranks harmful interactions, and guides fast, focused improvements. You’ll see:
Core SAO concepts and scoring logic
A wafer-breakage case study that turns theory into practice
A live PRIZ Platform demo that builds the model in minutes
Ideal for engineers, QA managers, and innovation leads who need clearer system insight and faster root-cause fixes. Dive in, map functions, and start improving what really matters.
Design of Variable Depth Single-Span Post.pdfKamel Farid
Hunched Single Span Bridge: -
(HSSBs) have maximum depth at ends and minimum depth at midspan.
Used for long-span river crossings or highway overpasses when:
Aesthetically pleasing shape is required or
Vertical clearance needs to be maximized
In modern aerospace engineering, uncertainty is not an inconvenience — it is a defining feature. Lightweight structures, composite materials, and tight performance margins demand a deeper understanding of how variability in material properties, geometry, and boundary conditions affects dynamic response. This keynote presentation tackles the grand challenge: how can we model, quantify, and interpret uncertainty in structural dynamics while preserving physical insight?
This talk reflects over two decades of research at the intersection of structural mechanics, stochastic modelling, and computational dynamics. Rather than adopting black-box probabilistic methods that obscure interpretation, the approaches outlined here are rooted in engineering-first thinking — anchored in modal analysis, physical realism, and practical implementation within standard finite element frameworks.
The talk is structured around three major pillars:
1. Parametric Uncertainty via Random Eigenvalue Problems
* Analytical and asymptotic methods are introduced to compute statistics of natural frequencies and mode shapes.
* Key insight: eigenvalue sensitivity depends on spectral gaps — a critical factor for systems with clustered modes (e.g., turbine blades, panels).
2. Parametric Uncertainty in Dynamic Response using Modal Projection
* Spectral function-based representations are presented as a frequency-adaptive alternative to classical stochastic expansions.
* Efficient Galerkin projection techniques handle high-dimensional random fields while retaining mode-wise physical meaning.
3. Nonparametric Uncertainty using Random Matrix Theory
* When system parameters are unknown or unmeasurable, Wishart-distributed random matrices offer a principled way to encode uncertainty.
* A reduced-order implementation connects this theory to real-world systems — including experimental validations with vibrating plates and large-scale aerospace structures.
Across all topics, the focus is on reduced computational cost, physical interpretability, and direct applicability to aerospace problems.
The final section outlines current integration with FE tools (e.g., ANSYS, NASTRAN) and ongoing research into nonlinear extensions, digital twin frameworks, and uncertainty-informed design.
Whether you're a researcher, simulation engineer, or design analyst, this presentation offers a cohesive, physics-based roadmap to quantify what we don't know — and to do so responsibly.
Key words
Stochastic Dynamics, Structural Uncertainty, Aerospace Structures, Uncertainty Quantification, Random Matrix Theory, Modal Analysis, Spectral Methods, Engineering Mechanics, Finite Element Uncertainty, Wishart Distribution, Parametric Uncertainty, Nonparametric Modelling, Eigenvalue Problems, Reduced Order Modelling, ASME SSDM2025
Reese McCrary_ The Role of Perseverance in Engineering Success.pdfReese McCrary
Furthermore, perseverance in engineering goes hand in hand with ongoing professional growth. The best engineers never stop learning. Whether improving technical skills or learning new software tools, they understand that innovation doesn’t stop with completing one project. They habitually stay current with the latest advancements, seeking continuous improvement and refining their expertise.
The use of huge quantity of natural fine aggregate (NFA) and cement in civil construction work which have given rise to various ecological problems. The industrial waste like Blast furnace slag (GGBFS), fly ash, metakaolin, silica fume can be used as partly replacement for cement and manufactured sand obtained from crusher, was partly used as fine aggregate. In this work, MATLAB software model is developed using neural network toolbox to predict the flexural strength of concrete made by using pozzolanic materials and partly replacing natural fine aggregate (NFA) by Manufactured sand (MS). Flexural strength was experimentally calculated by casting beams specimens and results obtained from experiment were used to develop the artificial neural network (ANN) model. Total 131 results values were used to modeling formation and from that 30% data record was used for testing purpose and 70% data record was used for training purpose. 25 input materials properties were used to find the 28 days flexural strength of concrete obtained from partly replacing cement with pozzolans and partly replacing natural fine aggregate (NFA) by manufactured sand (MS). The results obtained from ANN model provides very strong accuracy to predict flexural strength of concrete obtained from partly replacing cement with pozzolans and natural fine aggregate (NFA) by manufactured sand.
2. Introduction
An instruction is an order or command given to
a processor by a computer program. All
commands are known as instruction set and
set of instructions is known as program.
8051 have in total 111 instructions, i.e. 111
different words available for program writing.
3. Instruction Format
Where first part describes WHAT should be
done, while other explains HOW to do it.
The latter part can be a data (binary number) or
the address at which the data is stored.
Depending upon the number of bytes required
to represent 1 instruction completely.
4. Types Of Instructions
Instructions are divided into 3 types;
1. One/single byte instruction.
2. Two/double byte instruction.
3. Three/triple byte instruction.
5. Types Of Instructions
1. One/single byte instructions :
If operand is not given in the instruction or there
is no digits present with instruction, the
instructions can be completely represented in
one byte opcode.
OPCODE 8 bit
6. Types Of Instructions
2. Two/double byte instruction:
If 8 bit number is given as operand in the
instruction, the such instructions can be
completed represented in two bytes.
First byte OPCODE
Second byte 8 bit data or I/O port
7. Types Of Instructions
3. Three/triple byte instruction:
If 16 bit number is given as operand in the
instructions than such instructions can be
completely represented in three bytes 16 bit
number specified may be data or address.
8. Types Of Instructions
1. First byte will be instruction code.
2. Second byte will be 8 LSB’s of 16 bit number.
3. Third byte will be 8 MSB’s of 16 bit number.
First byte OPCODE.
Second byte 8 LSB’s of data/address.
Third byte 8 MSB’S of data/address.
9. Addressing Modes
Addressing modes specifies where the data
(operand) is. They specify the source or
destination of data (operand) in several
different ways, depending upon the situation.
Addressing modes are used to know where
the operand located is.
10. Addressing Modes
There are 5 types of addressing modes:
1. Register addressing.
2. Direct addressing.
3. Register indirect addressing.
4. Immediate addressing.
5. Index addressing.
11. Register Addressing Mode
In register addressing mode; the source
and/or destination is a register.
In this case; data is placed in any of the 8
registers(R0-R7); in instructions it is specified
with letter Rn (where N indicates 0 to 7).
12. Register Addressing Mode
For example;
1. ADD A, Rn (This is general instruction).
2. ADD A, R5 (This instruction will add the
contents of register R5 with the accumulator
contents).
13. Direct Addressing Mode
In direct addressing mode; the address of
memory location containing data to be read
is specified in instruction.
In this case; address of the data is given with
the instruction itself.
14. Direct Addressing Mode
For example;
1. MOV A, 25H (This instruction will
read/move the data from internal RAM
address 25H and store it in the
accumulator.
15. Register Indirect Addressing Mode
In register indirect addressing mode; the
contents of the designated register are used
as a pointer to memory.
In this case; data is placed in memory, but
address of memory location is not given
directly with instruction.
16. Register Indirect Addressing Mode
For example;
1. MOV A,@R0 This instruction moves the
data from the register whose address is in
the R0 register into the accumulator.
17. Immediate Addressing Mode
In immediate addressing mode, the data is
given with the instruction itself.
In this case; the data to be stored in memory
immediately follows the opcode.
18. Immediate Addressing Mode
For example;
1. MOV A, #25H (This instruction will move the
data 25H to accumulator.
19. Index Addressing Mode
Offset (from accumulator) is added to the base
index register( DPTR OR Program Counter) to
form the effective address of the memory
location.
In this case; this mode is made for reading
tables in the program memory.
20. Index Addressing Mode
For example;
1. MOVC A, @ A + DPTR ( This instruction
moves the data from the memory to
accumulator; whose address is computed
by adding the contents of accumulator and
DPTR)
21. Types Of Instructions
1. Data transfer instructions.
2. Arithmetic instructions.
3. Logical instructions.
4. Logical instructions with bits.
5. Branch instructions.
22. Data Transfer Instructions
These instructions move the content of one
register to another one.
Data can be transferred to stack with the
help of PUSH and POP instructions.
33. Arithmetic Instructions
These instructions perform several basic
operations. After execution, the result is
stored in the first operand.
8 bit addition, subtraction, multiplication,
increment-decrement instructions can be
performed.
41. Arithmetic Instructions
MUL AB B:A = A * B 1
DIV AB A = [A/B] 1
DA A Decimal adjustment of 1
accumulator according to BCD
code
42. Logical Instructions
These instructions perform logical operations
between two register contents on bit by bit
basis.
After execution, the result is stored in the first
operand.
44. Logical Instructions
ANL A, # X (A) (8 bit data) ^ (A) 2
ANL Rx, A (Rx) (A) ^ (Rx) 2
ANL Rx,# X (Rx) (8 bit data) ^ (Rx) 3
45. Logical Instructions
ORL A, Rn (A) (A) + (Rn) 1
ORL A, Rx (A) (A) + (Rx) 2
ORL A, @ Ri (A) (A) + (Ri) 2
46. Logical Instructions
ORL Rx, A (Rx) (A) + (Rx) 2
ORL Rx,# X (Rx) (8 bit data) + (Rx) 2
XORL A, Rn Logical exclusive 1
OR operation between the contents of
accumulator and R register.
47. Logical Instructions
XORL A, Rx Logical exclusive OR 2
operation between the contents of the
accumulator and directly addressed register
Rx.
XORL A,@ Ri Logical exclusive OR 1
operation between the
contents of the accumulator and directly
addressed register.
48. Logical Instructions
XORL A, # X Logical exclusive OR 2
operation between the contents of
accumulator and the given 8 bit data.
XORL Rx, A Logical exclusive OR 2
operation between the contents of the
accumulator and directly addressed register
Rx.
49. Logical Instructions
XORL Rx, # X Logical exclusive OR 3
operation between the contents of the
directly addressed register Rx and the given
8 bit data.
CLR A (A) 0 1
CPL A (A) (/A) 1
50. Logical Instructions
SWAP A (A3-0) (A7-4) 1
RL A (An + 1) (An) 1
(A0) (A7)
RLC (An + 1) (An) 1
(A0) ( C )
( C ) (A7)
52. Logical Instructions On Bits
Similar to logical instructions, these
instructions also perform logical operations.
The difference is that these operations are
performed on single bits.
53. Logical Instructions On Bits
MNEMONIC DESCRIPTION BYTE
CLR C ( C = 0 ) 1
CLR bit clear directly addressed bit 2
SETB C ( C = 1 ) 1
54. Logical Instructions On Bits
SETB bit Set directly 2
addressed bit
CPL C (1 = 0, 0 = 1) 1
CPL bit Complement directly 2
addressed bit
55. Logical Instructions On Bits
ANL C, bit Logical AND operation 2
between Carry bit and directly addressed
bit.
ANL C,/bit Logical AND operation 2
between Carry bit and inverted directly
addressed bit.
56. Logical Instructions On Bits
ORL C, bit Logical OR operation 2
between Carry bit and directly addressed
bit.
ORL C,/bit Logical OR operation 2
between Carry bit and inverted directly
addressed bit.
57. Logical Instructions On Bits
MOV C, bit Move directly addressed 2
bit to carry bit.
MOV bit, C Move Carry bit to directly 2
addressed bit.
58. Program Flow Control Instructions
In this group, instructions are related to the
flow of the program, these are used to
control the operation like, JUMP and CALL
instructions.
Some instructions are used to introduce
delay in the program, to the halt program.
63. Program Flow Control Instructions
LJMP addr16 (PC) addr15-0 3
SJMP rel short jump from 2
(from -128 to +127 locations in
relation to first next instruction)
64. Program Flow Control Instructions
JC rel (PC) (PC) + 2 2
IF ( C ) = 1
THEN (PC) (PC) + rel
JNC rel (PC) (PC) + 2 2
IF ( C) = 0
THEN (PC) (PC) + rel
65. Program Flow Control Instructions
JB bit, rel Jump if addressed 3
bit is set. Short jump.
JBC bit, rel Jump if addressed 3
bit is set and clear it.
Short jump.
66. Program Flow Control Instructions
JMP @A + DPTR (PC) (A) + (DPTR) 1
JZ rel (PC) (PC) + 2 2
IF (A) = 0
THEN (PC) (PC) + rel
67. Program Flow Control Instructions
JNZ rel (PC) (PC) + 2 2
IF (A) = 0
THEN (PC) (PC) + rel
CJNE A, Rx, rel Compare the contents 3
of acc. And directly addressed register Rx.
Jump if they are different. Short jump.
68. Program Flow Control Instructions
CJNE A, #X, rel (PC) (PC) + 3 3
IF ( A) < > data
THEN (PC) (PC) + relative
offset
IF (A) < data
THEN ( C ) 1
ELSE ( C ) 0
69. Program Flow Control Instructions
CJNE @ RI, # x, rel (PC) (PC) + 3 3
IF (Rn) <> data
THEN (PC) (PC) + relative
offset
IF (Rn) < data
THEN ( C ) 1
ELSE ( C ) 0
70. Program Flow Control Instructions
CJNE @ Ri, # X, rel (PC) (PC) + 3 3
IF ((Ri)) <> data
THEN (PC) (PC) + relative
offset
IF ((Ri)) < data
THEN ( C ) 1
ELSE ( C ) 0
71. Program Flow Control Instructions
DJNZ Rn , rel (PC) (PC) + 2 2
(Rn) (Rn) - 1
IF (Rn) > 0 or (Rn) < 0
THEN (PC) (PC) + rel
72. Program Flow Control Instructions
DJNZ Rx, rel (PC) (PC) + 2 3
(Rx) (Rn) – 1
IF (Rx) > 0 or (Rx) < 0
THEN (PC) (PC) + rel
NOP No operation 1
73. Summary
Instruction set.
Addressing modes.
Data transfer instruction.
Arithmetic instruction.
Logical instruction.
Logical operation on bits.