Results 13 comments of Feiyang Chen

`la` 系列的指令都是伪指令,用于加载地址。

我一开始的表述不大准确,用 `ll.w`/`sc.w` 模拟 `ll.b`/`sc.b` 的过程比较复杂,大体思路是先对齐,然后用 `ll.w`/`sc.w` 结合位运算操作需要写入的 byte,具体的例子可以参考内核的 [`__xchg_small(volatile void *ptr, unsigned long val, unsigned int size)`](https://github.com/loongson/linux/blob/dbff6e4846e021524294de16b7fa3c3e1c4e1179/arch/loongarch/kernel/cmpxchg.c#L15) 函数,该函数会把 `size` 大小的 `val` 变量原子写到 `ptr` 位置,并返回该位置的原始值。

> 又遇到一个奇怪的问题,在loongnix(dnf based,我不知道是不是fedora)和UOS(DEBIAN based)上,汇编的注释符并不一样,UOS上是//,loongnix是#,双方的gcc都是8.3.0 两种注释方式都可以,`/* */` 也行。