ARM PC的值問題

2021-06-21 21:15:02 字數 441 閱讀 9367

pc=當前指令位址+8

主要原因是流水線。

流水線主要由三個部分組成:

1、取指 2、解碼 3、執行

多級的流水線也是這三個部分的細分。

每條指令在arm指令集下為4位元組,當前指令位址與正在讀取指令位址相差的8個位元組。

所以pc=當前指令位址+8。

1、軟中斷異常,即中斷發生時的指令為swi的話,從swi中斷,即軟中斷中返回後應該執行swi語句的下一條,這條語句正好是lr中的位址。

2、irq或fiq異常中斷時,需要重新執行中斷發生時的語句,所以應該用lr-4。

3、data abort資料中止異常中止,因為導致資料異常的原因應該是中斷發生時語句的上一條語句,所以應該用lr-8

4、undefined未定義指令返回時lr。

5、預取指令中止lr-4。

注意:復位中斷不用定義lr

的屬性值問題

varstatus 可以把它當做是乙個行物件來看待,其中的屬性可以對行物件進行操作 其主要的作用是 快速定位到行級元素上面來進行操作。current當前這次迭代的 集合中的 項 index當前這次迭代從 0 開始的迭代索引 count當前這次迭代從 1 開始的迭代計數 first用來表明當前這輪迭代...

關於邊界值的問題

今天在做練習的時候發現了乙個經常遇到的問題,邊界值的處理。我將乙個檔案中的英語文章讀入了乙個檔案流裡,然後把他儲存到了字元陣列裡面,並將每個單詞單獨存放到vector裡面。因為存在陣列裡的資料是讀取一行的資料,所以需要把其轉換為單獨的單詞。我的方法是遇到空格之後將其前面的字元都拷貝到乙個string...

Mysql的NULL值問題

null值在資料庫中表示未知值或者不存在,null與任何資料進行操作的結果都是null。1.null與數值型別進行算術運算結果為null。2.null與數值型別進行關係運算結果為null。3.null與字串型別進行操作的結果為null。4.判斷乙個值是否為null要使用is null或者is not...