Jedną rzeczą, którą musisz wziąć pod uwagę, jest to, czy możesz zezwolić na jakąkolwiek formę instrukcji składającej się z wielu słów lub na coś, co może „działać” jak instrukcja zawierająca wiele słów; jeśli to zrobisz, możesz rozważyć, czy użyć dodatkowych słów instrukcji po głównej instrukcji, czy też poprzedzających ją słów. Zezwalanie na prefiksy i słowa następcze może zwiększyć złożoność obsługi przerwań, ale można uniknąć konieczności umieszczania rzadko używanych instrukcji w tej samej przestrzeni opcode, co często używane.
Jeśli instrukcje są pobierane w cyklu przed ich wykonaniem, można mieć instrukcję „gałęzi warunkowej”, która albo powoduje pominięcie następnego słowa instrukcji, albo przekazanie jej zawartości bezpośrednio do licznika programu; taki projekt może dodać dodatkową złożoność do przerywania sekwencjonowania, ale może złagodzić potrzebę użycia dużej części przestrzeni kodu operacyjnego dla instrukcji „rozgałęzienia”, „skoku” i „wywołania”, jednocześnie umożliwiając znacznie szerszy zakres warunków rozgałęzienia niż byłoby to możliwe. Ponieważ brana gałąź będzie na ogół wymagać martwego cyklu po wykonaniu samej instrukcji bez względu na to, skąd pochodzi adres, posiadanie adresu z następującego słowa, które zostało pobrane, ale nie zostanie wykonane, nie kosztuje dodatkowych kosztów czas.
Mimo że przeniesienie adresu docelowego poza instrukcje oddziału zmniejszy ilość zajętego miejsca w kodzie operacyjnym, 16-bitowy format kodu jest nadal dość napięty. Korzystanie z instrukcji prefiksu może w tym pomóc. Jeśli, na przykład, chcemy mieć 32 rejestry, pozwalając, aby każdy rejestr był niezależnie określony jako source1, source2 i miejsce docelowe wymagałyby 15 bitów w kodzie operacyjnym, pozwalając na uzyskanie łącznie dwóch instrukcji. Niezbyt przydatne. Z drugiej strony byłoby fajnie móc użyć dowolnego z 32 rejestrów dla każdego z trzech operandów. Można zrównoważyć te dwa cele, wykonując dowolną operację ALU, która nie jest poprzedzona przedrostkiem, używając ośmiu bitów, aby dokonać dwóch wyborów jednego z szesnastu rejestrów, ale operacja ALU, która następuje bezpośrednio po przedrostku, wykorzystuje niektóre bity w prefiksie wzdłuż z ośmioma z następującej instrukcji, aby umożliwić niezależny wybór obu źródeł i miejsca docelowego z pełnego zestawu 32. Instrukcje, które używają górnych rejestrów, zajęłyby dwa słowa / cykle zamiast jednego, ale w niektórych przypadkach taki kompromis może być opłacalny. Największą trudnością związaną z używaniem prefiksów jest to, że należy albo zapobiec wystąpieniu przerwania między prefiksem a następną instrukcją, albo też upewnić się, że jeśli wystąpi tam przerwanie, instrukcja po prefiksie będzie nadal korzystać z odpowiednich rejestrów [np. Poprzez uruchomienie programu -counter save logic zapisz adres ostatniej wykonanej instrukcji nieprefiksowej]. ale w niektórych przypadkach taki kompromis może być opłacalny. Największą trudnością związaną z używaniem prefiksów jest to, że należy albo zapobiec wystąpieniu przerwania między prefiksem a następną instrukcją, albo też upewnić się, że jeśli wystąpi tam przerwanie, instrukcja po prefiksie będzie nadal korzystać z odpowiednich rejestrów [np. Poprzez uruchomienie programu -counter save logic zapisz adres ostatniej wykonanej instrukcji nieprefiksowej]. ale w niektórych przypadkach taki kompromis może być opłacalny. Największą trudnością związaną z używaniem prefiksów jest to, że należy albo zapobiec wystąpieniu przerwania między prefiksem a następną instrukcją, albo też upewnić się, że jeśli wystąpi tam przerwanie, instrukcja po prefiksie będzie nadal korzystać z odpowiednich rejestrów [np. Poprzez uruchomienie programu -counter save logic zapisz adres ostatniej wykonanej instrukcji nieprefiksowej].
Korzystanie z instrukcji zawierających wiele słów utrudni niektóre aspekty projektu, ale może zmniejszyć potrzebę podejmowania innych trudnych decyzji.