2014-04-18 127 views
2

我剛開始學習ARM程序集並嘗試遍歷字符串。我看了一些在stackoverflow解決方案,並試圖實現這些解決方案,但由於某種原因,我總是得到「0x00000000」,而不是字符本身。 (上R2)ARM彙編遍歷字符串

 AREA Reset, CODE, READONLY 
     ENTRY 

st  LDR r1, string 

ll  LDRB r2, [r1], #1 
     MOV r3, r2 
     B ll 
     ALIGN 
string = "Hello World\0" 
     END 

回答

2

你想ADR r1, string而不是LDR r1, stringADRstring的地址放入r1中 - 它變爲ADD r1, pc, #N,其值爲NLDR正在將字符串"Hell"的前4個字節加載到r1(0x6c6c6548,如果你是小端),對吧?