xincmips.s
来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· S 代码 · 共 47 行
S
47 行
/* * R4000 user level lock code */#define LL(base, rt) WORD $((060<<26)|((base)<<21)|((rt)<<16))#define SC(base, rt) WORD $((070<<26)|((base)<<21)|((rt)<<16))#define NOOP WORD $0x27#ifdef oldstyleTEXT xadd(SB), $0 MOVW R1, R2 /* address of counter */loop: MOVW n+4(FP), R3 /* increment */ LL(2, 1) NOOP ADD R1,R3,R3 SC(2, 3) NOOP BEQ R3,loop RET#endifTEXT _xinc(SB), $0 MOVW R1, R2 /* address of counter */loop: MOVW $1, R3 LL(2, 1) NOOP ADD R1,R3,R3 SC(2, 3) NOOP BEQ R3,loop RETTEXT _xdec(SB), $0 MOVW R1, R2 /* address of counter */loop1: MOVW $-1, R3 LL(2, 1) NOOP ADD R1,R3,R3 MOVW R3, R1 SC(2, 3) NOOP BEQ R3,loop1 RET
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?