首页 理论教育 算术运算程序|单片微机原理及接口技术

算术运算程序|单片微机原理及接口技术

时间:2023-11-02 理论教育 版权反馈
【摘要】:下面介绍基本算术运算汇编语言程序设计。程序如下: 4位BCD码的减法程序设计。假设有两个4位压缩BCD码,被减数存储在30H和31H单元中,减数存储在40H和41H单元中,两数的差存储在50H和51H单元中。必须转换为BCD码加法运算。程序设计如下: 编写程序实现“1+2+3+…+99”加法运算,结果BCD码的千、百位存储在31H单元,十、个位存储在30H单元。本例是十进制数累加,要求结果为十进制数,必须使用循环控制累加次数,每加一次就进行一次BCD码调整。

算术运算程序|单片微机原理及接口技术

工程实践中通常离不开数据的运算。下面介绍基本算术运算汇编语言程序设计。8051单片机算术运算类指令有单字节的加(ADD)、带进位加(ADDC)、带借位减(SUBB)、乘(MUL)和除(DIV)等。

【例5-10】 单字节有符号数的加减法子程序。

假设2个单字节有符号数原码分别存在R2和R3中,进行(R2)±(R3)运算后的结果原码存在R7中。运算结果溢出时OV置位。有符号数的减法设计时,可以看成一个有符号数与另一个有符号数的相反数相加。设使用F0标志加法、减法运算,例如,若F0=0做加法,若F0=1做减法,程序设计如下:

【例5-11】 4字节无符号数加法程序设计。

假设两个4字节无符号数分别存储在以DATA1和DATA2为首址的连续单元中(低字节在前),设计程序求两数的和,结果放在被加数单元中。程序如下:

【例5-12】 4位BCD码的减法程序设计。(www.xing528.com)

假设有两个4位压缩BCD码,被减数存储在30H和31H单元中,减数存储在40H和41H单元中,两数的差存储在50H和51H单元中。

对于BCD码减法,不能在减法指令的后面用DA调整指令进行十进制调整。必须转换为BCD码加法运算。程序设计如下:

【例5-13】 编写程序实现“1+2+3+…+99”加法运算,结果BCD码的千、百位存储在31H单元,十、个位存储在30H单元。

本例是十进制数累加,要求结果为十进制数,必须使用循环控制累加次数,每加一次就进行一次BCD码调整。程序如下:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈