gpt4 book ai didi

assembly - 有关新 AVR 指令 LAC、LAS、LAT 和 XCH 的更多详细信息

转载 作者:行者123 更新时间:2023-12-02 10:06:07 25 4
gpt4 key购买 nike

查看 AVR 指令集,2010 年添加了 4 条指令

LAC load and clear
LAS load and set
LAT load and toggle
XCH load and exchange
  1. 有谁知道哪些芯片有这些说明

  2. 哪些工具支持这些说明

  3. 有关他们所做工作的更多信息

    (Z) <- Rd v (Z),Rd <- (Z)

这是否意味着 Rd 和 (Z) 获得相同的值,或者 Rd 是否获得 Z 所指向的值的预修改值?

最佳答案

这些可能不存在于当前(截至最初问题)芯片中,但都有一个共同的主题 - 原子内存操作。它们的目的通常是用于线程之间的同步,并且将它们包含在指令集级别可能表明 Atmel 正计划推出多核 AVR 芯片。由于现在已经指定了它们,工具供应商已经可以将它们添加到汇编器中,但在芯片拥有指令之前,他们不会对此大做文章。 (编辑:事实证明,另一个核心是 USB 外设,而不是 CPU。感谢 avakar 提供的信息。)

我从 Atmel AVR 8-bit Instruction Set Manual 中读到的行为:

LAC - 加载和清除,将内存内容 *Z 加载到寄存器 Rd 中,同时清除 *Z 中在 Rd 中设置的位。

LAS - 加载和设置同时设置内存位置中已在寄存器中设置的位,并使用内存位置的先前内容加载寄存器。例如,对于单位互斥体非常有用。

LAT - 加载和切换;与 LAS 类似,但它不是按位或,而是使用按位异或,从而切换位。

XCH - 交易所;只是交换内存和寄存器内容。

所有这些都是 RAM 访问指令(07/2014 引用状态,它们需要两个周期),它们组合了操作,因此它们也可以使需要 RAM 的代码比当前更快。

关于assembly - 有关新 AVR 指令 LAC、LAS、LAT 和 XCH 的更多详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8901275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com