2015-11-03 49 views
1

我總是看到在MIPS指令表中的偏移字狀this one什麼是抵消?

+--------------------------------------------------------------+ 
|       BEQ        | 
+--------------------------------------------------------------+ 
| Description:             | 
|                | 
| Branches if the two registers are equal      | 
+--------------------------------------------------------------+ 
| Operation:             | 
|                | 
| if $s == $t advance_pc (offset << 2)); else advance_pc (4); | 
+--------------------------------------------------------------+ 
| Syntax:              | 
|                | 
| beq $s, $t, offset           | 
+--------------------------------------------------------------+ 
| Encoding:             | 
|                | 
| 0001 00ss ssst tttt iiii iiii iiii iiii      | 
+--------------------------------------------------------------+ 

什麼是exacly偏移?

+1

。基本上,這是一個三角洲。 –

回答

1

根據拓撲結構的偏移量是有序集合中的移動矢量。當且僅當存在起始元素時,與您定義移動的元素相比,偏移是可定義的。讓我們假設你有

(X1,...,xn)映射

如果你需要把重點從這個角度的舉動,則偏移向量可以被定義爲

(O1的幾何點,...,上)

,結果一點是:

(X1 + O1,...,XN +上)

如果你有一個有序的列表,然後一個數字的偏移o電話你是你應該工作的索引。

在計算機科學中,一個陣列或其他數據結構 對象是指示從 開始對象向上的距離(位移),直到一個給定的元件或點,在相同的大概 的整數內的偏移量目的。只有對象的所有元素的大小相同(通常以字節 或單詞給出),距離的概念纔有效。

摘自here。但是,引用稍微不準確,因爲距離不需要大小相等的對象,依賴性是度量空間的存在。此外,引用告訴你,你必須在代數結構中有一個最小的元素,這不完全是一個依賴。更一般地說,你需要有一個明確的起點。

在您的具體情況下,偏移量是一個數值,以字節爲單位,用來表示從內存中某個位置移動的矢量。請注意,32位是四個字節,這就是爲什麼你有一個偏移量4.

0

而且一個較不數學的解釋:分支是相對於程序計數器。偏移量表示距「當前」PC值「偏離」多遠(偏移以添加到PC以到達目的地)。在組裝中,偏移量通常由彙編器計算,因此您只需將目標放在那裏[偏移量(計算機科學)](https://en.wikipedia.org/wiki/Offset_%28computer_science%29)