1. 程式人生 > 其它 >1.1指令系統

1.1指令系統

1.1指令系統

指令

  • 指令
    • 控制計算機完成某種操作的命令。
  • 指令系統
    • 處理器所能識別的所有指令的集合
  • 指令的相容性
    • 同一系列機的指令都是相容的。

指令格式

  • 指令執行的功能:執行何種操作

  • 指令執行的物件:也就是兩個資料

    • 首先要知道這兩個資料的存放地址
    • 其次是資料去向、資料來源
操作碼 [運算元], [運算元]

指令型別

根據運算元數量劃分指令

  • 零運算元指令:操作碼(不需要運算元或隱含)
  • 單運算元指令:操作碼 運算元
  • 雙運算元指令:操作碼 運算元,運算元
  • 多運算元指令:操作碼 三運算元及以上

根據運算元存放位置劃分指令

  • 立即數運算元:參加操作的資料本身
  • 暫存器運算元:資料存放的地址
  • 儲存器運算元:資料存放的地址

立即數運算元

  • 立即數本身是參加操作的資料
    • 可以是8位或16位
    • 只能作為源運算元
  • 立即數是運算資料本身,無地址含義,故無法作為目標運算元
MOV AX,1234H ;16位立即數,由於是十六進位制表示,所以這裡是16位二進位制數。
MOV BL,22H ;8位立即數

暫存器運算元

  • 參加運算的數存放在指令給出的暫存器中
    • 可以是16位或8位。
  • 暫存器:8個通用暫存器,4個段暫存器 (用得較少)。
MOV AX,BX
MOV DL,C

儲存器運算元

  • 參加運算的數存放在儲存器的某個單元中 只能是邏輯地址, 而不能是實體地址
  • 尋找儲存器運算元的關鍵是確定資料在記憶體中的存放地址
MOV AL,[1200H]

指令的執行速度

  • 指令的字長(主要是1-4B)影響指令的執行速度
  • 不同的運算元,指令執行的時間不同:
    1. 暫存器:最快
    2. 立即數:其次
    3. 儲存器:最慢

指令字長與機器字長

指令字長

  • 長度不固定
    • 8086/8088:1-7B; OP:1-2B, 運算元:0-6B
  • 由操作碼的長度、 運算元地址長度、 運算元個數決定;

機器字長

  • 長度固定
    • 8086/8088:16b
  • 計算機中ALU能夠一 次直接處理的二進位制數的位數。
“朝著一個既定的方向去努力,就算沒有天賦,在時間的積累下應該也能稍稍有點成就吧。”