关于".set push"和".set pop"

本文介绍了在龙芯论坛中找到的MIPS指令集中.set指令的使用方法,包括noreorder、mips3、reorder、pop和push等标志位的作用及如何影响生成的代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在龙芯论坛搜到的。
.set
Sets (and clears) various flags that affect generated code. The following table may not be a complete list.
Flag
noreorder
        Turns off reordering of instructions. When on, t.i. when the assembler is reordering, it will put the last instruction before j or jr after the jump so it'll be in the branch delay slot. When off, you'll have to do it yourself.

mips3
        Tells the assembler that it can use the MIPS III instructions. Withouth it as simulates 64 bit instructions, and believe me, that's something you don't want.

reorder
        Allows the assembler to reorder instructions; see noreorder

pop
        Not really a flag but restores the state of the flags to what it was before the last .set push; see push.

push
        Nor really a flag but saves the status of the flags so it can be restored with .set pop. Not really useful (I think) outside inline assembly. Use in pairs with .set pop.
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(1030) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值