間接尋址和直接尋址的區別


寄存器直接尋址和間接尋址區別:
一、存放操作數的地址不同
寄存器直接尋址指令直接包含有操作數的有效地址(偏移地址),即直接給出操作數地址。而寄存器間接尋址指令以寄存器中的內容為地址,該地址的內容為操作數,即寄存器間接尋址方式中,寄存器內存放的是操作數的地址,而不是操作數本身。
二、寄存器對象不同
寄存器直接尋址對象為內部數據寄存器和特殊功能寄存器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字節存儲空間。
參考資料來源:寄存器直接尋址-百度百科

寄存器間接尋址-百度百科


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM