一地址二地址三地址指令的概念
指令一般由操作碼和地址碼兩個部分組成 操作碼+地址碼
1)操作碼:說明該指令要執行的動作,也就是命令 長度可以是固定的,也可以是可變的
2)地址碼:三地址/二地址/一地址和零地址指令
存在不同地址數的情況是因為不同指令要處理的情況不同。例如,三地址指令可能是需要將地址B、C的數相加再放入地址A,一地址指令可能是因為計算機隱含了另一個地址。如果操作數的地址隱含在SP這些指針里面,那么零地址也是可能的。
此外,地址部分除了主存地址,放置寄存器地址也可用。 對于arm指令集,它擁有load/stored架構,在讀寫數據方面還有一些區別。
以16位機為例
對于一套指令,操作碼的長度影響指令條數。如果一套指令集只允許4位操作碼,那它只可能有15種三地址指令,但是允許操作碼變長,它還可擁有15條二地址/15條一地址和16條零地址指令
指令的尋址方式:
1.指令尋址
1)順序尋址
指令在主存中按順序排列,依次執行。由PC寄存器記錄地址,每次+1;
2)跳躍尋址
部分指令執行后需要跳轉。此時需要用該指令攜帶的地址去替換PC寄存器的內容
2.數據尋址
1)立即數尋址 指令中自帶數據
2)直接尋址 指令里面有所需數據的直接地址
3)間接尋址 指令里面帶有間接地址,先在存儲器中取出該地址內數據,再用數據作為地址取到所需數據
4)寄存器尋址
5)寄存器間接尋址
6)變址尋址 指令中指定一個寄存器和偏移量 寄存器的值+偏移量形成地址
7)基址尋址
8)基址變址尋址
9)相對尋址 PC寄存器的值加上偏移量構成實際地址
10)堆棧尋址通過SP指針訪問堆棧獲取操作數,獲得地址.
總結:網絡地址與Internet相連的任何一臺計算機,根據聯網方式不同,每臺接入網絡的計算機都要被分配一個號碼,以標識自己在網絡中的身份。這個號碼就是網絡地址,即IP地址。