【发布时间】:2017-08-23 22:12:54
【问题描述】:
所以,我正在从 Huang 的教科书中学习 Atmel AVR 组装。书中有如下例子:
// Subtract 10 from mem(0x2000)
ldi XL, 0x00 ; Load mem(0x2000) into X
ldi XH, 0x20 ;
ld r0, X ; Load the value into r0
sbi r0, 10 ; Subtract 10 from r0.
st X, r0 ; Store the result back in mem(0x2000)
这不是错误的吗?第 4 行不应该是subi,而不是sbi。
sbi 的文档内容如下:
Description:
Sets a specified bit in an I/O register. This instruction operates on the
lower 32 I/O registers - addresses 0-31.
这似乎与示例试图做的事情无关。我错过了什么,还是应该通知发布者?
【问题讨论】:
-
非常正确 - XL 和 XH 是 X 的一部分,而不是 Y(该评论具有误导性)。有人把事情搞混了。
-
在我的示例解决方案中最初是 Y,但我改为反映本书的示例解决方案(使用 X)。我想我错过了评论。立即修复