12、AVR微控制器的算术、逻辑与I/O操作

AVR微控制器的算术、逻辑与I/O操作

1. 减法操作

AVR微控制器中的SUB指令用于执行无进位减法,即从一个寄存器的值中减去另一个寄存器的值。若减法结果为负,则以二进制补码形式存储。

1.1 正结果减法示例

test_asm : main.asm – Subtraction with positive result
    ldi     r16, 145
    ldi     r17, 99
    sub     r16, r17        ; R16 = R16 – R17 = 145 – 99 = 46 or 0x2E

在这个例子中,SUB指令将R17的值从R16的值中减去,并将结果存回R16。可以在Microchip Studio模拟器中测试此代码。

1.2 负结果减法示例

test_asm : main.asm – Subtraction with negative result
    ldi     r16, 84
    ldi     r17, 199
    sub     r16, r17        ; R16 = R16 – R17 = 84 – 199 = -115 or 0x8D

在Microchip Studio调试器中,上述代码的减法结果在R16中为0x8D,状态寄存器中的负标志被设置。当在处理器状态窗口中将R16转换为十进制时,它不会考虑该数为负数,而是将其视为正数。要将0x8D(二进制为0b100

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值