CODE (roll) ( "2 3 4 5 4 --> 2 4 5 5". See B311 ) CX POPx, CX 2 ADDxi, CALL, lblchkPS @ RPCn, CX 2 SUBxi, SI SP MOVxx, SI CX ADDxx, DI SI MOVxx, DI 2 ADDxi, STD, REPZ, MOVSB, ;CODE CODE 2DROP 2 chkPS, SP 4 ADDxi, ;CODE CODE 2DUP 2 chkPS, AX POPx, BX POPx, BX PUSHx, AX PUSHx, BX PUSHx, AX PUSHx, ;CODE CODE S0 AX PS_ADDR MOVxI, AX PUSHx, ;CODE CODE 'S SP PUSHx, ;CODE CODE AND 2 chkPS, AX POPx, BX POPx, AX BX ANDxx, AX PUSHx, ;CODE CODE OR 2 chkPS, AX POPx, BX POPx, AX BX ORxx, AX PUSHx, ;CODE