with register encoding