寄存器直接尋址和間接尋址區別: 一、存放操作數的地址不同 寄存器直接尋址指令直接包含有操作數的有效地址(偏移地址),即直接給出操作數地址。而寄存器間接尋址指令以寄存器中的內容為地址,該地址的內容為操作數,即寄存器間接尋址方式中,寄存器內存放的是操作數的地址,而不是操作數本身。 二、寄存器對象不同 寄存器直接尋址對象為內部數據寄存器和特殊功能寄存器SFR。而寄存器間接尋址對象為R0、R1、DPTR,用前面加@表示,如@R0、@R1、@DPTR。

擴展資料: 直接尋址方式: 在指令格式的地址字段中直接指出操作數在內存的地址ID 。在通常情況下,操作數存放在數據段中,所以,其物理地址將由數據段寄存器DS和指令中給出的有效地址直接形成,但如果使用段超越前綴,那么,操作數可存放在其它段。 直接尋址方式常用於處理內存單元的數據,其操作數是內存變量的值。指令中直接給出操作數地址的尋址方式稱為直接尋址。 尋址對象為: 1、內部數據存儲器,在指令中以直接地址表示; 2、特殊功能寄存器SFR,在指令中用寄存器名稱表示。 寄存器間接尋址方式: 以寄存器中的內容為地址,該地址的內容為操作數的尋址方式稱為寄存器間接尋址。能夠進行寄存器間接尋址的寄存器有:R0、R1、DPTR,用前面加@表示,如@R0、@R1、@DPTR。 寄存器間接尋址的存儲空間包括內部數據存儲器和外部數據存儲器。由於內部數據存儲器共有128字節,因此用一字節的R0和R1可間接尋址整個空間。 而外部數據存儲器最大可達64K,僅R0或R1無法尋址整個空間,為此需要由P2端口提供外部RAM高8位地址,由R0或R1提供低8位地址,由此共同尋址64K字節范圍。也可用16位的DPTR寄存器間接尋址64K字節存儲空間。 參考資料來源:寄存器直接尋址-百度百科 寄存器間接尋址-百度百科
