A simple experimental programming question for the microcontroller: write a 3-byte binary addition subroutine.
The program entry is:
addend 1: 22H, 21H, 20H three bytes, 22H is the highest bit;
addend 2: 32H, 31H, 30H three bytes, 32H is the highest bit.
The program exit is:
sum: 23H, 22H, 21H, 20H four bytes, 23H is the highest bit.
Best answer:
The addend has three bytes and the addresses are continuous, so just loop three times.
MOV R0, #20H ;Address of addend 1, address of sum
MOV R1, #30H ;Address of addend 2
CLR C
MOV R2, #3 ;Loop 3 times
A_LOOP:
MOV A, @R0 ;Get
ADDC A, @R1 ;Add
MOV @R0, A ;Store
INC R0
INC R1
DJNZ R2, A_LOOP
CLR A
ADDC A, #0 ;Get carry
MOV 23H, A ;Save
RET
;-----------------------------------------
Previous article:Write a 10-digit decimal addition subroutine (decimal numbers are stored in compressed BCD code)
Next article:MCU timing problem: on for 100ms, off for 300ms
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
- Interference Analysis and Countermeasures in High-Frequency PCB Design
- TI - MCU - MSP430 User Guide 13 -> Timer module
- Understanding characteristic impedance
- Memory Technology's recent expert position requirements
- Serial port 3.3V5V compatibility issue
- How to connect ESP8266 to OneNet cloud platform as a safety black box for engineers
- Application of Modbus TCP to Profinet Gateway in Water Treatment System
- Keyless multifunctional TV remote control based on micromachined accelerometer
- AT32F437 Play (1) --- Collect and upload images
- DC-DC conversion from car battery input for improved EMI performance