指令操作碼擴充套件

2021-06-23 09:48:39 字數 883 閱讀 6289

題一 某計算機指令字長為16位,指令有雙運算元、單運算元和無運算元3種格式,每個運算元欄位均用6位二進位制表示,該指令系統共有m條(m<16)雙運算元指令,並存在無運算元指令。若採用擴充套件操作碼技術,那麼最多還可設計出()條單運算元指令。

a.2^6                          b.(2^4-m)*(2^6)-1

c.(2^4-m)*2^6            d.(2^4-m)*(2^6-1)

答案選b

分析:對於雙運算元指令而言,兩個長度為6位的運算元共佔了12位,剩餘的4位用作操作碼,所以可以設計出2的四次方個雙運算元指令。系統中已經設計出了m條雙運算元指令,那麼剩餘的2^4-m條可以用於設計單運算元的操作碼。對於單運算元指令而言,它的操作碼長度為16-6=10位。題目中要求使用擴充套件操作碼技術,所以單運算元指令在原來的雙運算元指令的4位操作碼上可以擴充套件10-4=6位,所以最多可以設計出(2^4-m)*(2^6)-1條單運算元的指令。減去1的原因是「存在無運算元指令」,所以至少留下乙個用來擴充套件無運算元指令。

題二 指令字長為16位,採用擴充套件操作碼技術,形成15條三位址指令、12條二位址指令、31條一位址指令和16條零位址指令。

0000 **** **** ****

... ... ... ...

1110 **** **** ****

1111 0000 **** ****

... ... ... ...

1111 1011 **** ****

1111 1100 0000 ****

... ... ... ...

1111 1101 1110 ****

1111 1101 1111 0000

... ... ... ...

1111 1101 1111 1111

擴充套件操作碼技術

方法一 固定操作碼的設計方式 0000 x yyyy zzzz 1111 x yyyy zzzz 16條三位址指令 方法二 可變操作碼的設計方法 擴充套件方式1 0000 x yyyy zzzz 1110 x yyyy zzzz 15條三位址指令 1111 0000 x yyyy 1111 1110...

擴充套件操作碼的總結

需要建立的一種直觀的認知是 既然是擴充套件操作碼,就意味著操作碼的位數越變越多!之所以這麼強調,是因為常常混淆了操作碼的擴充套件方向。那麼操作碼的個數就是四個二進位製所能表達的離散數目 24 16 ok,如果位址碼只能做位址碼,這是最終的結局了。但是,如果位址碼可以化身為操作碼,這並不難對吧,畢竟都...

指令操作碼與位址碼

指令字 簡稱指令 即表示一條指令的機器字。指令格式則是指令字用二進位制 表示的結構形式,由操作碼欄位和位址碼字段組成。操作碼字段表徵指令的操作特性與功能 位址碼字段通常指定參與操作的運算元的位址。操作碼字段 位址碼字段 指令系統的每一條指令都有乙個操作碼,它表示該指令應進行什麼性質的操作。不同的指令...