Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# 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