運算元是參加某種功能操作的資料,有三種方式提供。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]
注意:對於單運算元指令:運算元只能是暫存器運算元和記憶體運算元。
對於雙運算元指令:運算元可以是暫存器運算元、記憶體運算元和立即數,目的運算元可以是暫存器運算元和記憶體運算元,源運算元、目的運算元不能同時為記憶體運算元。
運算元是參加某種功能操作的資料,有三種方式提供。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]
注意:對於單運算元指令:運算元只能是暫存器運算元和記憶體運算元。
對於雙運算元指令:運算元可以是暫存器運算元、記憶體運算元和立即數,目的運算元可以是暫存器運算元和記憶體運算元,源運算元、目的運算元不能同時為記憶體運算元。