Bir bilgisayarın komut seti, kullanıcının herhangi bir veri işleme görevini sağlamasına izin veren talimatları içermelidir. Bunu görmenin başka bir yolu, üst düzey bir programlama dilinin yeteneklerini dikkate almaktır. Üst düzey bir dilde yazılmış herhangi bir program, yürütülecek makine diline çevrilmelidir. Bu nedenle, komut seti, herhangi bir yönergeyi yüksek seviyeli bir dil üzerinden ifade etmek için yeterli olmalıdır. Bu düşünceyle, talimat türlerini aşağıdaki gibi kategorize edebiliriz:
Veri işleme: Aritmetik ve mantıksal komutlar.
Veri depolama: Kayıt ve kayıt dışı veya hafızadan veri hareketi
birimleri.
Veri hareketi: I / O (Giriş / Çıkış birimleri) talimatları.
Kontrol: Test ve Şube(Dallanma) komutları.
Aritmetik talimatlar sayısal verileri işleyebilmek için hesaplama yetenekleri sağlar. Mantık (Boolean -true veya false 1/0-) talimatları, bir kelimenin bitlerinde sayı yerine bit olarak çalışır; Böylece, kullanıcının kullanmak isteyebileceği diğer herhangi bir veri türünü işlemek için olanak sağlar. Bu işlemler öncelikle işlemci kayıtlarındaki veriler üzerinde gerçekleştirilir. Bu nedenle, bellek ve kayıtlar arasında veri taşımak için bellek komutları olmalıdır. G/Ç komutları, programları ve verileri belleğe ve hesaplamaların sonuçlarını geri kullanıcıya aktarmak için gereklidir. Test talimatları, bir veri kelimesinin değerini veya bir hesaplamanın durumunu test etmek için kullanılır. Dallanma komutları, verilen karara bağlı olarak farklı bir komut dizisine ayrılmak için kullanılır.