Cette instruction sélectionne un des octets du registre source pour le mettre dans les bits de poids faible du registre destination. Les octets de poids fort sont la copie du bit de poids fort de l'octet choisi, afin d'étendre son signe. C'est en quelque sorte l'équivalent de SAR mais qui travaille sur des octets et non des bits.
Pour le YASEP32, l'opération sélectionne un octet parmi quatre, comme sur le diagramme suivant, alors que le YASEP16 sélectionne un octet parmi deux.
Cette instruction est typiquement utilisée lors du chargement d'un octet signé de la mémoire vers un registre, car elle effectue l'alignement et l'extension de signe en un seul cycle. La mémoire est cependant accédée au travers des registres, un mot à la fois et cette instruction ne fait qu'ajuster le mot obtenu.
Normalement, les octets viennent d'un registre D (qui contient une donnée venant de la mémoire), l'indice de l'octet à sélectionner est fourni par un registre A (l'adresse de la donnée lue) mais n'importe quel registre est utilisable. Il est aussi possible de fournir un indice directement avec une valeur immédiate (Imm4 ou Imm16).
ESB ....
L'instruction EZB est similaire mais travaille avec des octets non signés, donc étend avec des zéros.
L'instruction ESH est similaire mais travaille avec des demi-mots (16 bits) signés.