怎么用汇编语言在单片机程序中定义标志位

怎么用汇编语言在单片机程序中定义标志位,第1张

用汇编语言在单片机程序中定义标志位,很简单。单片机内存从20H开始的8个字节是布尔变量区,也就是为变量区。C语言定义unsigned char flag=0;,实际也是存储在这个区。汇编也一样,只不过需要直接指定位地址,并要自己初始化:

flag EQU 20H;

SETB flag

CMP指令

CMP指令的格式为:

CMP{条件} *** 作数1, *** 作数2

CMP指令用于把 一个寄存器的内容和另一个寄存器的内容或立即数进行比较,同时更新CPSR中条件标志位的值。该指令进行一次减法运算,但不存储结果,只更改条件标志位。 标志位表示的是 *** 作数1与 *** 作数2的关系(大、小、相等),例如,当 *** 作数1大于 *** 作 *** 作数2,则此后的有GT 后缀的指令将可以执行。

指令示例:

CMPR1,R0 ;将寄存器R1的值与寄存器R0的值相减,并根据

结果设置CPSR的标志位

CMPR1,#100 ;将寄存器R1的值与立即数100相减,并根据结果

设置CPSR的标志位


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11491202.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存