複製鏈接
請複製以下鏈接發送給好友

立即尋址

鎖定
彙編語言中的一種尋址方式,在面向不同形式的處理器中,會有不同的編寫方式。
中文名
立即尋址
概念類型
尋址方式
用    處
對通用寄存器或內存單元賦初值
表示方法
二進制,八進制,十進制等
目    的
簡化調用過程

立即尋址定義

立即尋址 立即尋址
立即尋址方式的目的就是將操作數緊跟在操作碼後面,與操作碼一起放在指令代碼段中,在程序運行時,程序直接調用該操作數,而不需要到其他地址單元中去取相應的操作數,上述的寫在指令中的操作數也稱作立即數
在MCS-51單片機彙編語言編程中,該尋址方式是將“#”號放在立即數前面,以表示該尋址方式為立即尋址,如將操作數寫為#52H。
例: MOV A ,#52H
上述例子中“MOV”為操作碼,“A”為第一操作數,其意義為累加寄存器,“#52H”為第二操作數,其意義就是立即數。通過該條程序指令可將十六進制數52H直接放入累加器中,當然也可以將立即數表示為二進制數或十進制數,如#00B。
在8086系列微型處理器彙編語言編程中,該尋址方式不用將“#”放在立即數前面。
例: MOV AH,80H
上述例子中的第一個操作數“AH”表示高位累加器,第二個操作數為立即數,其前不用加入“#”。

立即尋址立即數表示注意事項

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、立即數尋址方式通常用於對通用寄存器或內存單元賦初值。