# mach: bfin .include "testutils.inc" start // load r1=0x7fffffff // load r2=0x80000000 // load r3=0x000000ff // load r4=0x00000000 loadsym p0, data0; R0 = [ P0 ++ ]; R1 = [ P0 ++ ]; R2 = [ P0 ++ ]; R3 = [ P0 ++ ]; R4 = [ P0 ++ ]; _dbg r0; _dbg r1; _dbg r2; _dbg r3; _dbg r4; R7 = 0; ASTAT = R7; r5 = r1 << 0x4 (s); _DBG ASTAT; r7=astat; dbga (r5.h, 0x7fff); dbga (r5.l, 0xffff); dbga (r7.h, 0x0300); // V=1, VS=1 dbga (r7.l, 0x8); R7 = 0; ASTAT = R7; r5.h = r1.h << 0x4 (s); _DBG ASTAT; r7=astat; dbga (r5.h, 0x7fff); dbga (r7.h, 0x0300); // V=1, VS=1 dbga (r7.l, 0x8); A0 = 0; A0.w = r1; A0.x = r0.l; r6 = 0x3; _dbg r6; _dbg A0; R7 = 0; ASTAT = R7; A0 = ASHIFT A0 BY R6.L; _DBG ASTAT; _DBG A0; r7 = astat; dbga (r7.h, 0x0); // AV0=0, AV0S=0 dbga (r7.l, 0x2); // AN = 1 A1 = 0; A1 = r1; A1.x = r0.l; r6 = 0x3; _dbg A1; R7 = 0; ASTAT = R7; A1 = ASHIFT A1 BY R6.L; _DBG ASTAT; _DBG A1; r7 = astat; dbga (r7.h, 0x0); // AV1=0, AV1S=0 dbga (r7.l, 0x2); // AN = 1 pass .data 0x1000; data0: .dw 0x1111 .dw 0x1111 .dw 0xffff .dw 0x7fff .dw 0x0000 .dw 0x8000 .dw 0x00ff .dw 0x0000 .dw 0x0000 .dw 0x0000