blob: 006c821c91febc84ec91e2774d7ef4eec206495d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
/*#define XADDL(s,d) BYTE $0x0F; BYTE $0xC1; BYTE $((0<<6)|(s<<3)|(d))*/
/*TEXT xadd(SB),$0 /* long xadd(long *, long); */
/* MOVL l+0(FP),BX
/* MOVL i+4(FP),AX
/* LOCK
/* XADDL(0,3)
/* RET
*/
TEXT _xinc(SB),$0 /* void _xinc(long *); */
MOVL l+0(FP),AX
LOCK
INCL 0(AX)
RET
TEXT _xdec(SB),$0 /* long _xdec(long *); */
MOVL l+0(FP),AX
LOCK
DECL 0(AX)
JZ iszero
MOVL $1, AX
RET
iszero:
MOVL $0, AX
RET
|