單項選擇題假定“int buf[2]={10,50};”所定義的buf被分配在靜態(tài)數(shù)據(jù)區(qū),其首地址為0x8048930,bufp1為全局變量,也被分配在靜態(tài)數(shù)據(jù)區(qū)。以下關(guān)于“bufp1=&buf[1];”的重定位的描述中,錯誤的是()。

A.在可重定位目標(biāo)文件的.rel.text節(jié)中,有一個與buf相關(guān)的重定位條目
B.可用一條mov指令實現(xiàn)該賦值語句,該mov指令中有兩處需要重定位
C.在可重定位目標(biāo)文件的.rel.data節(jié)中,有一個與bufp1相關(guān)的重定位條目
D.在相應(yīng)的重定位條目中,對bufp1和buf的引用均采用絕對地址方式


您可能感興趣的試卷

你可能感興趣的試題

1.單項選擇題假定“int buf[2]={10,50};”所定義的buf被分配在靜態(tài)數(shù)據(jù)區(qū),其首地址為0x8048930,bufp1為全局變量,被分配在buf隨后的存儲空間。以下關(guān)于“int *bufp1=&buf[1];”的重定位的描述中,錯誤的是()。

A.在可執(zhí)行目標(biāo)文件中,地址0x8048938開始的4個字節(jié)為34H、89H、04H、08H
B.bufp1的地址為0x8048938,重定位前的內(nèi)容為04H、00H、00H、00H
C.在可重定位目標(biāo)文件的.rel.data節(jié)中,有一個引用buf的重定位條目
D.在相應(yīng)的重定位條目中,對bufp1和buf的引用均采用絕對地址方式

2.單項選擇題以下有關(guān)重定位信息的敘述中,錯誤的是()。

A.重定位信息包含需重定位的位置、綁定的符號和重定位類型
B.數(shù)據(jù)中的重定位信息在可重定位目標(biāo)文件的.rel.data節(jié)中
C.重定位信息是由編譯器在生成匯編指令時產(chǎn)生的
D.指令中的重定位信息在可重定位目標(biāo)文件的.rel.text節(jié)中

3.單項選擇題以下有關(guān)重定位功能的敘述中,錯誤的是()。

A.重定位的第一步應(yīng)先將相同的節(jié)合并,且將具有相同存取屬性的節(jié)合并成段
B.重定位的最終目標(biāo)是重新確定各模塊合并后每個引用所指向的目標(biāo)地址
C.重定位的最后一步是將引用處的地址修改為與之關(guān)聯(lián)(綁定)的定義處的首地址
D.重定位的第二步是確定每個段的起始地址,并確定段內(nèi)每個定義處符號的地址

4.單項選擇題以下關(guān)于IA-32和x86-64指令系統(tǒng)比較的敘述中,錯誤的是()。

A.對于入口參數(shù),x86-64可用通用寄存器傳遞,而IA-32需用棧來傳遞
B.對于64位數(shù)據(jù),x86-64可用一條指令處理,而IA-32需多條指令處理
C.對于返回地址,x86-64使用通用寄存器保存,而IA-32使用棧來保存
D.對于浮點操作數(shù),x86-64存于128位的XMM中,而IA-32存于80位的ST(i)中

5.單項選擇題以下關(guān)于x86-64過程調(diào)用的敘述中,錯誤的是()。

A.前6個參數(shù)采用通用寄存器傳遞,其余參數(shù)通過棧傳遞
B.在通用寄存器中傳遞的參數(shù),都存放在64位寄存器中
C.在棧中的參數(shù)若是基本類型,則被分配8個字節(jié)空間
D.返回參數(shù)存放在RAX相應(yīng)寬度的寄存器中