- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是对 this 的后续问题.我正在使用
为__AVR_HAVE_LPMX__
处理器 (avr25) 编写代码
当我在内联汇编中使用 lpm rd, Z
时,编译器总是将其转换为 lpm rd,Z+
(摘自 lss 文件):
asm volatile("lpm r24,Z");
248: 84 91 lpm r24, Z+
这是不好的,如果它用于连续访问查找表。查找值可能是 0xff
,因此这会不必要地增加 ZH
(r31
),从而破坏此 solution .
有什么规避这种行为的建议吗?
最佳答案
解法没有错;你的反汇编程序(avr-objdump -d
,binutils
包的一部分)有问题。
参见 Atmel AVR instruction set manual 的第 97 页(PDF)。 lpm
指令变体编码为
1001 0101 1100 1000 = 0x95C8 lpm r0,Z
1001 000? ???? 0100 = 0x9??4 lpm r?,Z
1001 000? ???? 0101 = 0x9??5 lpm r?,Z+
假设我们比您的反汇编程序更信任 Atmel 文档,那么
84 91 lpm r24,Z
鉴于
85 91 lpm r24,Z+
事实上,avr-gcc (GCC) 4.8.2 使用 avr-gcc-4.8.2 -O2 -fomit- 将内联汇编编译为相同的两个字节 (
,并在汇编源文件中列为84 91
) frame-pointer -mmcu=avr25lpm r24,Z
(使用-S
选项);当编译为目标文件,并使用 avr-objdump -d
与 avr-objdump (GNU binutils) 2.23.1 反汇编时,指令仍然是 84 91
lpm r24,Z
.
这让我相信这是 avr-objdump(GNU binutils 的一部分)中的错误。啊是的,reported here , 和 apparently fixed in binutils-2.23.1 2013 年 10 月。
简而言之,只有反汇编受到影响;反汇编在应该显示 Z
时错误地显示了 Z+
。它不会影响生成的代码,只是人类可读的输出不正确。要修复,请升级到 binutils 版本 2.23.1 或更高版本。如果不能,请不要担心:您可以安全地忽略此错误,因为它只会影响人类可读的反汇编。
有问题吗?
关于c - lpm rd,Z 总是在 gcc-avr 中的内联汇编上转换为 lpm rd,Z+,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25720452/
我花了几个小时在 R-exts 手册和文档上parse_Rd() (以及引用文献中的 PDF 文档),但我 还没搞清楚是什么results=rd手段或如何使用它。我以为我可以 使用 R 代码片段动态创
这是对 this 的后续问题.我正在使用 为 __AVR_HAVE_LPMX__ 处理器 (avr25) 编写代码 GNU C (WinAVR 20100110) 版本 4.3.3 (avr)/由 G
我正在记录一个内部的、非导出的函数。 roxygen2 正在创建一个 Rd 文件,即使文档中没有 @export 标记。 roxygen2 为以下文档创建了一个 Rd 文件。我错过了什么? #
我正在记录一个内部的、非导出的函数。 roxygen2 正在创建一个 Rd 文件,即使文档中没有 @export 标记。 roxygen2 为以下文档创建了一个 Rd 文件。我错过了什么? #
如何正确指定 rd 文件的编码?我正在尝试将以下记录虚拟函数的帮助文件添加到我的包中: \name{dummy} \encoding{ISO-8859-2} \alias{dummy} \title{
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 3年前关闭。 Improve thi
结合试图为自己寻找解决方案 this question ,我发现自己陷入了尝试编写有效 Rd 标记的过程中。我想要的是添加一个名为 Raw Function Code 的部分并将函数的代码放在它下面。
我正在为一个函数填写一个 Rd 文件。 当我在 Details 部分使用\eqn{2^{x}} ,然后构建和安装包时,没有上标指数。 查看 R-exts.pdf,它以 Poisson.Rd 为例说明如
我在一家从事能源业务的研发公司工作。我们开发了一些成功的产品,但现在似乎所有的时间都花在解决与这些产品相关的问题上。我们似乎没有时间开发新产品。有没有人知道如何既能处理现有产品出现的问题,又能有时间和
我正在尝试将 R 文档文件(扩展名 .Rd)转换为纯文本。我知道 RdUtils 包含一个名为 Rdconv 的工具,但据我所知它只能从命令行使用。有没有办法从 R session 中访问 Rdcon
正如标题所说,我在生成 时遇到问题R 使用 打包文档roxygen2 . 我 99.9% 肯定已经按照说明准备了一切here and here已经。我知道几乎不可能得到像这样的主要远程诊断非病例的答案
我正在使用 Rstudio 简化 Sweave 和 R 进行数据分析,我将与其他分析师分享。为了使变量的编码更加清晰,最好有一个帮助文件这样他们可以调用?myData。并获得有用的文件,如果他们需要的
简短版本:我可以使用 roxygen 模拟 stats 包中 Normal 的文档吗? 长版本:我正在开发一个包,并试图通过在一个标题下收集许多具有公共(public)输入/参数的函数来使文档更具可读
我无法使用 RStudio 和 Roxygen2 为我的包生成 .Rd 文档文件。首先,我要提一下,我已经遇到了此处发布的类似问题,并且已经完成了以下操作: Roxygen2 阻止在文件开头以 #'
我正在通过 JS 调用 ipinfodb。最近我收到了大约 5-6 条回复(来自大约 600 条),将国家/地区代码指定为“RD”。 “RD”不是 ccTLD,我找不到任何理由将其退回。有没有人遇到过
我正在使用 roxygen 来记录 R 包。我在包的“man/macros”子目录中有一个宏文件 myMacro.Rd。该文件指定 \myMacro宏。 (该宏将 标记插入 HTML 帮助文件以更改
我有一个 Windows 批处理文件,它删除了 Windows 主目录中的一些目录。 REM clear Ivy cache on windows RD /s %Use
以下 MWE 无法编译(通过 devtools::document()): #' MWE #' #' @examples #' format('{}') # Works #' format('{')
.R 和 .rd 文件(文档)的名称是否需要与它所指的函数具有完全相同的名称? 例如,我能否在同一个 R 包中拥有一个名为“b”的函数和另一个名为“B”的函数,并将文档写入不同的 .R 和 .rd 文
实际问题 如何避免 Rd 文件名冲突 S4 泛型及其方法不一定全部定义在同一个包中(包含(某些)自定义方法的包取决于包含泛型的包)和 使用 roxygenize()从包装 roxygen2生成实际的
我是一名优秀的程序员,十分优秀!