-
Notifications
You must be signed in to change notification settings - Fork 58
缺失的指令 missing instructions #39
Comments
用作寄存器-寄存器搬运的 "mov" 指令写法是 用作过程调用返回的 "ret" 指令写法是 |
这俩指令(和一票别的东西)都是伪指令,这本手册没有讲伪指令。不过这些东西确实龙芯文档团队需要考虑优化。 |
打错了,是jr指令,不是ja |
感谢,另外问一下ll和sc这一对操作(即原子读写操作),只看到有字和双字的操作,字节和半字操作并没有,操作byte原子读写应该怎么写? |
另外经过实际编译测试,jirl 0, 1, 0或jirl 0, $r1, 0 这一指令都会报错 |
把操作 byte 原子读写的过程放 |
|
|
|
@FreeFlyingSheep 是否能详细说说byte原子操作。
另一个c原子会调用这个功能
这是一个写的锁操作,需要原子写入一个byte,但是因为ll只有ll.w(字的原子写)和ll.d(双字的原子写),有没有ll.b这种写入byte的?或者怎么变相实现? |
我一开始的表述不大准确,用 |
又遇到一个奇怪的问题,在loongnix(dnf based,我不知道是不是fedora)和UOS(DEBIAN based)上,汇编的注释符并不一样,UOS上是//,loongnix是#,双方的gcc都是8.3.0 |
两种注释方式都可以, |
友情提醒:工单系统不是技术支持论坛,这边的人也都不是技术支持工程师(我甚至不是龙芯员工)。类似的问题可以去社区 http://bbs.loongnix.cn 问。 |
额,明白 |
同时也欢迎各位开源大佬关注我们的项目,https://github.com/ptitSeb/box64 另一个x86二进制模拟器 |
我感觉 move 这个东西还是文档记录一下好,不然大家会自己乱写各种变体 ( |
Describe the question:
类似x86下的mov指令和ret指令在手册中未查到
Describe the idea:
在编写loongarch64汇编时,发现传送指令(类似x86的mov),无条件跳转指令(类似ret)是缺失的,经过对一个c文件,在gcc下进行汇编编译,我们认为这几个指令是可能的:
jr指令,对应ret指令,用法为
jr $r1
la.local指令,对应mov,用法为
la.local 寄存器操作数, 被传送内容(x86下通常是.data域定义的变量)
另外还看到一个la.global不知是何含义
以上三个指令,在《loongarch架构手册第一部分》内查不到,请帮忙核实一下。
Additional context:
The text was updated successfully, but these errors were encountered: