Případně přenositelnost, kdy stejná instrukce na jiném procesoru má jiný kod.
Teoreticky ano, prakticky o tom silně pochybuju, nebo by muselo jít o dost omezený kousek kódu.
Nemá moc smysl dělat procesor se stejnou instrukční sadou, ale jinými opcodes. Když už stejná instrukční sada, tak lze docela čekat i stejné opcodes.
A když bude instrukční sada jiná, čekám, že u netriviálního kódu bude příliš odlišná na to, aby šlo napsat stejný assembly code a jen to přeložit jiným assemblerem.
Pokud oba procesory budou mít aspoň podobnou základní koncepci, možná to půjde u nějakého triviálního kódu. Hádám, že to typicky nebude kód, u kterého bude dobrý důvod použít asm. Tady se spíš v praxi uplatní relativně vyšší jazyk (C/Rust/Fortran/…) a dnes celkem dobře zvládnuté optimalizace v kompilátoru.
EDIT: Možná je realističtější opačný scénář: máme dvě rodiny CPU se stejnou (či dostatečně podobnou) instrukční sadou, ale budeme v asm mít dvě různé verze kódu. Sice obě budou fungovat na obou CPU, ale dvě různé verze budeme mít kvůli výkonu.