Re: [問題] 關於ARM組語一點小問題!
※ 引述《wait (都不知道該說啥了)》之銘言:
: 小弟最近剛接觸ARM這方面組語
: 有點問題想請教:
: AREA TEST, CODE, READONLY
: ENTRY
: MOV R0 , #0x00008000
^ 這裡應該是 9 吧?
: MOV R1 , #0x00000009
: MOV R2 , #0x00000008
: MOV R3 , #0x00000007
: STMIB R0!, {R1-R3}
: MOV R1,#1
: MOV R2,#2
: MOV r3,#3
: LDMDA R0!, {R1-R3}
: END
: 在STMIB R0!, {R1-R3} 記憶體中應該是
: [0x0000 9004]=9
: [0x0000 9008]=8
: [0x0000 900C]=7
: 然後R0 = 0x0000 800C
: 再從LDMDA R0!, {R1-R3} 取回的時候不是應該:
: [0x0000 900C]=9
: [0x0000 9008]=8
: [0x0000 9004]=7
: 但實際用AXD去RUN 剛好是7 8 9的組合
: 請問各位前輩我想法到底哪邊錯了呢!?
根據這個教學
http://www.peter-cockerell.net/aalp/html/ch-3.html
「Remember that registers are always stored lowest at lowest address」
意思為「編號較小的暫存器會存到較低的記憶體位址」
或「較低的記憶體位址內容會載入到編號較小的暫存器」
所以 r3 = [0x0000 900C] = 9
r2 = [0x0000 9008] = 8
r1 = [0x0000 9004] = 7
r0 = 0x00009000
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.48.91
推
10/06 23:59, , 1F
10/06 23:59, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
ASM 近期熱門文章
PTT數位生活區 即時熱門文章