INSTRUCTION SET REFERENCE

[Encoding]

 

 

 

 

 

 

 

 

 

1 0 0 1

1 1 1 0

 

u u u u

1 0 1 1

 

 

 

 

 

Hex Code in:

Binary Mode = [A5][Encoding]

 

 

Source Mode = [Encoding]

 

Operation:

SUB

 

 

 

 

(Rm) (Rm) – ((DRk))

 

s s s s

0 0 0 0

SUBB A,<src–byte>

Function:

Subtract with borrow

Description:

SUBB subtracts the specified variable and the CY flag together from the accumulator,

 

leaving the result in the accumulator. SUBB sets the CY (borrow) flag if a borrow is needed

 

for bit 7, and clears CY otherwise. (If CY was set before executing a SUBB instruction, this

 

indicates that a borrow was needed for the previous step in a multiple precision subtraction,

 

so the CY flag is subtracted from the accumulator along with the source operand.) AC is set

 

if a borrow is needed for bit 3, and cleared otherwise. OV is set if a borrow is needed into bit

 

6, but not into bit 7, or into bit 7, but not bit 6.

 

When subtracting signed integers the OV flag indicates a negative number produced when a

 

negative value is subtracted from a positive value, or a positive result when a positive

 

number is subtracted from a negative number.

 

Bit 6 and bit 7 in this description refer to the most significant byte of the operand (8, 16, or 32

 

bit).

 

The source operand allows four addressing modes: register, direct, register-indirect, or

 

immediate.

Flags:

CY

AC

OV

N

Z

 

 

 

 

 

 

 

 

 

 

Example: The accumulator contains 0C9H (11001001B), register 2 contains 54H (01010100B), and the CY flag is set. After executing the instruction

SUBB A,R2

the accumulator contains 74H (01110100B), the CY and AC flags are clear, and the OV flag is set.

Notice that 0C9H minus 54H is 75H. The difference between this and the above result is due to the CY (borrow) flag being set before the operation. If the state of the carry is not known before starting a single or multiple-precision subtraction, it should be explicitly cleared by a CLR CY instruction.

Variations

SUBB A,#data

 

Binary Mode

Source Mode

Bytes:

2

2

States:

1

1

A-127

Page 379
Image 379
Intel Embedded Microcontroller, 8XC251SA, 8XC251SP Subb A,src-byte Function, Subb A,R2, Variations Subb A,#data Binary Mode

Embedded Microcontroller, 8XC251SP, 8XC251SA, 8XC251SQ, 8XC251SB specifications

The Intel 8XC251 series of embedded microcontrollers is a family of versatile and powerful devices, designed to meet the demands of a wide range of applications. With models such as the 8XC251SB, 8XC251SQ, 8XC251SA, and 8XC251SP, this series offers unique features while maintaining a high level of performance and reliability.

At the heart of the 8XC251 microcontrollers is the 8051 architecture, which provides a 16-bit processor capable of executing complex instructions efficiently. This architecture not only allows for a rich instruction set but also facilitates programming in assembly language and higher-level languages like C, which are essential for developing sophisticated embedded systems.

One of the significant features of the 8XC251 family is its integrated peripherals, including timer/counters, serial communication interfaces, and interrupt systems. These peripherals enable developers to implement timing functions, data communication, and real-time processing, all of which are crucial in modern embedded applications. The 8XC251SB and 8XC251SQ models, for instance, come equipped with multiple I/O ports that allow for interfacing with other devices and systems, enhancing their functionality in various environments.

The memory architecture of the 8XC251 devices is noteworthy, featuring on-chip ROM, RAM, and EEPROM. The on-chip memory allows for fast access times, which is essential for executing programs efficiently. Moreover, the EEPROM serves as non-volatile memory, enabling the storage of configuration settings and important data that must be retained even when power is lost.

In terms of operating voltage, the 8XC251 devices are designed to operate in a wide range, typically between 4.0V and 6.0V. This flexibility makes them suitable for battery-powered applications, where energy efficiency is critical. The power management features, including reduced power modes, further enhance their suitability for portable devices.

Lastly, the 8XC251 series is supported by a wide range of development tools and resources, allowing engineers and developers to streamline the development process. This support, combined with the microcontrollers' robust features, makes the Intel 8XC251 family a reliable choice for various embedded applications, such as industrial automation, automotive systems, and consumer electronics.

Overall, the Intel 8XC251SB, 8XC251SQ, 8XC251SA, and 8XC251SP deliver high performance, versatility, and ease of use, making them a preferred choice for embedded system designers looking to develop efficient and effective solutions.