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...