An easy programming question for microcontrollers! Urgent, write a 3-byte binary subtraction subroutine.
When using the main program to call multiple groups of data for debugging, two situations need to be considered: the situation with and without borrow.
Input: Minuend: 52H, 51H, 50H, 50H is the lowest bit;
Subtrahend: 42H, 41H, 40H, 40H is the lowest bit;
Output: Difference: external data storage 2003H~2000H (2000H is the lowest bit).
There are three bytes involved in the subtraction, and the addresses are continuous, so just loop three times.
MOV R0, #50H ;Address of minuend
MOV R1, #40H ;Address of subtrahend
MOV DPTR, #2000H ;Address of difference
CLR C
MOV R2, #3 ;Loop 3 times
S_LOOP:
MOV A, @R0 ;Get
SUBB A, @R1 ;Subtract
MOVX @DPTR, A ;Store
INC R0
INC R1
INC DPTR
DJNZ R2, S_LOOP
CLR A
SUBB A, #0 ;Get borrow
MOVX @DPTR, A ;Store
RET
Previous article:Using AT89S51 microcontroller, turn the LED light on for 4 seconds and off for 2 seconds
Next article:Write a 10-digit decimal addition subroutine (decimal numbers are stored in compressed BCD code)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- [Download Gift] Demonstrate Multi-channel Signal Spectrum Analysis Using the Spectrum View Function of the New Tektronix MSO6 Oscilloscope
- Is there any MEMS or sensor expert?
- MSP430 Registers
- GPIO Features of TMS320C6748
- Simplifying isolated CAN, power interfaces for HEV 48-V systems
- Active and passive filters
- Can I use LPS22HB without connecting SD0/SA0 to anything?
- App Client
- Limitations of Flash_API for C2000 Series (28335) DSP
- EEWORLD University - Power stage protection, current sensing, efficiency analysis and related TI designs