[binutils-gdb] Fix the MSP430 assembler's parsing of register names.

Nick Clifton nickc@sourceware.org
Tue Jun 26 12:41:00 GMT 2018


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=791755f59dde1d1bc191fd3742d32929091dec83

commit 791755f59dde1d1bc191fd3742d32929091dec83
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jun 26 13:40:13 2018 +0100

    Fix the MSP430 assembler's parsing of register names.
    
    	PR 23335
    	* config/tc-msp430.c (check_reg): Only accept register name
    	strings that do not end in an alphanumeric character.
    	* testsuite/gas/msp430/msp430x.d: Update expected disassembly.

Diff:
---
 gas/ChangeLog                      |   7 ++
 gas/config/tc-msp430.c             |  26 ++--
 gas/testsuite/gas/msp430/msp430x.d | 250 ++++++++++++++++++-------------------
 3 files changed, 150 insertions(+), 133 deletions(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index 4665eef..41a4430 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+2018-06-26  Nick Clifton  <nickc@redhat.com>
+
+	PR 23335
+	* config/tc-msp430.c (check_reg): Only accept register name
+	strings that do not end in an alphanumeric character.
+	* testsuite/gas/msp430/msp430x.d: Update expected disassembly.
+
 2018-06-24  Nick Clifton  <nickc@redhat.com>
 
 	* configure: Regenerate.
diff --git a/gas/config/tc-msp430.c b/gas/config/tc-msp430.c
index 3227287..bebae6e 100644
--- a/gas/config/tc-msp430.c
+++ b/gas/config/tc-msp430.c
@@ -1672,6 +1672,12 @@ md_begin (void)
   linkrelax = 1;
 }
 
+static inline bfd_boolean
+is_regname_end (char c)
+{
+  return (c == 0 || ! ISALNUM (c));
+}
+  
 /* Returns the register number equivalent to the string T.
    Returns -1 if there is no such register.
    Skips a leading 'r' or 'R' character if there is one.
@@ -1680,32 +1686,36 @@ md_begin (void)
 static signed int
 check_reg (char * t)
 {
-  signed int val;
+  char * endt;
+  signed long int val;
 
-  if (t == NULL)
+  if (t == NULL || t[0] == 0)
     return -1;
 
   if (*t == 'r' || *t == 'R')
     ++t;
 
-  if (strncasecmp (t, "pc", 2) == 0)
+  if (strncasecmp (t, "pc", 2) == 0 && is_regname_end (t[2]))
     return 0;
 
-  if (strncasecmp (t, "sp", 2) == 0)
+  if (strncasecmp (t, "sp", 2) == 0 && is_regname_end (t[2]))
     return 1;
 
-  if (strncasecmp (t, "sr", 2) == 0)
+  if (strncasecmp (t, "sr", 2) == 0 && is_regname_end (t[2]))
     return 2;
 
-  if (*t == '0')
+  if (*t == '0' && is_regname_end (t[1]))
     return 0;
 
-  val = atoi (t);
+  val = strtol (t, & endt, 0);
 
   if (val < 1 || val > 15)
     return -1;
 
-  return val;
+  if (is_regname_end (*endt))
+    return val;
+
+  return -1;
 }
 
 static int
diff --git a/gas/testsuite/gas/msp430/msp430x.d b/gas/testsuite/gas/msp430/msp430x.d
index 8eea453..ecaef8f 100644
--- a/gas/testsuite/gas/msp430/msp430x.d
+++ b/gas/testsuite/gas/msp430/msp430x.d
@@ -105,128 +105,128 @@ Disassembly of section .text:
 0+021a <[^>]*> 40 1d b0 40 de bc 00 00 	movx.w	#-344866,0x00000	;0xabcde, PC rel. 0x00220
 0+0222 <[^>]*> 40 18 90 40 00 00 00 00 	movx.w	0x00000,0x00000	;PC rel. 0x00226, PC rel. 0x00228
 0+022a <[^>]*> 40 18 0f 73 	sbcx.w	r15		;
-0+022e <[^>]*> 00 18 40 73 	sbcx.a	r0		;
-0+0232 <[^>]*> 40 18 4f 73 	sbcx.b	r15		;
-0+0236 <[^>]*> 40 18 87 73 00 00 	sbcx.w	0\(r7\)		;
-0+023c <[^>]*> 40 18 0f 7f 	subcx.w	r15,	r15	;
-0+0240 <[^>]*> 80 18 7f 70 45 23 	subcx.a	#74565,	r15	;0x12345
-0+0246 <[^>]*> 40 18 4f 7f 	subcx.b	r15,	r15	;
-0+024a <[^>]*> 40 18 b7 75 00 00 	subcx.w	@r5\+,	0\(r7\)	;
-0+0250 <[^>]*> 40 18 10 86 02 00 	subx.w	2\(r6\),	r0	;
-0+0256 <[^>]*> 00 18 f0 80 67 11 00 00 	subx.a	#4455,	0x00000	;0x01167, PC rel. 0x0025c
-0+025e <[^>]*> 40 18 50 86 02 00 	subx.b	2\(r6\),	r0	;
-0+0264 <[^>]*> 40 18 10 86 02 00 	subx.w	2\(r6\),	r0	;
-0+026a <[^>]*> 40 18 80 93 00 00 	cmpx.w	#0,	0x00000	;r3 As==00, PC rel. 0x0026e
-0+0270 <[^>]*> 00 18 c0 93 00 00 	cmpx.a	#0,	0x00000	;r3 As==00, PC rel. 0x00274
-0+0276 <[^>]*> 40 18 c0 93 00 00 	cmpx.b	#0,	0x00000	;r3 As==00, PC rel. 0x0027a
-0+027c <[^>]*> 40 18 80 93 00 00 	cmpx.w	#0,	0x00000	;r3 As==00, PC rel. 0x00280
-0+0282 <[^>]*> 40 18 b0 e0 5a 5a 00 00 	xorx.w	#23130,	0x00000	;0x05a5a, PC rel. 0x00288
-0+028a <[^>]*> 40 18 90 e2 00 00 00 00 	xorx.w	&0x00000,0x00000	; PC rel. 0x00290
-0+0292 <[^>]*> 40 18 a0 e8 00 00 	xorx.w	@r8,	0x00000	; PC rel. 0x00296
-0+0298 <[^>]*> 40 18 80 e8 00 00 	xorx.w	r8,	0x00000	; PC rel. 0x0029c
-0+029e <[^>]*> 40 18 d0 e6 02 00 00 00 	xorx.b	2\(r6\),	0x00000	; PC rel. 0x002a4
-0+02a6 <[^>]*> 40 18 f0 e8 00 00 	xorx.b	@r8\+,	0x00000	; PC rel. 0x002aa
-0+02ac <[^>]*> 00 18 d2 e0 00 00 00 00 	xorx.a	0x00000,&0x00000;PC rel. 0x002b0
-0+02b4 <[^>]*> 40 18 26 e5 	xorx.w	@r5,	r6	;
-0+02b8 <[^>]*> 04 18 ff e0 39 30 78 56 	xorx.a	#12345,	284280\(r15\);0x03039, 0x45678
-0+02c0 <[^>]*> a7 01 45 23 	adda	#74565,	r7	;0x12345
-0+02c4 <[^>]*> ee 06       	adda	r6,	r14	;
-0+02c6 <[^>]*> 80 00 00 00 	mova	#0,	r0	;
-0+02ca <[^>]*> 80 01 44 10 	mova	#69700,	r0	;0x11044
-0+02ce <[^>]*> c0 05       	mova	r5,	r0	;
-0+02d0 <[^>]*> 20 00 00 00 	bra	&0		;
-0+02d4 <[^>]*> 00 05       	bra	@r5		;
-0+02d6 <[^>]*> 10 05       	bra	@r5\+		;
-0+02d8 <[^>]*> 30 05 76 98 	bra	-26506\(r5\)	;0xffff9876
-0+02dc <[^>]*> 45 13       	calla	r5		;
-0+02de <[^>]*> 56 13 00 00 	calla	0\(r6\)		;0x00000
-0+02e2 <[^>]*> 67 13       	calla	@r7		;
-0+02e4 <[^>]*> 78 13       	calla	@r8\+		;
-0+02e6 <[^>]*> 80 13 00 00 	calla	&0		;0x00000
-0+02ea <[^>]*> 90 13 00 00 	calla	0\(PC\)		;PC rel. 0x002ec
-0+02ee <[^>]*> b0 13 00 00 	calla	#0		;0x00000
-0+02f2 <[^>]*> 40 18 06 43 	clrx.w	r6		;
-0+02f6 <[^>]*> d2 01       	cmpa	r1,	r2	;
-0+02f8 <[^>]*> 93 0f cb ed 	cmpa	#1043915,r3	;0xfedcb
-0+02fc <[^>]*> 40 18 25 83 	decdx.w	r5		;
-0+0300 <[^>]*> 40 18 25 53 	incdx.w	r5		;
-0+0304 <[^>]*> c8 09       	mova	r9,	r8	;
-0+0306 <[^>]*> 8c 01 45 23 	mova	#74565,	r12	;0x12345
-0+030a <[^>]*> 38 09 00 01 	mova	256\(r9\),r8	;0x00100
-0+030e <[^>]*> 2c 00 00 00 	mova	&0,	r12	;
-0+0312 <[^>]*> 08 09       	mova	@r9,	r8	;
-0+0314 <[^>]*> 18 09       	mova	@r9\+,	r8	;
-0+0316 <[^>]*> 79 08 00 01 	mova	r8,	256\(r9\)	; 0x00100
-0+031a <[^>]*> 60 0d 00 00 	mova	r13,	&0	;
-0+031e <[^>]*> 10 01       	reta			;
-0+0320 <[^>]*> 00 13       	reti			
-0+0322 <[^>]*> f6 05       	suba	r5,	r6	;
-0+0324 <[^>]*> b6 0f ff ff 	suba	#1048575,r6	;0xfffff
-0+0328 <[^>]*> 40 18 80 93 00 00 	cmpx.w	#0,	0x00000	;r3 As==00, PC rel. 0x0032c
-0+032e <[^>]*> 05 17       	popm	#1,	r5	;16-bit words
-0+0330 <[^>]*> 2d 16       	popm.a	#3,	r15	;20-bit words
-0+0332 <[^>]*> 75 17       	popm	#8,	r12	;16-bit words
-0+0334 <[^>]*> 40 18 3a 41 	popx.w	r10		;
-0+0338 <[^>]*> 00 18 7a 41 	popx.a	r10		;
-0+033c <[^>]*> 40 18 7a 41 	popx.b	r10		;
-0+0340 <[^>]*> 40 18 3a 41 	popx.w	r10		;
-0+0344 <[^>]*> 09 15       	pushm	#1,	r9	;16-bit words
-0+0346 <[^>]*> 19 14       	pushm.a	#2,	r9	;20-bit words
-0+0348 <[^>]*> 29 15       	pushm	#3,	r9	;16-bit words
-0+034a <[^>]*> 40 18 08 12 	pushx.w	r8		;
-0+034e <[^>]*> 00 18 48 12 	pushx.a	r8		;
-0+0352 <[^>]*> 40 18 52 12 00 00 	pushx.b	&0x0000		;
-0+0358 <[^>]*> 40 18 08 12 	pushx.w	r8		;
-0+035c <[^>]*> 5f 02       	rlam	#1,	r15	;
-0+035e <[^>]*> 4f 06       	rlam.a	#2,	r15	;
-0+0360 <[^>]*> 5f 0a       	rlam	#3,	r15	;
-0+0362 <[^>]*> 40 18 06 56 	rlax.w	r6		;
-0+0366 <[^>]*> 00 18 46 56 	rlax.a	r6		;
-0+036a <[^>]*> 40 18 06 56 	rlax.w	r6		;
-0+036e <[^>]*> 40 18 06 66 	rlcx.w	r6		;
-0+0372 <[^>]*> 00 18 46 66 	rlcx.a	r6		;
-0+0376 <[^>]*> 40 18 06 66 	rlcx.w	r6		;
-0+037a <[^>]*> 56 01       	rram	#1,	r6	;
-0+037c <[^>]*> 46 0d       	rram.a	#4,	r6	;
-0+037e <[^>]*> 56 05       	rram	#2,	r6	;
-0+0380 <[^>]*> 40 18 0b 11 	rrax.w	r11		;
-0+0384 <[^>]*> 00 18 4b 11 	rrax.a	r11		;
-0+0388 <[^>]*> 40 18 0b 11 	rrax.w	r11		;
-0+038c <[^>]*> 55 0c       	rrcm	#4,	r5	;
-0+038e <[^>]*> 45 00       	rrcm.a	#1,	r5	;
-0+0390 <[^>]*> 55 08       	rrcm	#3,	r5	;
-0+0392 <[^>]*> 40 18 0d 10 	rrcx.w	r13		;
-0+0396 <[^>]*> 00 18 4d 10 	rrcx.a	r13		;
-0+039a <[^>]*> 40 18 0d 10 	rrcx.w	r13		;
-0+039e <[^>]*> 54 0b       	rrum	#3,	r4	;
-0+03a0 <[^>]*> 44 07       	rrum.a	#2,	r4	;
-0+03a2 <[^>]*> 54 03       	rrum	#1,	r4	;
-0+03a4 <[^>]*> 40 19 04 10 	rrux.w	r4		;
-0+03a8 <[^>]*> 00 19 47 10 	rrux.a	r7		;
-0+03ac <[^>]*> 40 19 45 10 	rrux.b	r5		;
-0+03b0 <[^>]*> 40 19 06 10 	rrux.w	r6		;
-0+03b4 <[^>]*> 40 18 81 10 	swpbx.w	r1		;
-0+03b8 <[^>]*> 00 18 90 10 00 00 	swpbx.a	0x0000		;PC rel. 0x03bc
-0+03be <[^>]*> 40 18 8c 10 	swpbx.w	r12		;
-0+03c2 <[^>]*> 40 18 82 11 	sxtx.w	r2		;
-0+03c6 <[^>]*> 00 18 92 11 00 00 	sxtx.a	&0x0000		;
-0+03cc <[^>]*> 40 18 82 11 	sxtx.w	r2		;
-0+03d0 <[^>]*> 04 18 45 11 	rpt #5 \{ rrax.a	r5		;
-0+03d4 <[^>]*> 85 18 45 11 	rpt r5 \{ rrax.a	r5		;
-0+03d8 <[^>]*> e2 01       	adda	r1,	r2	;
-0+03da <[^>]*> c0 01       	mova	r1,	r0	;
-0+03dc <[^>]*> 41 13       	calla	r1		;
-0+03de <[^>]*> 40 18 01 43 	clrx.w	r1		;
-0+03e2 <[^>]*> d2 01       	cmpa	r1,	r2	;
-0+03e4 <[^>]*> 40 18 21 83 	decdx.w	r1		;
-0+03e8 <[^>]*> 40 18 21 53 	incdx.w	r1		;
-0+03ec <[^>]*> c2 01       	mova	r1,	r2	;
-0+03ee <[^>]*> 10 01       	reta			;
-0+03f0 <[^>]*> f2 01       	suba	r1,	r2	;
-0+03f2 <[^>]*> 40 18 80 93 00 00 	cmpx.w	#0,	0x00000	;r3 As==00, PC rel. 0x003f6
-0+03f8 <[^>]*> c1 19 01 10 	rpt r1 \{ rrux.w	r1		;
-0+03fc <[^>]*> 41 18 02 10 	rpt #2 \{ rrcx.w	r2		;
-0+0400 <[^>]*> 42 18 47 11 	rpt #3 \{ rrax.b	r7		;
-0+0404 <[^>]*> 84 18 44 11 	rpt r4 \{ rrax.a	r4		;
-0+0408 <[^>]*> 44 18 45 55 	rpt #5 \{ rlax.b	r5		;
-0+040c <[^>]*> 05 18 46 66 	rpt #6 \{ rlcx.a	r6		;
+0+022e <[^>]*> 80 18 c0 73 45 23 	sbcx.a	0x2345		;PC rel. abs addr 0x2577
+0+0234 <[^>]*> 40 18 4f 73 	sbcx.b	r15		;
+0+0238 <[^>]*> 40 18 87 73 00 00 	sbcx.w	0\(r7\)		;
+0+023e <[^>]*> 40 18 0f 7f 	subcx.w	r15,	r15	;
+0+0242 <[^>]*> 80 18 7f 70 45 23 	subcx.a	#74565,	r15	;0x12345
+0+0248 <[^>]*> 40 18 4f 7f 	subcx.b	r15,	r15	;
+0+024c <[^>]*> 40 18 b7 75 00 00 	subcx.w	@r5\+,	0\(r7\)	;
+0+0252 <[^>]*> 40 18 10 86 02 00 	subx.w	2\(r6\),	r0	;
+0+0258 <[^>]*> 00 18 f0 80 67 11 00 00 	subx.a	#4455,	0x00000	;0x01167, PC rel. 0x0025e
+0+0260 <[^>]*> 40 18 50 86 02 00 	subx.b	2\(r6\),	r0	;
+0+0266 <[^>]*> 40 18 10 86 02 00 	subx.w	2\(r6\),	r0	;
+0+026c <[^>]*> 40 18 80 93 00 00 	cmpx.w	#0,	0x00000	;r3 As==00, PC rel. 0x00270
+0+0272 <[^>]*> 00 18 c0 93 00 00 	cmpx.a	#0,	0x00000	;r3 As==00, PC rel. 0x00276
+0+0278 <[^>]*> 40 18 c0 93 00 00 	cmpx.b	#0,	0x00000	;r3 As==00, PC rel. 0x0027c
+0+027e <[^>]*> 40 18 80 93 00 00 	cmpx.w	#0,	0x00000	;r3 As==00, PC rel. 0x00282
+0+0284 <[^>]*> 40 18 b0 e0 5a 5a 00 00 	xorx.w	#23130,	0x00000	;0x05a5a, PC rel. 0x0028a
+0+028c <[^>]*> 40 18 90 e2 00 00 00 00 	xorx.w	&0x00000,0x00000	; PC rel. 0x00292
+0+0294 <[^>]*> 40 18 a0 e8 00 00 	xorx.w	@r8,	0x00000	; PC rel. 0x00298
+0+029a <[^>]*> 40 18 80 e8 00 00 	xorx.w	r8,	0x00000	; PC rel. 0x0029e
+0+02a0 <[^>]*> 40 18 d0 e6 02 00 00 00 	xorx.b	2\(r6\),	0x00000	; PC rel. 0x002a6
+0+02a8 <[^>]*> 40 18 f0 e8 00 00 	xorx.b	@r8\+,	0x00000	; PC rel. 0x002ac
+0+02ae <[^>]*> 00 18 d2 e0 00 00 00 00 	xorx.a	0x00000,&0x00000;PC rel. 0x002b2
+0+02b6 <[^>]*> 40 18 26 e5 	xorx.w	@r5,	r6	;
+0+02ba <[^>]*> 04 18 ff e0 39 30 78 56 	xorx.a	#12345,	284280\(r15\);0x03039, 0x45678
+0+02c2 <[^>]*> a7 01 45 23 	adda	#74565,	r7	;0x12345
+0+02c6 <[^>]*> ee 06       	adda	r6,	r14	;
+0+02c8 <[^>]*> 80 00 00 00 	mova	#0,	r0	;
+0+02cc <[^>]*> 80 01 44 10 	mova	#69700,	r0	;0x11044
+0+02d0 <[^>]*> c0 05       	mova	r5,	r0	;
+0+02d2 <[^>]*> 20 00 00 00 	bra	&0		;
+0+02d6 <[^>]*> 00 05       	bra	@r5		;
+0+02d8 <[^>]*> 10 05       	bra	@r5\+		;
+0+02da <[^>]*> 30 05 76 98 	bra	-26506\(r5\)	;0xffff9876
+0+02de <[^>]*> 45 13       	calla	r5		;
+0+02e0 <[^>]*> 56 13 00 00 	calla	0\(r6\)		;0x00000
+0+02e4 <[^>]*> 67 13       	calla	@r7		;
+0+02e6 <[^>]*> 78 13       	calla	@r8\+		;
+0+02e8 <[^>]*> 80 13 00 00 	calla	&0		;0x00000
+0+02ec <[^>]*> 90 13 00 00 	calla	0\(PC\)		;PC rel. 0x002ee
+0+02f0 <[^>]*> b0 13 00 00 	calla	#0		;0x00000
+0+02f4 <[^>]*> 40 18 06 43 	clrx.w	r6		;
+0+02f8 <[^>]*> d2 01       	cmpa	r1,	r2	;
+0+02fa <[^>]*> 93 0f cb ed 	cmpa	#1043915,r3	;0xfedcb
+0+02fe <[^>]*> 40 18 25 83 	decdx.w	r5		;
+0+0302 <[^>]*> 40 18 25 53 	incdx.w	r5		;
+0+0306 <[^>]*> c8 09       	mova	r9,	r8	;
+0+0308 <[^>]*> 8c 01 45 23 	mova	#74565,	r12	;0x12345
+0+030c <[^>]*> 38 09 00 01 	mova	256\(r9\),r8	;0x00100
+0+0310 <[^>]*> 2c 00 00 00 	mova	&0,	r12	;
+0+0314 <[^>]*> 08 09       	mova	@r9,	r8	;
+0+0316 <[^>]*> 18 09       	mova	@r9\+,	r8	;
+0+0318 <[^>]*> 79 08 00 01 	mova	r8,	256\(r9\)	; 0x00100
+0+031c <[^>]*> 60 0d 00 00 	mova	r13,	&0	;
+0+0320 <[^>]*> 10 01       	reta			;
+0+0322 <[^>]*> 00 13       	reti			
+0+0324 <[^>]*> f6 05       	suba	r5,	r6	;
+0+0326 <[^>]*> b6 0f ff ff 	suba	#1048575,r6	;0xfffff
+0+032a <[^>]*> 40 18 80 93 00 00 	cmpx.w	#0,	0x00000	;r3 As==00, PC rel. 0x0032e
+0+0330 <[^>]*> 05 17       	popm	#1,	r5	;16-bit words
+0+0332 <[^>]*> 2d 16       	popm.a	#3,	r15	;20-bit words
+0+0334 <[^>]*> 75 17       	popm	#8,	r12	;16-bit words
+0+0336 <[^>]*> 40 18 3a 41 	popx.w	r10		;
+0+033a <[^>]*> 00 18 7a 41 	popx.a	r10		;
+0+033e <[^>]*> 40 18 7a 41 	popx.b	r10		;
+0+0342 <[^>]*> 40 18 3a 41 	popx.w	r10		;
+0+0346 <[^>]*> 09 15       	pushm	#1,	r9	;16-bit words
+0+0348 <[^>]*> 19 14       	pushm.a	#2,	r9	;20-bit words
+0+034a <[^>]*> 29 15       	pushm	#3,	r9	;16-bit words
+0+034c <[^>]*> 40 18 08 12 	pushx.w	r8		;
+0+0350 <[^>]*> 00 18 48 12 	pushx.a	r8		;
+0+0354 <[^>]*> 40 18 52 12 00 00 	pushx.b	&0x0000		;
+0+035a <[^>]*> 40 18 08 12 	pushx.w	r8		;
+0+035e <[^>]*> 5f 02       	rlam	#1,	r15	;
+0+0360 <[^>]*> 4f 06       	rlam.a	#2,	r15	;
+0+0362 <[^>]*> 5f 0a       	rlam	#3,	r15	;
+0+0364 <[^>]*> 40 18 06 56 	rlax.w	r6		;
+0+0368 <[^>]*> 00 18 46 56 	rlax.a	r6		;
+0+036c <[^>]*> 40 18 06 56 	rlax.w	r6		;
+0+0370 <[^>]*> 40 18 06 66 	rlcx.w	r6		;
+0+0374 <[^>]*> 00 18 46 66 	rlcx.a	r6		;
+0+0378 <[^>]*> 40 18 06 66 	rlcx.w	r6		;
+0+037c <[^>]*> 56 01       	rram	#1,	r6	;
+0+037e <[^>]*> 46 0d       	rram.a	#4,	r6	;
+0+0380 <[^>]*> 56 05       	rram	#2,	r6	;
+0+0382 <[^>]*> 40 18 0b 11 	rrax.w	r11		;
+0+0386 <[^>]*> 00 18 4b 11 	rrax.a	r11		;
+0+038a <[^>]*> 40 18 0b 11 	rrax.w	r11		;
+0+038e <[^>]*> 55 0c       	rrcm	#4,	r5	;
+0+0390 <[^>]*> 45 00       	rrcm.a	#1,	r5	;
+0+0392 <[^>]*> 55 08       	rrcm	#3,	r5	;
+0+0394 <[^>]*> 40 18 0d 10 	rrcx.w	r13		;
+0+0398 <[^>]*> 00 18 4d 10 	rrcx.a	r13		;
+0+039c <[^>]*> 40 18 0d 10 	rrcx.w	r13		;
+0+03a0 <[^>]*> 54 0b       	rrum	#3,	r4	;
+0+03a2 <[^>]*> 44 07       	rrum.a	#2,	r4	;
+0+03a4 <[^>]*> 54 03       	rrum	#1,	r4	;
+0+03a6 <[^>]*> 40 19 04 10 	rrux.w	r4		;
+0+03aa <[^>]*> 00 19 47 10 	rrux.a	r7		;
+0+03ae <[^>]*> 40 19 45 10 	rrux.b	r5		;
+0+03b2 <[^>]*> 40 19 06 10 	rrux.w	r6		;
+0+03b6 <[^>]*> 40 18 81 10 	swpbx.w	r1		;
+0+03ba <[^>]*> 00 18 90 10 00 00 	swpbx.a	0x0000		;PC rel. 0x03be
+0+03c0 <[^>]*> 40 18 8c 10 	swpbx.w	r12		;
+0+03c4 <[^>]*> 40 18 82 11 	sxtx.w	r2		;
+0+03c8 <[^>]*> 00 18 92 11 00 00 	sxtx.a	&0x0000		;
+0+03ce <[^>]*> 40 18 82 11 	sxtx.w	r2		;
+0+03d2 <[^>]*> 04 18 45 11 	rpt #5 \{ rrax.a	r5		;
+0+03d6 <[^>]*> 85 18 45 11 	rpt r5 \{ rrax.a	r5		;
+0+03da <[^>]*> e2 01       	adda	r1,	r2	;
+0+03dc <[^>]*> c0 01       	mova	r1,	r0	;
+0+03de <[^>]*> 41 13       	calla	r1		;
+0+03e0 <[^>]*> 40 18 01 43 	clrx.w	r1		;
+0+03e4 <[^>]*> d2 01       	cmpa	r1,	r2	;
+0+03e6 <[^>]*> 40 18 21 83 	decdx.w	r1		;
+0+03ea <[^>]*> 40 18 21 53 	incdx.w	r1		;
+0+03ee <[^>]*> c2 01       	mova	r1,	r2	;
+0+03f0 <[^>]*> 10 01       	reta			;
+0+03f2 <[^>]*> f2 01       	suba	r1,	r2	;
+0+03f4 <[^>]*> 40 18 80 93 00 00 	cmpx.w	#0,	0x00000	;r3 As==00, PC rel. 0x003f8
+0+03fa <[^>]*> c1 19 01 10 	rpt r1 \{ rrux.w	r1		;
+0+03fe <[^>]*> 41 18 02 10 	rpt #2 \{ rrcx.w	r2		;
+0+0402 <[^>]*> 42 18 47 11 	rpt #3 \{ rrax.b	r7		;
+0+0406 <[^>]*> 84 18 44 11 	rpt r4 \{ rrax.a	r4		;
+0+040a <[^>]*> 44 18 45 55 	rpt #5 \{ rlax.b	r5		;
+0+040e <[^>]*> 05 18 46 66 	rpt #6 \{ rlcx.a	r6		;



More information about the Binutils-cvs mailing list