From 6945071a39a9d30786f23e9e5135492a8544a664 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Fri, 3 May 2013 08:33:19 +0000 Subject: [PATCH] oops - omitted from previous delta --- binutils/ChangeLog | 4 + gas/testsuite/gas/elf/section2.e-msp430 | 9 + gas/testsuite/gas/msp430/msp430x.d | 216 ++++++++++++++++++++ gas/testsuite/gas/msp430/msp430x.s | 261 ++++++++++++++++++++++++ 4 files changed, 490 insertions(+) create mode 100644 gas/testsuite/gas/elf/section2.e-msp430 create mode 100644 gas/testsuite/gas/msp430/msp430x.d create mode 100644 gas/testsuite/gas/msp430/msp430x.s diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 9426e34fa47..63f0910b987 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,7 @@ +2013-05-02 Nick Clifton + + * readelf.c: Add support for MSP430X architecture. + 2013-05-02 Nick Clifton * dwarf.c (display_debug_lines_raw): Do not treat .debug_line.dwo diff --git a/gas/testsuite/gas/elf/section2.e-msp430 b/gas/testsuite/gas/elf/section2.e-msp430 new file mode 100644 index 00000000000..115bae2173d --- /dev/null +++ b/gas/testsuite/gas/elf/section2.e-msp430 @@ -0,0 +1,9 @@ + +Symbol table '.symtab' contains 6 entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name + +0: 0+0 +0 +NOTYPE +LOCAL +DEFAULT +UND + +1: 0+0 +0 +SECTION +LOCAL +DEFAULT +1 + +2: 0+0 +0 +SECTION +LOCAL +DEFAULT +2 + +3: 0+0 +0 +SECTION +LOCAL +DEFAULT +3 + +4: 0+0 +0 +SECTION +LOCAL +DEFAULT +4 + +5: 0+0 +0 +SECTION +LOCAL +DEFAULT +5 diff --git a/gas/testsuite/gas/msp430/msp430x.d b/gas/testsuite/gas/msp430/msp430x.d new file mode 100644 index 00000000000..260f8f772a0 --- /dev/null +++ b/gas/testsuite/gas/msp430/msp430x.d @@ -0,0 +1,216 @@ +#objdump: -d --prefix-addresses --show-raw-insn +#name: MSP430X instructions +#as: -mmsp430X + +.*: +file format .*msp.* + +Disassembly of section .text: +0+0000 <[^>]*> 04 63 adc r4 ; +0+0002 <[^>]*> 40 18 04 63 adcx.w r4 ; +0+0006 <[^>]*> 00 18 c0 63 00 00 adcx.a 0x0000 ;PC rel. abs addr 0x000a +0+000c <[^>]*> 40 18 46 63 adcx.b r6 ; +0+0010 <[^>]*> 40 18 07 63 adcx.w r7 ; +0+0014 <[^>]*> 40 18 09 68 addcx.w r8, r9 ; +0+0018 <[^>]*> 80 18 7a 60 45 23 addcx.a #74565, r10 ;0x12345 +0+001e <[^>]*> 40 18 4c 6b addcx.b r11, r12 ; +0+0022 <[^>]*> 40 18 0e 6d addcx.w r13, r14 ; +0+0026 <[^>]*> 40 18 20 59 addx.w @r9, r0 ; +0+002a <[^>]*> 40 18 00 59 addx.w r9, r0 ; +0+002e <[^>]*> 00 18 70 50 00 00 addx.a #0, r0 ; +0+0034 <[^>]*> 00 18 50 52 00 00 addx.a &0x0000,r0 ;0x0000 +0+003a <[^>]*> 00 18 70 59 addx.a @r9\+, r0 ; +0+003e <[^>]*> 00 18 50 50 00 00 addx.a 0x0000, r0 ;PC rel. 0x0042 +0+0044 <[^>]*> 40 18 42 51 addx.b r1, r2 ; +0+0048 <[^>]*> 40 18 04 53 addx.w #0, r4 ;r3 As==00 +0+004c <[^>]*> 40 18 15 54 00 00 addx.w 0\(r4\), r5 ; +0+0052 <[^>]*> 40 18 b6 f0 d2 04 04 00 andx.w #1234, 4\(r6\) ;#0x04d2 +0+005a <[^>]*> 40 18 96 f7 04 00 04 00 andx.w 4\(r7\), 4\(r6\) ; +0+0062 <[^>]*> 40 18 b6 f5 04 00 andx.w @r5\+, 4\(r6\) ; +0+0068 <[^>]*> 40 18 96 f0 00 00 04 00 andx.w 0x0000, 4\(r6\) ;PC rel. 0x006c +0+0070 <[^>]*> 40 18 90 f0 00 00 00 00 andx.w 0x0000, 0x0000 ;PC rel. 0x0074, PC rel. 0x0076 +0+0078 <[^>]*> 00 18 e6 f5 04 00 andx.a @r5, 4\(r6\) ; +0+007e <[^>]*> 00 18 c6 f5 04 00 andx.a r5, 4\(r6\) ; +0+0084 <[^>]*> 40 18 d6 f2 00 00 04 00 andx.b &0x0000,4\(r6\) ;0x0000 +0+008c <[^>]*> 40 18 02 f1 andx.w r1, r2 ; +0+0090 <[^>]*> 40 18 3e c0 a0 00 bicx.w #160, r14 ;#0x00a0 +0+0096 <[^>]*> 00 18 7e c0 a0 00 bicx.a #160, r14 ;#0x00a0 +0+009c <[^>]*> 40 18 7e c0 a0 00 bicx.b #160, r14 ;#0x00a0 +0+00a2 <[^>]*> 40 18 3e c0 a0 00 bicx.w #160, r14 ;#0x00a0 +0+00a8 <[^>]*> 40 18 3b d2 bisx.w #8, r11 ;r2 As==11 +0+00ac <[^>]*> 00 18 7b d2 bisx.a #8, r11 ;r2 As==11 +0+00b0 <[^>]*> 40 18 7b d2 bisx.b #8, r11 ;r2 As==11 +0+00b4 <[^>]*> 40 18 3b d2 bisx.w #8, r11 ;r2 As==11 +0+00b8 <[^>]*> 40 18 38 b0 14 00 bitx.w #20, r8 ;#0x0014 +0+00be <[^>]*> 40 18 92 b2 00 00 00 00 bitx.w &0x0000,&0x0000 ;0x0000 +0+00c6 <[^>]*> 40 18 18 b2 00 00 bitx.w &0x0000,r8 ;0x0000 +0+00cc <[^>]*> 40 18 18 b5 02 00 bitx.w 2\(r5\), r8 ; +0+00d2 <[^>]*> 40 18 92 b1 08 00 00 00 bitx.w 8\(r1\), &0x0000 ; +0+00da <[^>]*> 40 18 b2 b5 00 00 bitx.w @r5\+, &0x0000 ; +0+00e0 <[^>]*> 40 18 38 b5 bitx.w @r5\+, r8 ; +0+00e4 <[^>]*> 40 18 28 b5 bitx.w @r5, r8 ; +0+00e8 <[^>]*> 40 18 92 b0 00 00 00 00 bitx.w 0x0000, &0x0000 ;PC rel. 0x00ec +0+00f0 <[^>]*> 40 18 f2 b0 0c 00 00 00 bitx.b #12, &0x0000 ;#0x000c +0+00f8 <[^>]*> 40 18 e2 b5 00 00 bitx.b @r5, &0x0000 ; +0+00fe <[^>]*> 40 18 58 b0 00 00 bitx.b 0x0000, r8 ;PC rel. 0x0102 +0+0104 <[^>]*> 40 18 48 b5 bitx.b r5, r8 ; +0+0108 <[^>]*> 40 18 82 b5 00 00 bitx.w r5, &0x0000 ; +0+010e <[^>]*> 40 18 80 43 00 00 movx.w #0, 0x0000 ;r3 As==00, PC rel. 0x0112 +0+0114 <[^>]*> 00 18 c0 43 00 00 movx.a #0, 0x0000 ;r3 As==00, PC rel. 0x0118 +0+011a <[^>]*> 40 18 c0 43 00 00 movx.b #0, 0x0000 ;r3 As==00, PC rel. 0x011e +0+0120 <[^>]*> 40 18 80 43 00 00 movx.w #0, 0x0000 ;r3 As==00, PC rel. 0x0124 +0+0126 <[^>]*> 40 18 0f 93 cmpx.w #0, r15 ;r3 As==00 +0+012a <[^>]*> 00 18 f0 90 00 18 00 00 cmpx.a #6144, 0x0000 ;#0x1800, PC rel. 0x0130 +0+0132 <[^>]*> 40 18 6f 91 cmpx.b @r1, r15 ; +0+0136 <[^>]*> 40 18 b2 92 00 00 cmpx.w #8, &0x0000 ;r2 As==11 +0+013c <[^>]*> 40 18 80 a3 00 00 dadcx.w 0x0000 ;PC rel. abs addr 0x0140 +0+0142 <[^>]*> 00 18 cc a3 00 00 dadcx.a 0\(r12\) ; +0+0148 <[^>]*> 40 18 c0 a3 00 00 dadcx.b 0x0000 ;PC rel. abs addr 0x014c +0+014e <[^>]*> 40 18 0c a3 dadcx.w r12 ; +0+0152 <[^>]*> 40 18 27 a5 daddx.w @r5, r7 ; +0+0156 <[^>]*> 00 18 f2 a0 10 00 00 00 daddx.a #16, &0x0000 ;#0x0010 +0+015e <[^>]*> 40 18 54 a6 02 00 daddx.b 2\(r6\), r4 ; +0+0164 <[^>]*> 40 18 14 a0 00 00 daddx.w 0x0000, r4 ;PC rel. 0x0168 +0+016a <[^>]*> 40 18 90 83 00 00 decx.w 0x0000 ;PC rel. abs addr 0x016e +0+0170 <[^>]*> 00 18 d0 83 00 00 decx.a 0x0000 ;PC rel. abs addr 0x0174 +0+0176 <[^>]*> 40 18 d0 83 00 00 decx.b 0x0000 ;PC rel. abs addr 0x017a +0+017c <[^>]*> 40 18 90 83 00 00 decx.w 0x0000 ;PC rel. abs addr 0x0180 +0+0182 <[^>]*> 40 18 a0 83 00 00 decdx.w 0x0000 ;PC rel. abs addr 0x0186 +0+0188 <[^>]*> 00 18 e0 83 00 00 decdx.a 0x0000 ;PC rel. abs addr 0x018c +0+018e <[^>]*> 40 18 e0 83 00 00 decdx.b 0x0000 ;PC rel. abs addr 0x0192 +0+0194 <[^>]*> 40 18 a0 83 00 00 decdx.w 0x0000 ;PC rel. abs addr 0x0198 +0+019a <[^>]*> 40 18 14 53 incx.w r4 ; +0+019e <[^>]*> 00 18 55 53 incx.a r5 ; +0+01a2 <[^>]*> 40 18 56 53 incx.b r6 ; +0+01a6 <[^>]*> 40 18 17 53 incx.w r7 ; +0+01aa <[^>]*> 40 18 28 53 incdx.w r8 ; +0+01ae <[^>]*> 00 18 69 53 incdx.a r9 ; +0+01b2 <[^>]*> 40 18 6a 53 incdx.b r10 ; +0+01b6 <[^>]*> 40 18 2b 53 incdx.w r11 ; +0+01ba <[^>]*> 40 18 3c e3 invx.w r12 ; +0+01be <[^>]*> 00 18 f0 e3 00 00 xorx.a #-1, 0x0000 ;r3 As==11, PC rel. 0x01c2 +0+01c4 <[^>]*> 40 18 7e e3 xorx.b #-1, r14 ;r3 As==11 +0+01c8 <[^>]*> 40 18 3f e3 invx.w r15 ; +0+01cc <[^>]*> 40 18 34 40 00 00 movx.w #0, r4 ; +0+01d2 <[^>]*> 00 18 75 40 00 00 movx.a #0, r5 ; +0+01d8 <[^>]*> 40 18 76 40 00 00 movx.b #0, r6 ; +0+01de <[^>]*> 40 18 37 40 00 00 movx.w #0, r7 ; +0+01e4 <[^>]*> 40 18 15 42 00 00 movx.w &0x0000,r5 ;0x0000 +0+01ea <[^>]*> 40 18 35 40 00 00 movx.w #0, r5 ; +0+01f0 <[^>]*> 40 18 82 45 00 00 movx.w r5, &0x0000 ; +0+01f6 <[^>]*> 40 1d b2 40 de bc 00 00 movx.w #-344866,&0x0000 ;0xabcde +0+01fe <[^>]*> 40 18 92 42 00 00 00 00 movx.w &0x0000,&0x0000 ;0x0000 +0+0206 <[^>]*> 40 18 b2 40 00 00 00 00 movx.w #0, &0x0000 ; +0+020e <[^>]*> 40 18 15 40 00 00 movx.w 0x0000, r5 ;PC rel. 0x0212 +0+0214 <[^>]*> 40 18 80 45 00 00 movx.w r5, 0x0000 ; PC rel. 0x0218 +0+021a <[^>]*> 40 1d b0 40 de bc 00 00 movx.w #-344866,0x0000 ;0xabcde, PC rel. 0x0220 +0+0222 <[^>]*> 40 18 90 40 00 00 00 00 movx.w 0x0000, 0x0000 ;PC rel. 0x0226, PC rel. 0x0228 +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, 0x0000 ;#0x1167, PC rel. 0x025c +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, 0x0000 ;r3 As==00, PC rel. 0x026e +0+0270 <[^>]*> 00 18 c0 93 00 00 cmpx.a #0, 0x0000 ;r3 As==00, PC rel. 0x0274 +0+0276 <[^>]*> 40 18 c0 93 00 00 cmpx.b #0, 0x0000 ;r3 As==00, PC rel. 0x027a +0+027c <[^>]*> 40 18 80 93 00 00 cmpx.w #0, 0x0000 ;r3 As==00, PC rel. 0x0280 +0+0282 <[^>]*> 40 18 b0 e0 5a 5a 00 00 xorx.w #23130, 0x0000 ;#0x5a5a, PC rel. 0x0288 +0+028a <[^>]*> 40 18 90 e2 00 00 00 00 xorx.w &0x0000,0x0000 ;0x0000, PC rel. 0x0290 +0+0292 <[^>]*> 40 18 a0 e8 00 00 xorx.w @r8, 0x0000 ; PC rel. 0x0296 +0+0298 <[^>]*> 40 18 80 e8 00 00 xorx.w r8, 0x0000 ; PC rel. 0x029c +0+029e <[^>]*> 40 18 d0 e6 02 00 00 00 xorx.b 2\(r6\), 0x0000 ; PC rel. 0x02a4 +0+02a6 <[^>]*> 40 18 f0 e8 00 00 xorx.b @r8\+, 0x0000 ; PC rel. 0x02aa +0+02ac <[^>]*> 00 18 d2 e0 00 00 00 00 xorx.a 0x0000, &0x0000 ;PC rel. 0x02b0 +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\);#0x3039, 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, 0x0000 ;r3 As==00, PC rel. 0x032c +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 <[^>]*> 54 03 rrum #1, r4 ; +0+03a6 <[^>]*> 47 03 rrum.a #1, r7 ; +0+03a8 <[^>]*> 45 11 rra.b r5 ; +0+03aa <[^>]*> 75 c0 80 00 bic.b #128, r5 ;#0x0080 +0+03ae <[^>]*> 56 03 rrum #1, r6 ; +0+03b0 <[^>]*> 40 18 81 10 swpbx.w r1 ; +0+03b4 <[^>]*> 00 18 90 10 00 00 swpbx.a 0x0000 ;PC rel. 0x03b8 +0+03ba <[^>]*> 40 18 8c 10 swpbx.w r12 ; +0+03be <[^>]*> 40 18 82 11 sxtx.w r2 ; +0+03c2 <[^>]*> 00 18 92 11 00 00 sxtx.a &0x0000 ; +0+03c8 <[^>]*> 40 18 82 11 sxtx.w r2 ; +0+03cc <[^>]*> 04 18 45 11 rpt #5 \{ rrax.a r5 ; +0+03d0 <[^>]*> 85 18 45 11 rpt r5 \{ rrax.a r5 ; diff --git a/gas/testsuite/gas/msp430/msp430x.s b/gas/testsuite/gas/msp430/msp430x.s new file mode 100644 index 00000000000..db27597f867 --- /dev/null +++ b/gas/testsuite/gas/msp430/msp430x.s @@ -0,0 +1,261 @@ + .text + .global foo +foo: + adc r4 ; MSP430 instruction for comparison purposes. + + adcx r4 + adcx.a bar + adcx.b r6 + adcx.w r7 + + addcx r8, r9 + addcx.a #0x12345, r10 + addcx.b r11, r12 + addcx.w r13, r14 + + ADDX @R9, PC + ADDX R9, PC + ADDX.A #FE000h, PC + ADDX.A &EDE, PC + ADDX.A @R9+, PC + ADDX.A EDE, PC + addx.b r1, r2 + addx.w r3, r4 + ADDX K(R4), R5 + + ANDX #1234, 4(R6) + ANDX 4(R7), 4(R6) + ANDX @R5+, 4(R6) + ANDX EDE, 4(R6) + ANDX EDE, TONI + ANDX.A @R5, 4(R6) + ANDX.A R5, 4(R6) + ANDX.B &EDE, 4(R6) + andx.w r1, r2 + + bicx #0xa0, r14 + bicx.a #0xa0, r14 + bicx.b #0xa0, r14 + bicx.w #0xa0, r14 + + bisx #8, r11 + bisx.a #8, r11 + bisx.b #8, r11 + bisx.w #8, r11 + + BITX #20, R8 + BITX &EDE, &TONI + BITX &EDE, R8 + BITX 2(R5), R8 + BITX 8(SP), &EDE + BITX @R5+, &EDE + BITX @R5+, R8 + BITX @R5, R8 + BITX EDE, &TONI + BITX.B #12, &EDE + BITX.B @R5, &EDE + BITX.B EDE, R8 + BITX.B R5, R8 + BITX.W R5, &EDE + + clrx TONI + clrx.a fooz + clrx.b bar + clrx.w baz + + cmpx #0, r15 + cmpx.a #01800h, ede + cmpx.b @r1, r15 + cmpx.w @r2+, &pin + + dadcx fooz + dadcx.a 0(r12) + dadcx.b bar + dadcx.w r12 + + daddx @r5, r7 + daddx.a #10h, &decdr + daddx.b 2(r6), r4 + daddx.w bcd, r4 + + decx toni + decx.a fooz + decx.b bar + decx.w fred + + decdx toni + decdx.a fooz + decdx.b bar + decdx.w fred + + incx r4 + incx.a r5 + incx.b r6 + incx.w r7 + + incdx r8 + incdx.a r9 + incdx.b r10 + incdx.w r11 + + invx r12 + invx.a LEO + invx.b r14 + invx.w r15 + + movx #foo, r4 + movx.a #foo, r5 + movx.b #foo, r6 + movx.w #foo, r7 + MOVX &X, R5 + MOVX #X, R5 + MOVX R5, &Y + MOVX #0xabcde, &Y + MOVX &X, &Y + MOVX #X, &Y + MOVX X, R5 + MOVX R5, Y + MOVX #0xabcde, Y + MOVX X, Y + + sbcx r15 + sbcx.a 012345h + sbcx.b r15 + sbcx.w 0(r7) + + subcx r15, r15 + subcx.a #012345h, r15 + subcx.b r15, r15 + subcx.w @r5+, 0(r7) + + SUBX 2(R6), PC + SUBX.A #4455, ede + SUBX.B 2(R6), PC + SUBX.W 2(R6), PC + + tstx LEO + tstx.a foo + tstx.b bar + tstx.w baz + + XORX #5A5Ah, EDE + XORX &EDE, TONI + XORX @R8, EDE + XORX R8, EDE + XORX.B 2(R6), EDE + XORX.B @R8+, EDE + xorx.a toni, &cntr + xorx.w @r5, r6 + xorx.a #12345, 0x45678h(r15) + + adda #0x12345, r7 + adda r6, r14 + + bra #bar + bra #011044H + bra r5 + bra &ede + bra @r5 + bra @r5+ + bra 0x9876(r5) + + calla r5 + calla 0x1234(r6) + calla @r7 + calla @r8+ + calla &foo + calla bar + calla #011004h + + clra r6 + + cmpa r1, r2 + cmpa #0xfedcb, r3 + + decda r5 + incda r5 + + mova R9,R8 + MOVA #12345h,R12 + MOVA 100h(R9),R8 + MOVA &EDE,R12 + MOVA @R9,R8 + MOVA @R9+,R8 + MOVA R8,100h(R9) + MOVA R13,&EDE + + reta + reti + + suba r5, r6 + suba #0xfffff, r6 + + tsta fooz + + popm #1, r5 + popm.a #3, r15 + popm.w #8, r12 + + popx r10 + popx.a r10 + popx.b r10 + popx.w r10 + + pushm #1, r9 + pushm.a #2, r9 + pushm.w #3, r9 + + pushx r8 + pushx.a r8 + pushx.b &ede + pushx.w r8 + + rlam #1, r15 + rlam.a #2, r15 + rlam.w #3, r15 + + rlax r6 + rlax.a r6 + rlax.w r6 + + rlcx r6 + rlcx.a r6 + rlcx.w r6 + + rram #1, r6 + rram.a #4, r6 + rram.w #2, r6 + + rrax r11 + rrax.a r11 + rrax.w r11 + + rrcm #4, r5 + rrcm.a #1, r5 + rrcm.w #3, r5 + + rrcx r13 + rrcx.a r13 + rrcx.w r13 + + rrum #3, r4 + rrum.a #2, r4 + rrum.w #1, r4 + + rrux r4 + rrux.a r7 + rrux.b r5 + rrux.w r6 + + swpbx r1 + swpbx.a ede + swpbx.w r12 + + sxtx r2 + sxtx.a &ede + sxtx.w r2 + + rpt #5 + rrax.a r5 + rpt r5 + rrax.a r5 -- 2.30.2