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

ARM中局部标号的跳转问题

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
添加RW数据初始化程序断后,完整的程序代码如下:   
1 I7 _1 u5 f$ a+ J- m( ~! t;正文段=========================================================================) f/ _) j9 S0 `. J) G8 N6 H
     AREA EXP6_1,CODE,READONLY! y: H4 i4 m# R& C$ d
     ENTRY" c9 T) A2 U! _
     ARM! a; K0 f. ~  F! N
     ;数据区初始化代码段---------------------------------------------------------------
% _3 U4 V+ X$ H# a1 ?- U0 \& {. `$ U6 b     IMPORT|Image$$RO$$Limit|
, F7 q" A$ F1 t# Z( ]" T1 A     IMPORT|Image$$RW$$Base|
6 U8 s$ |8 a* L2 K: j     IMPORT|Image$$ZI$$Base|
" O9 \  D9 O5 w" j8 M( N# ?3 c# I, z     IMPORT|Image$$ZI$$Limit|
6 ]( [5 Y) U: n! T# R. M     LDR RO,=|Image$$RO$$Limit|            ;初始化数据首地址送RO
, U2 q9 u. t" d     LDR R1,=|Image$$RW$$Base|             ;RW区首地址送R1) f5 d  l+ T+ N( v2 D
     LDR R3,=|Image$$ZI$$Base|             ;ZI区首地址送R3
% W% K, ~, e& k) N4 [+ ?! t! V1 k9 |- n! D
     CMP RO,R1! l" a' q+ S. |2 e
     BEQ %F1
6 Z: ?  \. t& O" V7 v06 }1 T! O, P% A+ f! Z
     CMP R1,R3! u- S& u4 m+ M0 R- @
     LDRCC R2,[R0],#46 u8 V# v: \) f# U* t4 j
     STRCC R2,[R1],#4* l5 W6 @9 s, u2 c) z6 w
     BCC %B06 Z* l! O' d/ d. d7 S7 G' a+ L8 p
1
3 Y5 Z, F; h5 a( Y1 C     LDR R1,=|Image$$ZI$$Limit|
0 I6 k9 Q! S$ i, k0 P: O; x, z     MOV R2,#0
. q  h9 B* U6 G' [2
! C1 o9 R+ o9 ~2 m     CMP R3,R1- |; A( n1 e  {/ O# C
     STRCC R2,[R3],#48 r& H2 e% a" x
     BCC %B2
) X9 ^) m7 k8 U5 _& ^9 ^     ;用户逻辑代码段---------------------------------------------------------------- S. J7 v; O  N" ]; t" H
     LDR R0,=DATA1! M3 G. M* N3 q' E  N
     LDR R1,[R0]   
1 D* q+ Q& K3 G# v7 |; d     LDR R3,=0x555555554 L: _: F/ q! f' ?
HALT
) Q7 ?$ A* G7 V) x1 t& C, P" i7 a' |; |     B HALT
$ d9 [( b$ c/ J- A. u    ;静态数据区===================================================================
7 A! D" w  |* n1 t( p    AREA EXP6_1DT,DATA,READWRITE/ x  }( ~8 O' @! O: }
DATA1  DCD 0x88888888
% ?2 r" Y2 d% N+ j0 K1 @' U       DCD 0x99999999
* a! N0 |& d; P4 H: E& _    END  
1 f1 O9 Y8 G- v% d; s7 E' G) v6 v, }$ s9 y7 p4 f
问题:
1 T, S% N. c0 j, l) `  u. k程序运行到! |% K& w4 o: t% o3 n. N( v" E
CMP R0,R1) n; E6 y* G9 f4 s% d7 M
BEQ %F16 n8 h2 V. ~% o0 f6 J9 D9 S. N! Y
后如果R0=R1,跳转到局部标号1的段落后,执行完- a8 h; `! D" ]; U
LDR R1,=|Image$$ZI$$Limit|/ K' R7 S3 ?5 T7 e1 X% J
MOV R2,#0) d& U9 P" P( Y: @1 y6 v, T4 \6 u  r6 A
后,
: n7 H" R* @& j" h是顺序执行标号2的语句7 R* x7 D) d7 j3 ^# r3 t
CMP R3,R1$ F5 d) Y" A4 b# t$ C+ \( f
STRCC R2,[R3],#4/ a  `2 d6 D' j. h+ b
BCC %B2
2 p# a# A; }3 ], v( ]8 R还是直接跳到 用户逻辑代码段" `9 t  d; |( _5 }. {4 t6 m) N
执行" e0 N, j  Q) i$ }  m" x$ f
     LDR R0,=DATA1
8 B) J' {7 @1 i8 K0 q* N3 D     LDR R1,[R0]   % B9 j0 M+ m& p  o9 g, v8 Z. j2 a$ Y! ]
     LDR R3,=0x555555555 M+ O" h! T  l( p9 D% @
HALT
8 t# M. x5 Z# ]     B HALT
4 {" C5 a7 m$ A- |9 i7 h- `还有:
- R2 I9 T6 V0 l& ?4 e      LDRCC R2,[R0],#4
1 D+ ?+ w7 c) I  z4 z* N) R+ ~     STRCC R2,[R1],#46 B5 Q0 Z, D8 z- @# M4 |/ z/ |5 Y
是实现什么工能的6 e+ V1 r# d2 n7 y6 W) l
请高人指点!) G; `3 |+ _  I. o$ K1 E

该用户从未签到

2#
发表于 2022-1-26 11:22 | 只看该作者
程序运行到
. c8 ^) N. W( t& O5 u) W/ B3 t. WCMP R0,R1
+ T1 M# J  f0 CBEQ %F1
; q( T2 @5 b9 V* z: \后如果R0=R1,跳转到局部标号1的段落后,执行完
7 |; K. H2 ?$ i  `6 r$ NLDR R1,=|Image$$ZI$$Limit|, D* j( x+ [) o8 U) Z& R! J
MOV R2,#0- G/ P1 K5 A- b2 H
后,
0 ]  i- ?& {% o& k+ U是顺序执行标号2的语句
- o( h( _4 G* I' HCMP R3,R1
; [1 ~) D1 t# t1 y8 f' L7 g5 TSTRCC R2,[R3],#4
0 R$ o+ A- j( v9 W, H5 PBCC %B28 }- Z$ C2 X0 g( }$ T
还是直接跳到 用户逻辑代码段
5 ^# }8 i0 M; e执行2 D+ S: @; U. c* x3 y) ^- X4 I
     LDR R0,=DATA1# v* Y* w) }0 M' M& [
     LDR R1,[R0]   
( H( r& }# @  [" N$ a9 M4 N) B! E     LDR R3,=0x555555550 N) v# r. Q9 S- S
HALT; f( n& i4 n' P  U9 r+ k. d4 b
     B HALT. j0 R* F3 C3 E/ S! h" x: A, |1 G

. O# U* Q( a2 y8 x5 o) V7 v3 R---------------------------------------------------
) u9 W6 [5 F5 r/ _! A顺序执行标号2的语句

该用户从未签到

3#
发表于 2022-1-26 13:07 | 只看该作者
CMP     r1, r3          ; 拷贝初始化数据
5 C. ?/ O1 A( wLDRCC   r2, [r0], #4    ;--> LDRCC r2, [r0] + ADD r0, r0, #4        + U  _9 w7 G2 d" E2 B, V
STRCC   r2, [r1], #4    ;--> STRCC r2, [r1] + ADD r1, r1, #4
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-12 10:18 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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