CODE DUP AX POPx, AX PUSHx, AX PUSHx, ;CODE CODE ?DUP AX POPx, AX AX ORxx, AX PUSHx, IFNZ, AX PUSHx, THEN, ;CODE CODE DROP AX POPx, ;CODE CODE SWAP AX POPx, BX POPx, AX PUSHx, BX PUSHx, ;CODE CODE OVER ( a b -- a b a ) DI SP MOVxx, AX [DI] 2 MOVx[]+, AX PUSHx, ;CODE CODE PICK DI POPx, DI SHLx1, ( x2 ) DI SP ADDxx, DI [DI] MOVx[], DI PUSHx, ;CODE CODE (roll) ( "2 3 4 5 4 --> 2 4 5 5". See B311 ) CX POPx, SI SP MOVxx, SI CX ADDxx, DI SI MOVxx, SI DECx, SI DECx, STD, REPZ, MOVSB, ;CODE