回覆列表
  • 1 # 使用者4618083653657

    運算元是參加某種功能操作的資料,有三種方式提供。1、立即數;2、透過暫存器;3、透過記憶體。

    1、立即數

    立即數是一個常量,可以寫成十進位制(D),十六進位制(H),八進位制(O),二進位制(B)

    例如:ADD AX,0FFH

    立即數只能作為源運算元,不能放在目的運算元位置。

    2、暫存器運算元

    指運算元存放在暫存器中,用來存放參加運算的資料或存放運算結果。暫存器包括段暫存器、控制暫存器和通用暫存器。

    ⑴、段暫存器(DS、SS、ES)

    是存放段地址的,要將段地址送入,必須以通用暫存器為中間橋樑,即透過通用暫存器將資料傳送到DS、SS、ES段暫存器中。

    例如:將段地址2000H送資料段暫存器中。

    MOV AX,20000H

    MOV DS,AX

    透過通用暫存器傳送,不能直接將立即數傳送到段暫存器中。而程式碼段CS不準使用者干預,是由系統分配的。

    ⑵、控制暫存器

    控制暫存器包括:指令指標暫存器IP,EIP和標誌暫存器FLAGS,控制暫存器也不能直接送運算元

    ⑶、通用暫存器

    通用暫存器可以裝運算元。

    3、記憶體運算元

    記憶體運算元是隻運算元存放在記憶體中,其操作是往記憶體中寫數或從記憶體中取運算元,CPU與記憶體打交道是透過記憶體地址完成的。

    例如:MOV AX,2000H

    MOV AX,[2000H]

    注意:對於單運算元指令:運算元只能是暫存器運算元和記憶體運算元。

    對於雙運算元指令:運算元可以是暫存器運算元、記憶體運算元和立即數,目的運算元可以是暫存器運算元和記憶體運算元,源運算元、目的運算元不能同時為記憶體運算元。

  • 中秋節和大豐收的關聯?
  • 沉香是如何結香形成的?