plan9fox/sys/src/cmd/5l/l.s
2011-03-30 19:35:09 +03:00

32 lines
454 B
ArmAsm

TEXT main(SB), $0
ADD R1,R4
ADD R1,R3,R4
ADD R1<<1,R3,R4 /* logical left */
ADD R1>>1,R3,R4 /* logical right */
ADD R1->1,R3,R4 /* arithmetic right */
ADD R1@>1,R3,R4 /* rotate right */
ADD R1<<R2,R3,R4
MOVW R1<<R2,R4
ADD $10,R1,R4
loop:
ADD.S.NE R1,R4
BNE loop
MRC.EQ 3,9,R3,C5,C6,2
MRC 3,9,R3,C5,C6,2
MOVW $(0xf<<28), CPSR
MOVW.F R3, SPSR
SWI 123
SWPW R1,(R2),R3
SWPBU.NE (R2),R3
SWPBU R1,(R2)
MOVM.IA.S.W (R13),[R15]
RFE