找回密码
 注册
关于网站域名变更的通知
查看: 241|回复: 2
打印 上一主题 下一主题

ARM中局部标号的跳转问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-1-26 11:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
添加RW数据初始化程序断后,完整的程序代码如下:   
* k  r" ~* T: @$ q+ r# w3 I/ s+ D6 T;正文段=========================================================================1 i1 J# h" |& @  g/ |6 H
     AREA EXP6_1,CODE,READONLY9 j8 y) U+ }6 o/ S7 N4 f
     ENTRY5 i1 \$ i7 [- F0 D
     ARM  U  g9 W/ ~/ ~0 `0 O; z2 R
     ;数据区初始化代码段---------------------------------------------------------------. s' N( }0 G: Q0 Z) g5 f+ @
     IMPORT|Image$$RO$$Limit|* t& t7 R; i: l% t
     IMPORT|Image$$RW$$Base|7 P+ p% c4 @$ a/ q$ m0 }) t, O
     IMPORT|Image$$ZI$$Base|
2 E( z% T: _  F/ l* s     IMPORT|Image$$ZI$$Limit|: C; u6 Q/ G) h
     LDR RO,=|Image$$RO$$Limit|            ;初始化数据首地址送RO9 p. P9 Q, ?! Q. ~6 h
     LDR R1,=|Image$$RW$$Base|             ;RW区首地址送R1
+ _* u5 E  P# H5 E+ ~     LDR R3,=|Image$$ZI$$Base|             ;ZI区首地址送R3
) a1 H  M( U! \& E: F2 e* J- k
& \: p" K; [, B# o- B9 m     CMP RO,R1
$ r9 Y$ Y9 G5 ~* H; k     BEQ %F1
& [2 P" \, h, Y7 y* [/ ?) ~" t0
' C) b# P; ]: W6 T     CMP R1,R3
# {+ r. h  T# O5 N4 D' W. z     LDRCC R2,[R0],#4
! E4 z: T( a6 W. A2 F     STRCC R2,[R1],#40 @2 M9 U7 @% }! V- K
     BCC %B0, F8 j: r' H0 N3 y0 B7 Y: X
1
) z* I, v: c' g+ b9 w0 W- L' u     LDR R1,=|Image$$ZI$$Limit|' v* V* Z! o# T' a9 ~
     MOV R2,#0
. \  Q: y+ t% @- K0 `20 M2 d# E0 G! c( @3 V1 X" B, C- G5 N$ X" F
     CMP R3,R1
, d% W: `; Q" `     STRCC R2,[R3],#4
' K+ `8 n9 j. u  l' X) Z/ f; F     BCC %B2% V# N( Z' L* `
     ;用户逻辑代码段---------------------------------------------------------------
2 L8 T7 j& I. Q( |1 }     LDR R0,=DATA11 d1 b" S( H# M9 d" H3 N0 J  s5 J
     LDR R1,[R0]   2 x. L# k( e2 Q4 _
     LDR R3,=0x555555556 j9 J$ Z4 m0 l5 r, O- z* D8 B4 J
HALT
; }  z* t7 r9 O) c( H     B HALT
! v/ G  T: Z( Z0 [$ d  V( e    ;静态数据区===================================================================! d( g$ g3 M* ]2 g' N" e
    AREA EXP6_1DT,DATA,READWRITE
' m$ T2 p$ P) m2 w) ]; yDATA1  DCD 0x88888888+ l: _, p- Y9 U% F7 j$ H8 m3 P8 }
       DCD 0x99999999
+ ?0 q! k1 Q% ?+ k    END  
2 s% ]8 ?6 Y7 B1 R1 L+ `! ?+ `! c7 Q$ I8 N9 u: L  k
问题:
) G9 H7 i& F4 t程序运行到
8 Q: B& F3 ]/ L' O7 d8 z# r" b9 sCMP R0,R1
1 G. {  I8 H- g% ^' q1 WBEQ %F1
$ `# D# u4 ?" j" {& s, v# w后如果R0=R1,跳转到局部标号1的段落后,执行完
) e2 n! k5 \% i1 A  P( n" SLDR R1,=|Image$$ZI$$Limit|& }7 \- s5 v7 N! G4 T
MOV R2,#0
! f% y' P. ~. [" s# N, C1 t后,* Q- R# Z  R! y
是顺序执行标号2的语句
9 l# \9 R& Z" z- r" RCMP R3,R1
6 Q, t6 G5 _' B) JSTRCC R2,[R3],#4/ L1 @0 b4 {' k
BCC %B2; w8 y# v, r. {: V( K2 L  E3 R7 d4 O0 |
还是直接跳到 用户逻辑代码段
# J) O6 p& F4 E* }1 T6 M& J5 v" b执行
2 a3 K1 Y9 I0 @( s! V     LDR R0,=DATA1( W6 e2 x+ ]5 v# X& ~
     LDR R1,[R0]   
. g/ B3 s. D0 P0 j3 p% Q: S" ]9 E     LDR R3,=0x55555555
' w0 J; |' o, d3 G7 SHALT
+ j5 [( U: ?3 P5 h     B HALT
" ]- T4 Q" F: X) l6 b9 {还有:
, @0 Q% w; ^1 Z0 I4 w. X2 T      LDRCC R2,[R0],#4
0 P, ?9 q9 M4 H8 i6 m. f) a     STRCC R2,[R1],#4
' Q" _7 n9 S1 O- [  ]是实现什么工能的
: `/ {/ o( \' j! }) G请高人指点!! @) y; c0 H) V  I. _  V' [

该用户从未签到

3#
发表于 2022-1-26 13:07 | 只看该作者
CMP     r1, r3          ; 拷贝初始化数据8 q  m, R7 g$ _+ N. R# X" C
LDRCC   r2, [r0], #4    ;--> LDRCC r2, [r0] + ADD r0, r0, #4        
1 E, t  b, E$ i# ~STRCC   r2, [r1], #4    ;--> STRCC r2, [r1] + ADD r1, r1, #4

该用户从未签到

2#
发表于 2022-1-26 11:22 | 只看该作者
程序运行到
) t) s) F& t% e* _. E9 h  B$ PCMP R0,R1
* x/ a2 N% `2 I' vBEQ %F1* w7 Z5 L3 v9 q! t9 {
后如果R0=R1,跳转到局部标号1的段落后,执行完
  x( _5 [. p, t$ {7 h* tLDR R1,=|Image$$ZI$$Limit|
2 {' g  M7 H7 ^MOV R2,#0
2 i4 i# F* L$ _# `, ^" l& x后,7 L8 c2 F% n0 O- d* n: y( n
是顺序执行标号2的语句' I/ N- c9 k/ b4 M
CMP R3,R1
' F7 w& _/ I4 A) [# ?9 w( z0 lSTRCC R2,[R3],#4- Q# A$ T* T; F/ i0 l% t2 L
BCC %B2- {  p0 K9 p/ c! a
还是直接跳到 用户逻辑代码段
. n) w9 V) T# r3 D( D执行
6 i" V# S  D$ w9 w& }     LDR R0,=DATA14 J; [) ]+ o8 c0 h/ R
     LDR R1,[R0]   ) N" E8 O- w. V$ s- v- H
     LDR R3,=0x55555555
1 c/ J1 F  z9 \& hHALT) u, L2 _/ z+ K* `% O& t
     B HALT$ Z0 k5 s/ @2 [( T
% s, ^9 f8 d  f# n# j
---------------------------------------------------
5 R$ F0 V7 @3 X) {( U1 c/ ?顺序执行标号2的语句
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 20:47 , Processed in 0.140625 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表