首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TAS指令68000

TAS指令68000
EN

Stack Overflow用户
提问于 2021-01-10 19:14:56
回答 1查看 187关注 0票数 0

要在M68000汇编程序中处理并发,我需要了解TAS指令是如何工作的。

我真的不关心我从手册中看到的理论描述(例如http://68k.hax.com/TAS)。最重要的是,我想看到一些例子。

EN

回答 1

Stack Overflow用户

发布于 2021-01-27 22:42:27

实际上,这条指令没有太多意义。在68k汇编中,一个典型的自旋锁代码可能看起来像这样:

代码语言:javascript
运行
复制
        lea.l  spinLock(pc),a0
getLock:
        tas   (a0)
        bne.s getLock
        bra   haveLock
spinLock 
        dc.b  0

代码在spinLock处设置字节的最大有效位,并循环直到设置了零标志(告诉您之前没有设置该位,即没有其他代码段已经获得锁)。重要的是TAS指令是原子的,也就是说,它不会被位测试和设置之间的其他代码(例如ISR )中断。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65652643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档