色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          arm堆棧操作

          作者: 時(shí)間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
          arm堆棧的組織結(jié)構(gòu)是 滿棧降 的形式,滿棧即sp是要停留在最后一個(gè)進(jìn)棧元素,降:就是堆棧的增長(zhǎng)方向是從高地址向低地址發(fā)展。

          arm對(duì)于堆棧的操作一般采用 LDMFD(pop)和STMFD (push) 兩個(gè)命令。

          本文引用地址:http://cafeforensic.com/article/201611/322955.htm

          以前困惑的就是STMFD 命令 對(duì)于操作數(shù) 是按照什么順序壓棧的

          比如:STMFD sp!{R0-R5,LR} 進(jìn)棧順序是:

          高地址(1方式)

          LR

          R5

          R4

          ```````

          R0<-sp

          低地址

          還是:

          高地址(2方式)

          R0

          R1

          ```

          R5

          LR <-sp

          低地址

          現(xiàn)在通過下表,可以輕松的解決這個(gè)問題:

          尋址方式說明pop=LDMpush=STM
          FA遞增滿LDMFALDMDASTMFASTMIB
          FD遞減滿LDMFDLDMIASTMFDSTMDB
          EA遞增空LDMEALDMDBSTMEASTMIA
          ED遞減空LDMEDLDMIBSTMEDSTMDA

          按照?qǐng)D表,可知 STMFD對(duì)應(yīng)的是STMDB,根據(jù)arm指令手冊(cè),可知STMDB入棧順序是(1方式)

          而LDMFD對(duì)應(yīng)的是LDMIA,這樣這兩個(gè)操作就可以成功配對(duì)



          關(guān)鍵詞: arm堆棧操

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉