立即數表示注意事項
1、 根據數制類型不同,可以使用二進制、八進制、十進制、十六進制等表示方法,並在相應的數制類型後面加上B、O、D、H作為區分,例如:00001111B,02H等。
2、根據微型處理器的處理位數不同,程式編寫時應對其取值範圍、存儲方式加以注意。如對於8位處理器,應採用00H至FFH(以十六進制表示)之間的數。
3、對於16位以上的處理器在立即數為16位或32位時,它將按“高高低低”的原則進行存儲。
例如(以下的例子為8086系列彙編語言中指令格式,括弧中為指令的解釋):
MOV AH,80H (將八位立即數存入高位累加暫存器)
ADD AX,1234H (將十六位立即數與累加暫存器中的數相加並存入累加暫存器)
MOV ECX,12345678H(將三十二位立即數存入擴展計數暫存器)
MOV B1, 12H(將八位立即數存入位元組單元)
MOV W1,3456H(將十六位立即數存入字單元)
ADD D1,32123456H(將三十二位立即數與雙字單元中的數相加)
應注意,以上指令中的第二 運算元(例:MOV AH,80H中80H為第二運算元)都是 立即數,在彙編語言中規定:立即數不能作為指令中的第一運算元。該規定與高級語言中“ 賦值語句的左邊不能是 常量”的規定相一致。
4、 立即數 定址方式通常用於對 通用暫存器或記憶體單元賦初值。