pushpop指令的操作数必须是字操作数_指令格式
按指令字長度分類
指令字長:整個指令的長度,與機器字長沒有固定關系。通常把指令字長 = 機器字長的指令稱為單字長指令,同理還有半字長指令和雙字長指令。
在一個指令系統(指令集:ARM,x86)中,若所有指令的長度都相等,則稱為定長指令字結構。定長指令的執行速度快,控制簡單。同樣與之對應的有變長指令字結構。
由于主存一般是按字節編址的,所以指令字長多為字節的整數倍。
按操作碼長度分類
定長操作碼:指令中系統中所有指令的操作碼長度都相同。
可變長操作碼:指令系統中各指令的操作碼長度可變。
擴展操作碼的設計(考點)
定長指令字結構+可變長操作碼,不同地址數的指令使用不同長度的操作碼。
在設計擴展操作碼指令格式時,必須注意以下兩點:
- 不允許短碼是長碼的前綴,即短操作碼不能與長操作碼的前面部分的代碼相同?!热绻蚵幋a 
- 各指令的操作碼一定不能重復。 
通常情況下,對使用頻率較高的指令,分配較短的操作碼,對使用頻率較低的指令,分配較長的操作碼,從而盡可能減少指令譯碼和分析的時間。
按指令操作類型分類
一、數據傳送類
- LOAD——把存儲器中的數據放到寄存器 
- STORE——把寄存器中的數據放到存儲器 
二、運算類
1、算術邏輯操作
- 算術:加、減、乘、除、加1、減1、求補、浮點運算、十進制運算 
- 邏輯:與、或、非、異或、位操作、位測試、位清除、位求反 
2、移位操作
算術移位、邏輯移位、循環移位(帶進位和不帶進位)
三、程序控制類——轉移操作
- 無條件轉移:JMP 
- 條件轉移 
- 調用CALL和返回RETURN 
- 陷阱(Trap)與陷阱指令 
四、輸入輸出類:進行CPU和I/O設備之間的數據傳輸
CPU寄存器與IO端口之間的數據傳送(端口即IO接口中的寄存器)
按操作數地址碼數目分類
1、零地址指令
- 不需要操作數,如空操作、停機、關中斷等指令 
- 堆棧計算機,兩個操作數隱含存放在棧頂和次棧頂,計算結果壓會棧頂?!鐢祿Y構中“后綴表達式”的運算。 
2、一地址指令
- 只需要單操作數,加1、減1、取反、求補等 - 指令含義:OP(A1)→A1 
- 需要兩個操作數,但其中一個操作數隱含在某個寄存器(如隱含在ACC) - 指令含義:(ACC)OP(A1)→ACC —— 將ACC中的內容和A1中的內容做OP操作得到的結果放回ACC。 - 完成一條指令需要2次訪存:取指令和訪問A1,放回ACC不用訪存,ACC是寄存器。 
3、二地址指令
常用與需要兩個操作數的算術運算、邏輯運算相關指令。
指令含義:(A1)OP(A2)→A1——將地址為A1和A2的內容執行OP操作,結果放回A1
訪存4次:取指令→讀A1→讀A2→寫A1
4、三地址指令
常用與需要兩個操作數的算術運算、邏輯運算相關指令。
指令含義:(A1)OP(A2)→A3——將地址為A1和A2的內容執行OP操作,結果放回A3
訪存4次:取指令→讀A1→讀A2→寫A3
5、四地址指令
指令含義:(A1)OP(A2)→A3,A4 =下一條將要執行指令的地址。
正常情況:取指令之后PC++,指向下一條指令。
四地址指令:執行指令后,將PC的值修改為A4所指地址。(注意是A4的地址不是A4的內容)
訪存4次:取指令→讀A1→讀A2→寫A3
地址尋址范圍:
若指令總長度不變,則地址碼數量越多,地址碼位數越少,直接尋址能力越差。
總結
以上是生活随笔為你收集整理的pushpop指令的操作数必须是字操作数_指令格式的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 一斤虾多少钱啊?
- 下一篇: 3dmax2020安装失败原因及解决方法
