	.section .text.m0, "ax"
	.file	"LDPCCBSegmentAsm.m0.asm"
	// DO NOT MODIFY THE CONTENT ABOVE
	.global LDPCCBSegmentAsm
LDPCCBSegmentAsm:

	R1:M[0]->BIU1.T0;
	NOP;
	NOP;
	NOP;
	BIU1:Load(T0)(A++) -> M[0](Mode0);
	BIU1:Load(T0)(A++) -> M[1](Mode0);
	BIU1:Load(T0)(A++) -> M[2](Mode0);
	BIU1:Load(T0)(A++) -> M[3](Mode0);
	IMA0:V(0)->IMA0.T0(Mode0);
	MFetch:REPEAT @(5);
	R5:PreConfig(M[0])(Mode0);
	R5:WriteConf(Mfetch)->KI[0-3](Mode0);
	R0:M[1] -> BIU0.T2(Mode0);
	R2:M[2] -> BIU2.T2(Mode0);
	R2:M[3] -> BIU2.T3(Mode0);
	MFetch:REPEAT @(7);

	BIU0:Wait 0  || SHU1:Wait 10  || IMA0: Wait 10 || BIU2:Wait 13;

	BIU0:Load(T2)(A++) -> SHU1.T0(Mode0)|| 	SHU1:T0 + V(0) -> BIU2.T0(Mode0)|| 	BIU2:Store(T0,T2)(Mask)(A++)(Mode0) || 	MFetch:Repeat @(KI1);
	IMA0: T0 ^ T0 -> BIU2.T1 (Mode0)|| 	BIU2:Store(T1,T3)(A++)(Mask)(Mode0)|| 	MFetch:Repeat @(KI2);


	MFetch:REPEAT @(20);
	MFetch:MPU.STOP;
