This document describes the instruction set of the 8051 microcontroller, including arithmetic, logical, data transfer, program branching, and other instructions. It lists each instruction mnemonic, provides a brief description of its operation, and specifies the instruction size and number of clock cycles required. In total, over 50 different instructions are outlined pertaining to common operations like addition, logical operations, movement of data, jumps, and flags manipulation.
The document discusses the instruction set and programming of microcontrollers compatible with the 8051 microcontroller. It describes the main types of instructions including data transfer instructions, arithmetic instructions, branch instructions, logic instructions, and bit-oriented instructions. It provides examples of common instructions and explains how they work, such as MOV to move data, ADD for addition, and JUMP for conditional branching. The instruction set consists of 255 instructions that perform 53 main operations, but many are variations of the same operation using different registers.
This document describes Boolean instructions for the 8051 microcontroller. These instructions allow manipulating individual bits of registers and memory locations. They include instructions to set, clear, complement bits as well as perform AND, OR operations. Conditional jump instructions allow jumping based on carry flag or bit values. Example operations are provided for each instruction to demonstrate how they manipulate bit values.
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 provides an introduction to microcontrollers, specifically focusing on the Intel 8051 microcontroller. It defines microcontrollers and distinguishes them from microprocessors by noting that microcontrollers contain peripherals like RAM, ROM, I/O ports and timers on a single chip, while microprocessors require external circuitry. It then describes the architecture and features of the Intel 8051 microcontroller, including its 4KB program memory, 128 bytes of data memory, 32 general purpose registers, two timers, interrupts and I/O ports. Development tools for microcontrollers like editors, assemblers, compilers and debuggers/simulators are also discussed.
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.
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 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 instruction set and programming of microcontrollers compatible with the 8051 microcontroller. It describes the main types of instructions including data transfer instructions, arithmetic instructions, branch instructions, logic instructions, and bit-oriented instructions. It provides examples of common instructions and explains how they work, such as MOV to move data, ADD for addition, and JUMP for conditional branching. The instruction set consists of 255 instructions that perform 53 main operations, but many are variations of the same operation using different registers.
This document describes Boolean instructions for the 8051 microcontroller. These instructions allow manipulating individual bits of registers and memory locations. They include instructions to set, clear, complement bits as well as perform AND, OR operations. Conditional jump instructions allow jumping based on carry flag or bit values. Example operations are provided for each instruction to demonstrate how they manipulate bit values.
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 provides an introduction to microcontrollers, specifically focusing on the Intel 8051 microcontroller. It defines microcontrollers and distinguishes them from microprocessors by noting that microcontrollers contain peripherals like RAM, ROM, I/O ports and timers on a single chip, while microprocessors require external circuitry. It then describes the architecture and features of the Intel 8051 microcontroller, including its 4KB program memory, 128 bytes of data memory, 32 general purpose registers, two timers, interrupts and I/O ports. Development tools for microcontrollers like editors, assemblers, compilers and debuggers/simulators are also discussed.
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.
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 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.
microcontroller_instruction_set for ENGINEERING STUDENTSssuser2b759d
The document discusses the instruction set of microcontrollers. It describes that microcontrollers have instruction formats that specify the operation and operands. The 8051 microcontroller has 111 instructions divided into one-byte, two-byte, and three-byte instructions depending on the number of bytes needed to represent the instruction. The document outlines the different addressing modes and types of instructions including data transfer, arithmetic, logical, and program flow control instructions. It provides examples of common instructions and their operation.
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 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.
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 an overview of 8051 assembly language programming. It discusses the 8051 programming model, assembly language syntax, operation codes and operands, machine instructions, and the 8051 instruction set. Key concepts covered include 8051 registers, addressing modes, data movement instructions like MOV, arithmetic and logic instructions like ADD, and pseudo-instructions to control program assembly. Examples of assembly language code are provided to illustrate various instructions and concepts.
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 Microprocessor System. A semester course review. Summarize important points for whole subject. Using the 8051 architecture as the practical and projects development.
The document discusses different types of branching instructions in the 8051 microcontroller including calls, jumps, returns and conditional jumps. It provides details on absolute calls, long calls, returns, short jumps, long jumps, absolute jumps, indirect jumps and conditional jumps. It also discusses NOP instructions.
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 classifies and describes the instruction set of the 8051 microcontroller. It discusses the different types of instructions including data transfer, logical, arithmetic, bit-level, rotate/swap, and jump/call instructions. It provides examples of instructions for moving data to and from memory, performing logical and arithmetic operations, manipulating bits, and rotating/swapping values. Details are given on addressing modes, registers, flags, and how the instructions interact with memory and I/O.
Describes ARM7-TDMI Processor Instruction Set. Explains classes of ARM7 instructions, syntax of data processing instructions, branch instructions, load-store instructions, coprocessor instructions, thumb state instructions.
The instruction set of the microcontroller includes arithmetic, logical, and flag-affecting instructions. It allows operations on registers, direct addresses, and indirect addresses. The instruction byte size and oscillator period required for each instruction is also provided in a table.
The instruction set of the microcontroller includes arithmetic, logical, and flag-affecting instructions. It allows operations on registers, direct addresses, and indirect addresses. Common instructions include ADD, SUB, AND, OR, MOV, JMP, CALL. The instruction set supports conditional jumps based on flag settings from previous operations. Most instructions execute in 1 byte and 1 cycle.
The document provides information about a microcontroller instruction set including:
- Instructions that affect flag settings and how they modify the flags.
- The instruction set and addressing modes which include registers, direct addressing, indirect addressing, constants, and branches.
- A summary of the instruction set organized in a table with the opcode, instruction name, addressing mode, and byte size/cycle information.
The instruction set summary provides concise information about the instructions of the AT89 microcontroller in a tabular format. The table lists instructions according to operation type and describes each instruction's mnemonic, operation performed, byte size, and oscillator period. A second table continues listing additional instructions.
The instruction set of the 8051 microcontroller is classified into several categories based on the type of operations performed. These include data transfer instructions, byte-level logical instructions, arithmetic instructions, bit-level instructions, rotate and swap instructions, and jump and call instructions. Data transfer instructions move data between registers, memory, and I/O ports using various addressing modes. Byte-level logical instructions perform AND, OR, and XOR operations. Arithmetic instructions support operations like addition, subtraction, multiplication, and division. Bit-level instructions manipulate individual bits in registers and memory. Rotate and swap instructions rotate and rearrange bits and nibbles in the accumulator.
The instruction set of the 8051 microcontroller is classified into several categories based on the type of operations performed. These include data transfer instructions, byte-level logical instructions, arithmetic instructions, bit-level instructions, rotate and swap instructions, and jump and call instructions. Data transfer instructions move data between registers, memory, and I/O ports using various addressing modes. Byte-level logical instructions perform AND, OR, and XOR operations. Arithmetic instructions support operations like addition, subtraction, multiplication, and division. Bit-level instructions manipulate individual bits in registers and memory. Rotate and swap instructions rotate and rearrange bits and nibbles in the accumulator.
Digital to Analog Converters (DACs) convert digital values to analog voltages. There are different types of DACs including binary weighted resistor and R-2R ladder DACs. Key performance characteristics of DACs include resolution, reference voltages, settling time, linearity, speed, and errors. Common applications of DACs include use in digital audio systems, function generators, motor controllers, and to provide analog outputs more broadly.
The document describes the instruction set of the 8051 microprocessor. It is divided into 5 groups: arithmetic, logical, data transfer, boolean, and branching instructions. The arithmetic instructions include ADD, ADDC, DA for decimal adjust, and MUL/DIV for multiplication and division. Logical instructions include ANL, ORL, XRL. Data transfer instructions move data between registers and memory like MOV, PUSH, POP. Boolean instructions manipulate individual bits. Branching instructions include unconditional jumps, calls, returns, and conditional jumps.
This document provides a summary of the instruction set for the MCS-51 microcontroller. It includes a table listing over 40 instructions such as ADD, SUB, AND, OR, MOV, INC, DEC, along with the description, number of cycles, and whether it affects flag settings. It notes that instructions can specify registers, direct addresses, indirect RAM addresses, or immediate data as operands.
This document provides specifications for the BC556/557/558/559/560 series of PNP epitaxial silicon transistors. It lists the absolute maximum ratings and electrical characteristics such as collector-emitter voltage, collector current, and DC current gain for different transistor types. The transistors can be used for switching and amplification applications and come in a TO-92 package.
The document describes the features and specifications of the AT89S51 microcontroller, including its 4K bytes of in-system programmable flash memory, I/O ports, serial communication channel, timers, and interrupt sources. It provides details on the microcontroller's pin configurations for different packages and describes each pin's functions, such as power supply pins, ports for input/output, reset pin, and pins for programming and memory access.
microcontroller_instruction_set for ENGINEERING STUDENTSssuser2b759d
The document discusses the instruction set of microcontrollers. It describes that microcontrollers have instruction formats that specify the operation and operands. The 8051 microcontroller has 111 instructions divided into one-byte, two-byte, and three-byte instructions depending on the number of bytes needed to represent the instruction. The document outlines the different addressing modes and types of instructions including data transfer, arithmetic, logical, and program flow control instructions. It provides examples of common instructions and their operation.
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 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.
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 an overview of 8051 assembly language programming. It discusses the 8051 programming model, assembly language syntax, operation codes and operands, machine instructions, and the 8051 instruction set. Key concepts covered include 8051 registers, addressing modes, data movement instructions like MOV, arithmetic and logic instructions like ADD, and pseudo-instructions to control program assembly. Examples of assembly language code are provided to illustrate various instructions and concepts.
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 Microprocessor System. A semester course review. Summarize important points for whole subject. Using the 8051 architecture as the practical and projects development.
The document discusses different types of branching instructions in the 8051 microcontroller including calls, jumps, returns and conditional jumps. It provides details on absolute calls, long calls, returns, short jumps, long jumps, absolute jumps, indirect jumps and conditional jumps. It also discusses NOP instructions.
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 classifies and describes the instruction set of the 8051 microcontroller. It discusses the different types of instructions including data transfer, logical, arithmetic, bit-level, rotate/swap, and jump/call instructions. It provides examples of instructions for moving data to and from memory, performing logical and arithmetic operations, manipulating bits, and rotating/swapping values. Details are given on addressing modes, registers, flags, and how the instructions interact with memory and I/O.
Describes ARM7-TDMI Processor Instruction Set. Explains classes of ARM7 instructions, syntax of data processing instructions, branch instructions, load-store instructions, coprocessor instructions, thumb state instructions.
The instruction set of the microcontroller includes arithmetic, logical, and flag-affecting instructions. It allows operations on registers, direct addresses, and indirect addresses. The instruction byte size and oscillator period required for each instruction is also provided in a table.
The instruction set of the microcontroller includes arithmetic, logical, and flag-affecting instructions. It allows operations on registers, direct addresses, and indirect addresses. Common instructions include ADD, SUB, AND, OR, MOV, JMP, CALL. The instruction set supports conditional jumps based on flag settings from previous operations. Most instructions execute in 1 byte and 1 cycle.
The document provides information about a microcontroller instruction set including:
- Instructions that affect flag settings and how they modify the flags.
- The instruction set and addressing modes which include registers, direct addressing, indirect addressing, constants, and branches.
- A summary of the instruction set organized in a table with the opcode, instruction name, addressing mode, and byte size/cycle information.
The instruction set summary provides concise information about the instructions of the AT89 microcontroller in a tabular format. The table lists instructions according to operation type and describes each instruction's mnemonic, operation performed, byte size, and oscillator period. A second table continues listing additional instructions.
The instruction set of the 8051 microcontroller is classified into several categories based on the type of operations performed. These include data transfer instructions, byte-level logical instructions, arithmetic instructions, bit-level instructions, rotate and swap instructions, and jump and call instructions. Data transfer instructions move data between registers, memory, and I/O ports using various addressing modes. Byte-level logical instructions perform AND, OR, and XOR operations. Arithmetic instructions support operations like addition, subtraction, multiplication, and division. Bit-level instructions manipulate individual bits in registers and memory. Rotate and swap instructions rotate and rearrange bits and nibbles in the accumulator.
The instruction set of the 8051 microcontroller is classified into several categories based on the type of operations performed. These include data transfer instructions, byte-level logical instructions, arithmetic instructions, bit-level instructions, rotate and swap instructions, and jump and call instructions. Data transfer instructions move data between registers, memory, and I/O ports using various addressing modes. Byte-level logical instructions perform AND, OR, and XOR operations. Arithmetic instructions support operations like addition, subtraction, multiplication, and division. Bit-level instructions manipulate individual bits in registers and memory. Rotate and swap instructions rotate and rearrange bits and nibbles in the accumulator.
Digital to Analog Converters (DACs) convert digital values to analog voltages. There are different types of DACs including binary weighted resistor and R-2R ladder DACs. Key performance characteristics of DACs include resolution, reference voltages, settling time, linearity, speed, and errors. Common applications of DACs include use in digital audio systems, function generators, motor controllers, and to provide analog outputs more broadly.
The document describes the instruction set of the 8051 microprocessor. It is divided into 5 groups: arithmetic, logical, data transfer, boolean, and branching instructions. The arithmetic instructions include ADD, ADDC, DA for decimal adjust, and MUL/DIV for multiplication and division. Logical instructions include ANL, ORL, XRL. Data transfer instructions move data between registers and memory like MOV, PUSH, POP. Boolean instructions manipulate individual bits. Branching instructions include unconditional jumps, calls, returns, and conditional jumps.
This document provides a summary of the instruction set for the MCS-51 microcontroller. It includes a table listing over 40 instructions such as ADD, SUB, AND, OR, MOV, INC, DEC, along with the description, number of cycles, and whether it affects flag settings. It notes that instructions can specify registers, direct addresses, indirect RAM addresses, or immediate data as operands.
This document provides specifications for the BC556/557/558/559/560 series of PNP epitaxial silicon transistors. It lists the absolute maximum ratings and electrical characteristics such as collector-emitter voltage, collector current, and DC current gain for different transistor types. The transistors can be used for switching and amplification applications and come in a TO-92 package.
The document describes the features and specifications of the AT89S51 microcontroller, including its 4K bytes of in-system programmable flash memory, I/O ports, serial communication channel, timers, and interrupt sources. It provides details on the microcontroller's pin configurations for different packages and describes each pin's functions, such as power supply pins, ports for input/output, reset pin, and pins for programming and memory access.
This document summarizes the specifications and characteristics of the BC546/547/548/549/550 NPN epitaxial silicon transistor. It includes maximum ratings, electrical characteristics, typical characteristics like static and transfer characteristics, and package dimensions for the TO-92 package. The transistors can be used for high or low voltage, low noise applications and complement other transistors in the BC556-BC560 range.
This document describes the AT89C51 microcontroller. It has 4K bytes of flash memory, 128 bytes of RAM, 32 I/O lines, two 16-bit timers/counters, a five vector interrupt architecture, a serial port, and on-chip oscillator. It also describes the pin configurations for the microcontroller in PDIP, PLCC, and TQFP packages and provides details on the functions of individual pins.
The document introduces microcontrollers and discusses the 8051 microcontroller. It explains that microcontrollers are used to control intelligent systems and can measure and control their environment. Unlike microprocessors, microcontrollers incorporate features like ROM, RAM, timers and I/O ports. The 8051 is then described as a popular 8-bit microcontroller with 4K of ROM, 128 bytes of RAM, 32 I/O lines, two timers, serial communication capabilities, and five interrupt sources.
Microcontrollers are small computer chips that are used to control intelligent systems. They are found in devices like TVs, washing machines, games, phones, cars, planes, and more. Microcontrollers measure and control their environment by sensing inputs and outputting signals to control various functions. Unlike microprocessors, microcontrollers incorporate features like memory and input/output ports that allow them to directly control their environment. The 8051 microcontroller is one of the most popular and was introduced in the 1980s. It has memory and timers/counters that allow it to run automated programs and track time for applications like turning a light on and off every 30 seconds.
1. - 8051 Instruction Set
Arithmetic Operations
Mnemonic Description Size Cycles
ADD A,Rn Add register to Accumulator (ACC). 1 1
ADD A,direct Add direct byte to ACC. 2 1
ADD A,@Ri Add indirect RAM to ACC . 1 1
ADD A,#data Add immediate data to ACC . 2 1
ADDC A,Rn Add register to ACC with carry . 1 1
ADDC A,direct Add direct byte to ACC with carry. 2 1
ADDC A,@Ri Add indirect RAM to ACC with carry. 1 1
ADDC A,#data Add immediate data to ACC with carry. 2 1
SUBB A,Rn Subtract register from ACC with borrow. 1 1
SUBB A,direct Subtract direct byte from ACC with borrow 2 1
SUBB A,@Ri Subtract indirect RAM from ACC with borrow. 1 1
SUBB A,#data Subtract immediate data from ACC with borrow. 2 1
INC A Increment ACC. 1 1
INC Rn Increment register. 1 1
INC direct Increment direct byte. 2 1
INC @Ri Increment indirect RAM. 1 1
DEC A Decrement ACC. 1 1
DEC Rn Decrement register. 1 1
DEC direct Decrement direct byte. 2 1
DEC @Ri Decrement indirect RAM. 1 1
INC DPTR Increment data pointer. 1 2
MUL AB Multiply A and B Result: A <- low byte, B <- high byte. 1 4
DIV AB Divide A by B Result: A <- whole part, B <- remainder. 1 4
DA A Decimal adjust ACC. 1 1
2. Logical Operations
Mnemonic Description Size Cycles
ANL A,Rn AND Register to ACC. 1 1
ANL A,direct AND direct byte to ACC. 2 1
ANL A,@Ri AND indirect RAM to ACC. 1 1
ANL A,#data AND immediate data to ACC. 2 1
ANL direct,A AND ACC to direct byte. 2 1
ANL direct,#data AND immediate data to direct byte. 3 2
ORL A,Rn OR Register to ACC. 1 1
ORL A,direct OR direct byte to ACC. 2 1
ORL A,@Ri OR indirect RAM to ACC. 1 1
ORL A,#data OR immediate data to ACC. 2 1
ORL direct,A OR ACC to direct byte. 2 1
ORL direct,#data OR immediate data to direct byte. 3 2
XRL A,Rn Exclusive OR Register to ACC. 1 1
XRL A,direct Exclusive OR direct byte to ACC. 2 1
XRL A,@Ri Exclusive OR indirect RAM to ACC. 1 1
XRL A,#data Exclusive OR immediate data to ACC. 2 1
XRL direct,A Exclusive OR ACC to direct byte. 2 1
XRL direct,#data XOR immediate data to direct byte. 3 2
CLR A Clear ACC (set all bits to zero). 1 1
CPL A Compliment ACC. 1 1
RL A Rotate ACC left. 1 1
RLC A Rotate ACC left through carry. 1 1
RR A Rotate ACC right. 1 1
RRC A Rotate ACC right through carry. 1 1
SWAP A Swap nibbles within ACC. 1 1
3. Data Transfer
Mnemonic Description Size Cycles
MOV A,Rn Move register to ACC. 1 1
MOV A,direct Move direct byte to ACC. 2 1
MOV A,@Ri Move indirect RAM to ACC. 1 1
MOV A,#data Move immediate data to ACC. 2 1
MOV Rn,A Move ACC to register. 1 1
MOV Rn,direct Move direct byte to register. 2 2
MOV Rn,#data Move immediate data to register. 2 1
MOV direct,A Move ACC to direct byte. 2 1
MOV direct,Rn Move register to direct byte. 2 2
MOV direct,direct Move direct byte to direct byte. 3 2
MOV direct,@Ri Move indirect RAM to direct byte. 2 2
MOV direct,#data Move immediate data to direct byte. 3 2
MOV @Ri,A Move ACC to indirect RAM. 1 1
MOV @Ri,direct Move direct byte to indirect RAM. 2 2
MOV @Ri,#data Move immediate data to indirect RAM. 2 1
MOV DPTR,#data16 Move immediate 16 bit data to data pointer register. 3 2
MOVC A,@A+DPTR Move code byte relative to DPTR to ACC (16 bit address). 1 2
MOVC A,@A+PC Move code byte relative to PC to ACC (16 bit address). 1 2
MOVX A,@Ri Move external RAM to ACC (8 bit address). 1 2
MOVX A,@DPTR Move external RAM to ACC (16 bit address). 1 2
MOVX @Ri,A Move ACC to external RAM (8 bit address). 1 2
MOVX @DPTR,A Move ACC to external RAM (16 bit address). 1 2
PUSH direct Push direct byte onto stack. 2 2
POP direct Pop direct byte from stack. 2 2
XCH A,Rn Exchange register with ACC. 1 1
XCH A,direct Exchange direct byte with ACC. 2 1
4. XCH A,@Ri Exchange indirect RAM with ACC. 1 1
XCHD A,@Ri Exchange low order nibble of indirect
RAM with low order nibble of ACC 1 1
Boolean Variable Manipulation
Mnemonic Description Size Cycles
CLR C Clear carry flag. 1 1
CLR bit Clear direct bit. 2 1
SETB C Set carry flag. 1 1
SETB bitSet direct bit 2 1
CPL C Compliment carry flag. 1 1
CPL bit Compliment direct bit. 2 1
ANL C,bit AND direct bit to carry flag. 2 2
ANL C,/bit AND compliment of direct bit to carry. 2 2
ORL C,bit OR direct bit to carry flag. 2 2
ORL C,/bit OR compliment of direct bit to carry. 2 2
MOV C,bit Move direct bit to carry flag. 2 1
MOV bit,C Move carry to direct bit. 2 2
JC rel Jump if carry is set. 2 2
JNC rel Jump if carry is not set. 2 2
JB bit,rel Jump if direct bit is set. 3 2
JNB bit,rel Jump if direct bit is not set. 3 2
JBC bit,rel Jump if direct bit is set & clear bit. 3 2
Program Branching
Mnemonic Description Size Cycles
ACALL addr11 Absolute subroutine call. 2 2
LCALL addr16 Long subroutine call. 3 2
RET Return from subroutine. 1 2
RETI Return from interrupt. 1 2
5. AJMP addr11 Absolute jump. 2 2
LJMP addr16 Long jump. 3 2
SJMP rel Short jump (relative address). 2 2
JMP @A+DPTR Jump indirect relative to the DPTR. 1 2
JZ rel Jump relative if ACC is zero. 2 2
JNZ rel Jump relative if ACC is not zero. 2 2
CJNE A,direct,rel Compare direct byte to ACC and jump if not equal. 3 2
CJNE A,#data,rel Compare immediate byte to ACC and jump if not equal. 3 2
CJNE Rn,#data,rel Compare immediate byte to register and jump if not equal. 3 2
CJNE @Ri,#data,rel Compare immediate byte to indirect and jump if not equal. 3 2
DJNZ Rn,rel Decrement register and jump if not zero. 2 2
DJNZ direct,rel Decrement direct byte and jump if not zero. 3 2
Other Instructions
Mnemonic Description Size Cycles
NOP No operation. 1 1
6. AJMP addr11 Absolute jump. 2 2
LJMP addr16 Long jump. 3 2
SJMP rel Short jump (relative address). 2 2
JMP @A+DPTR Jump indirect relative to the DPTR. 1 2
JZ rel Jump relative if ACC is zero. 2 2
JNZ rel Jump relative if ACC is not zero. 2 2
CJNE A,direct,rel Compare direct byte to ACC and jump if not equal. 3 2
CJNE A,#data,rel Compare immediate byte to ACC and jump if not equal. 3 2
CJNE Rn,#data,rel Compare immediate byte to register and jump if not equal. 3 2
CJNE @Ri,#data,rel Compare immediate byte to indirect and jump if not equal. 3 2
DJNZ Rn,rel Decrement register and jump if not zero. 2 2
DJNZ direct,rel Decrement direct byte and jump if not zero. 3 2
Other Instructions
Mnemonic Description Size Cycles
NOP No operation. 1 1