當我們寫一個連續(xù)switch(個數(shù)大于三個)判斷時交胚,查看匯編指令時份汗,會出現(xiàn)
0x104fcd8bc <+68>: ldrsw x10, [x8, x11, lsl #2]
那么ldrw指令是干嘛的,我來講解一下蝴簇,如果有錯誤杯活,請指明謝謝!
x8 + x11 左移2位賦值給x10 = x8 + 8 (因為x11里面存的2熬词,然后向左移2位就是8)
register read x8
x8 = 0x0000000104fcd938 aaaaaaaaa`add + 192
x 0x0000000104fcd938
0x104fcd938: 9c ff ff ff a8 ff ff ff b4 ff ff ff c0 ff ff ff ................
0x104fcd948: cc ff ff ff d8 ff ff ff e4 ff ff ff f0 ff ff ff ................
register read x11
x11 = 0x0000000000000002
x11 左移二位為8
x10 = x8 + 8 (即:ff ff ff 9c + 8 ----> ff ff ff b4)
x10 = ff ff ff b4