diff options
author | Nick Clifton <nickc@redhat.com> | 2000-06-19 01:22:44 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2000-06-19 01:22:44 +0000 |
commit | 60bcf0fa8c115b4e71d7b1372aca3efccffc9607 (patch) | |
tree | 9592b86c1082c3cc81770da7e04068973b781af0 /gas/testsuite | |
parent | 58781cd0ba8aed9244e6b17b60cb1a3cf005faf2 (diff) | |
download | ppe42-binutils-60bcf0fa8c115b4e71d7b1372aca3efccffc9607.tar.gz ppe42-binutils-60bcf0fa8c115b4e71d7b1372aca3efccffc9607.zip |
Applied Stephane Carrez <Stephane.Carrez@worldnet.fr> patches to add support
for m68hc11 and m68hc12 processors.
Diffstat (limited to 'gas/testsuite')
-rw-r--r-- | gas/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gas/testsuite/gas/m68hc11/all.exp | 18 | ||||
-rw-r--r-- | gas/testsuite/gas/m68hc11/all_insns.d | 352 | ||||
-rw-r--r-- | gas/testsuite/gas/m68hc11/all_insns.s | 335 | ||||
-rw-r--r-- | gas/testsuite/gas/m68hc11/insns.d | 44 | ||||
-rw-r--r-- | gas/testsuite/gas/m68hc11/insns.s | 60 | ||||
-rw-r--r-- | gas/testsuite/gas/m68hc11/lbranch.d | 47 | ||||
-rw-r--r-- | gas/testsuite/gas/m68hc11/lbranch.s | 41 | ||||
-rw-r--r-- | gas/testsuite/gas/m68hc11/opers12.d | 70 | ||||
-rw-r--r-- | gas/testsuite/gas/m68hc11/opers12.s | 72 | ||||
-rw-r--r-- | gas/testsuite/gas/m68k/all.exp | 14 |
11 files changed, 1061 insertions, 1 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 3a7af645d2..19b7f99d3c 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2000-06-18 Stephane Carrez <stcarrez@worldnet.fr> + + * gas/m68k/all.exp: Don't execute tests if the target is m68hc11&12. + * gas/m68hc11/all.exp: Specific tests for m68hc11. + * gas/m68hc11/all_insns.[ds]: Check m68hc11 instructions. + * gas/m68hc11/insns[ds]: Another test. + * gas/m68hc11/lbranch.[ds]: Check branch optimization (gas relax). + * gas/m68hc11/opers12.[ds]: New files, check m68hc12 operands. + 2000-06-17 Alan Modra <alan@linuxcare.com.au> * gas/macros/strings.s: Don't start directives in first column diff --git a/gas/testsuite/gas/m68hc11/all.exp b/gas/testsuite/gas/m68hc11/all.exp new file mode 100644 index 0000000000..15be4e3fc0 --- /dev/null +++ b/gas/testsuite/gas/m68hc11/all.exp @@ -0,0 +1,18 @@ +# +# Some generic m68HC11 tests +# +if ![istarget "m68hc11-*-*"] then { + if ![istarget "m6811-*-*"] then { + if ![istarget "m68hc12-*-*"] then { + if ![istarget "m6812-*-*"] then { + return + } + } + } +} +run_dump_test insns +run_dump_test lbranch +run_dump_test all_insns + +# Some 68HC12 tests +run_dump_test opers12 diff --git a/gas/testsuite/gas/m68hc11/all_insns.d b/gas/testsuite/gas/m68hc11/all_insns.d new file mode 100644 index 0000000000..adb516cb7a --- /dev/null +++ b/gas/testsuite/gas/m68hc11/all_insns.d @@ -0,0 +1,352 @@ +#objdump: -d --prefix-addresses +#as: -m68hc11 +#name: all_insns + +# Test handling of basic instructions. + +.*: +file format elf32\-m68hc11 + +Disassembly of section .text: +0+000 <L0> aba +0+001 <L1> abx +0+002 <L2> aby +0+004 <L3> adca #103 +0+006 <L4> adca \*0+000 <L0> +0+008 <L5> adca 105,x +0+00a <L6> adca 0+000 <L0> +0+00d <L7> adca 81,x +0+00f <L8> adcb #255 +0+011 <L9> adcb \*0+000 <L0> +0+013 <L10> adcb 236,x +0+015 <L11> adcb 0+000 <L0> +0+018 <L12> adcb 205,x +0+01a <L13> adda #186 +0+01c <L14> adda \*0+000 <L0> +0+01e <L15> adda 242,x +0+020 <L16> adda 0+000 <L0> +0+023 <L17> adda 227,x +0+025 <L18> addb #70 +0+027 <L19> addb \*0+000 <L0> +0+029 <L20> addb 194,x +0+02b <L21> addb 0+000 <L0> +0+02e <L22> addb 248,x +0+030 <L23> addd #0000231b <L330\+0x2034> +0+033 <L24> addd \*0+000 <L0> +0+035 <L25> addd 231,x +0+037 <L26> addd 0+000 <L0> +0+03a <L27> addd 118,x +0+03c <L28> anda #90 +0+03e <L29> anda \*0+000 <L0> +0+040 <L30> anda 99,x +0+042 <L31> anda 0+000 <L0> +0+045 <L32> anda 159,x +0+047 <L33> andb #201 +0+049 <L34> andb \*0+000 <L0> +0+04b <L35> andb 102,x +0+04d <L36> andb 0+000 <L0> +0+050 <L37> andb 13,x +0+052 <L38> asl 183,x +0+054 <L39> asl 0+000 <L0> +0+057 <L40> asl 88,x +0+059 <L41> asla +0+05a <L42> aslb +0+05b <L43> asld +0+05c <L44> asr 163,x +0+05e <L45> asr 0+000 <L0> +0+061 <L46> asr 37,x +0+063 <L47> asra +0+064 <L48> asrb +0+065 <L49> bcs 0+06a <L50> +0+067 <L49\+0x2> jmp 0+0f3 <L93> +0+06a <L50> bclr \*0+000 <L0> #\$00 +0+06d <L51> bclr 88,x #\$00 +0+070 <L52> bclr 94,x #\$00 +0+073 <L53> bcc 0+078 <L54> +0+075 <L53\+0x2> jmp 0+1a8 <L171> +0+078 <L54> bne 0+07d <L55> +0+07a <L54\+0x2> jmp 0+1b6 <L178> +0+07d <L55> blt 0+082 <L56> +0+07f <L55\+0x2> jmp 0+1f5 <L205> +0+082 <L56> ble 0+087 <L57> +0+084 <L56\+0x2> jmp 0+1e4 <L198> +0+087 <L57> bls 0+08c <L58> +0+089 <L57\+0x2> jmp 0+18a <L155> +0+08c <L58> bcs 0+091 <L59> +0+08e <L58\+0x2> jmp 0+1bb <L180> +0+091 <L59> bita #84 +0+093 <L60> bita \*0+000 <L0> +0+095 <L61> bita 14,x +0+097 <L62> bita 0+000 <L0> +0+09a <L63> bita 116,x +0+09c <L64> bitb #65 +0+09e <L65> bitb \*0+000 <L0> +0+0a0 <L66> bitb 61,x +0+0a2 <L67> bitb 0+000 <L0> +0+0a5 <L68> bitb 135,x +0+0a7 <L69> ble 0+11d <L112> +0+0a9 <L70> bcc 0+0ae <L71> +0+0ab <L70\+0x2> jmp 0+22e <L233> +0+0ae <L71> bls 0+097 <L62> +0+0b0 <L72> bge 0+0b5 <L73> +0+0b2 <L72\+0x2> jmp 0+197 <L161> +0+0b5 <L73> bmi 0+09e <L65> +0+0b7 <L74> beq 0+0bc <L75> +0+0b9 <L74\+0x2> jmp 0+220 <L225> +0+0bc <L75> bmi 0+0c1 <L76> +0+0be <L75\+0x2> jmp 0+24e <L252> +0+0c1 <L76> bra 0+106 <L103> +0+0c3 <L77> brclr \*0+000 <L0> #\$00 0+145 <L125\+0x2> +0+0c7 <L78> brclr 151,x #\$00 0+127 <L115> +0+0cb <L79> brclr 107,x #\$00 0+0de <L84\+0x1> +0+0cf <L80> brn 0+082 <L56> +0+0d1 <L81> brset \*0+000 <L0> #\$00 0+141 <L124> +0+0d5 <L82> brset 176,x #\$00 0+154 <L132> +0+0d9 <L83> brset 50,x #\$00 0+119 <L110\+0x2> +0+0dd <L84> bset \*0+000 <L0> #\$00 +0+0e0 <L85> bset 24,x #\$00 +0+0e3 <L86> bset 92,x #\$00 +0+0e6 <L87> jsr 0+037 <L26> +0+0e9 <L88> bvs 0+0ee <L89> +0+0eb <L88\+0x2> jmp 0+253 <L254> +0+0ee <L89> bvs 0+0a2 <L67> +0+0f0 <L90> cba +0+0f1 <L91> clc +0+0f2 <L92> cli +0+0f3 <L93> clr 251,x +0+0f5 <L94> clr 0+000 <L0> +0+0f8 <L95> clr 170,x +0+0fa <L96> clra +0+0fb <L97> clrb +0+0fc <L98> clv +0+0fd <L99> cmpa #58 +0+0ff <L100> cmpa \*0+000 <L0> +0+101 <L101> cmpa 41,x +0+103 <L102> cmpa 0+000 <L0> +0+106 <L103> cmpa 230,x +0+108 <L104> cmpb #5 +0+10a <L105> cmpb \*0+000 <L0> +0+10c <L106> cmpb 124,x +0+10e <L107> cmpb 0+000 <L0> +0+111 <L108> cmpb 117,x +0+113 <L109> cpd #0+fd8 <L330\+0xcf1> +0+117 <L110> cpd \*0+000 <L0> +0+11a <L111> cpd 97,x +0+11d <L112> cpd 0+000 <L0> +0+121 <L113> cpd 249,x +0+124 <L114> cpx #0000af5c <L330\+0xac75> +0+127 <L115> cpx \*0+000 <L0> +0+129 <L116> cpx 168,x +0+12b <L117> cpx 0+000 <L0> +0+12e <L118> cpx 15,x +0+130 <L119> cpy #00004095 <L330\+0x3dae> +0+134 <L120> cpy \*0+000 <L0> +0+137 <L121> cpy 235,x +0+13a <L122> cpy 0+000 <L0> +0+13e <L123> cpy 179,x +0+141 <L124> com 5,x +0+143 <L125> com 0+000 <L0> +0+146 <L126> com 247,x +0+148 <L127> coma +0+149 <L128> comb +0+14a <L129> cpd #0000bf00 <L330\+0xbc19> +0+14e <L130> cpd \*0+000 <L0> +0+151 <L131> cpd 161,x +0+154 <L132> cpd 0+000 <L0> +0+158 <L133> cpd 229,x +0+15b <L134> cpx #00008fca <L330\+0x8ce3> +0+15e <L135> cpx \*0+000 <L0> +0+160 <L136> cpx 203,x +0+162 <L137> cpx 0+000 <L0> +0+165 <L138> cpx 72,x +0+167 <L139> cpy #0+247 <L248> +0+16b <L140> cpy \*0+000 <L0> +0+16e <L141> cpy 189,x +0+171 <L142> cpy 0+000 <L0> +0+175 <L143> cpy 35,x +0+178 <L144> daa +0+179 <L145> dec 30,x +0+17b <L146> dec 0+000 <L0> +0+17e <L147> dec 28,x +0+180 <L148> deca +0+181 <L149> decb +0+182 <L150> des +0+183 <L151> dex +0+184 <L152> dey +0+186 <L153> eora #123 +0+188 <L154> eora \*0+000 <L0> +0+18a <L155> eora 197,x +0+18c <L156> eora 0+000 <L0> +0+18f <L157> eora 115,x +0+191 <L158> eorb #90 +0+193 <L159> eorb \*0+000 <L0> +0+195 <L160> eorb 94,x +0+197 <L161> eorb 0+000 <L0> +0+19a <L162> eorb 121,x +0+19c <L163> fdiv +0+19d <L164> idiv +0+19e <L165> inc 99,x +0+1a0 <L166> inc 0+000 <L0> +0+1a3 <L167> inc 112,x +0+1a5 <L168> inca +0+1a6 <L169> incb +0+1a7 <L170> ins +0+1a8 <L171> inx +0+1a9 <L172> iny +0+1ab <L173> jmp 100,x +0+1ad <L174> jmp 0+000 <L0> +0+1b0 <L175> jmp 17,x +0+1b2 <L176> jsr \*0+000 <L0> +0+1b4 <L177> jsr 9,x +0+1b6 <L178> jsr 0+000 <L0> +0+1b9 <L179> jsr 170,x +0+1bb <L180> ldaa #212 +0+1bd <L181> ldaa \*0+000 <L0> +0+1bf <L182> ldaa 242,x +0+1c1 <L183> ldaa 0+000 <L0> +0+1c4 <L184> ldaa 16,x +0+1c6 <L185> ldab #175 +0+1c8 <L186> ldab \*0+000 <L0> +0+1ca <L187> ldab 51,x +0+1cc <L188> ldab 0+000 <L0> +0+1cf <L189> ldab 227,x +0+1d1 <L190> ldd #0000c550 <L330\+0xc269> +0+1d4 <L191> ldd \*0+000 <L0> +0+1d6 <L192> ldd 71,x +0+1d8 <L193> ldd 0+000 <L0> +0+1db <L194> ldd 92,x +0+1dd <L195> lds #00004fbb <L330\+0x4cd4> +0+1e0 <L196> lds \*0+000 <L0> +0+1e2 <L197> lds 34,x +0+1e4 <L198> lds 0+000 <L0> +0+1e7 <L199> lds 186,x +0+1e9 <L200> ldx #0000579b <L330\+0x54b4> +0+1ec <L201> ldx \*0+000 <L0> +0+1ee <L202> ldx 245,x +0+1f0 <L203> ldx 0+000 <L0> +0+1f3 <L204> ldx 225,x +0+1f5 <L205> ldy #0000ac1a <L330\+0xa933> +0+1f9 <L206> ldy \*0+000 <L0> +0+1fc <L207> ldy 127,x +0+1ff <L208> ldy 0+000 <L0> +0+203 <L209> ldy 248,x +0+206 <L210> asl 41,x +0+208 <L211> asl 0+000 <L0> +0+20b <L212> asl 164,x +0+20d <L213> asla +0+20e <L214> aslb +0+20f <L215> asld +0+210 <L216> lsr 27,x +0+212 <L217> lsr 0+000 <L0> +0+215 <L218> lsr 181,x +0+217 <L219> lsra +0+218 <L220> lsrb +0+219 <L221> lsrd +0+21a <L222> mul +0+21b <L223> neg 202,x +0+21d <L224> neg 0+000 <L0> +0+220 <L225> neg 232,x +0+222 <L226> nega +0+223 <L227> negb +0+224 <L228> nop +0+225 <L229> oraa #152 +0+227 <L230> oraa \*0+000 <L0> +0+229 <L231> oraa 56,x +0+22b <L232> oraa 0+000 <L0> +0+22e <L233> oraa 121,x +0+230 <L234> orab #77 +0+232 <L235> orab \*0+000 <L0> +0+234 <L236> orab 52,x +0+236 <L237> orab 0+000 <L0> +0+239 <L238> orab 95,x +0+23b <L239> psha +0+23c <L240> pshb +0+23d <L241> pshx +0+23e <L242> pshy +0+240 <L243> pula +0+241 <L244> pulb +0+242 <L245> pulx +0+243 <L246> puly +0+245 <L247> rol 78,x +0+247 <L248> rol 0+000 <L0> +0+24a <L249> rol 250,x +0+24c <L250> rola +0+24d <L251> rolb +0+24e <L252> ror 203,x +0+250 <L253> ror 0+000 <L0> +0+253 <L254> ror 5,x +0+255 <L255> rora +0+256 <L256> rorb +0+257 <L257> rti +0+258 <L258> rts +0+259 <L259> sba +0+25a <L260> sbca #172 +0+25c <L261> sbca \*0+000 <L0> +0+25e <L262> sbca 33,x +0+260 <L263> sbca 0+000 <L0> +0+263 <L264> sbca 170,x +0+265 <L265> sbcb #26 +0+267 <L266> sbcb \*0+000 <L0> +0+269 <L267> sbcb 162,x +0+26b <L268> sbcb 0+000 <L0> +0+26e <L269> sbcb 112,x +0+270 <L270> sec +0+271 <L271> sei +0+272 <L272> sev +0+273 <L273> staa \*0+000 <L0> +0+275 <L274> staa 115,x +0+277 <L275> staa 0+000 <L0> +0+27a <L276> staa 4,x +0+27c <L277> stab \*0+000 <L0> +0+27e <L278> stab 211,x +0+280 <L279> stab 0+000 <L0> +0+283 <L280> stab 148,x +0+285 <L281> std \*0+000 <L0> +0+287 <L282> std 175,x +0+289 <L283> std 0+000 <L0> +0+28c <L284> std 240,x +0+28e <L285> stop +0+28f <L286> sts \*0+000 <L0> +0+291 <L287> sts 158,x +0+293 <L288> sts 0+000 <L0> +0+296 <L289> sts 50,x +0+298 <L290> stx \*0+000 <L0> +0+29a <L291> stx 73,x +0+29c <L292> stx 0+000 <L0> +0+29f <L293> stx 130,x +0+2a1 <L294> sty \*0+000 <L0> +0+2a4 <L295> sty 169,x +0+2a7 <L296> sty 0+000 <L0> +0+2ab <L297> sty 112,x +0+2ae <L298> suba #212 +0+2b0 <L299> suba \*0+000 <L0> +0+2b2 <L300> suba 138,x +0+2b4 <L301> suba 0+000 <L0> +0+2b7 <L302> suba 84,x +0+2b9 <L303> subb #72 +0+2bb <L304> subb \*0+000 <L0> +0+2bd <L305> subb 10,x +0+2bf <L306> subb 0+000 <L0> +0+2c2 <L307> subb 213,x +0+2c4 <L308> subd #0000f10e <L330\+0xee27> +0+2c7 <L309> subd \*0+000 <L0> +0+2c9 <L310> subd 168,x +0+2cb <L311> subd 0+000 <L0> +0+2ce <L312> subd 172,x +0+2d0 <L313> swi +0+2d1 <L314> tab +0+2d2 <L315> tap +0+2d3 <L316> tba + ... +0+2d5 <L318> tpa +0+2d6 <L319> tst 91,x +0+2d8 <L320> tst 0+000 <L0> +0+2db <L321> tst 142,x +0+2dd <L322> tsta +0+2de <L323> tstb +0+2df <L324> tsx +0+2e0 <L325> tsy +0+2e2 <L326> txs +0+2e3 <L327> tys +0+2e5 <L328> wai +0+2e6 <L329> xgdx +0+2e7 <L330> xgdy diff --git a/gas/testsuite/gas/m68hc11/all_insns.s b/gas/testsuite/gas/m68hc11/all_insns.s new file mode 100644 index 0000000000..f20b5b9447 --- /dev/null +++ b/gas/testsuite/gas/m68hc11/all_insns.s @@ -0,0 +1,335 @@ +# Example of M68hc11 instructions + .sect .text +_start: +L0: aba +L1: abx +L2: aby +L3: adca #103 +L4: adca *Z198 +L5: adca 105,X +L6: adca symbol115 +L7: adca 81,X +L8: adcb #255 +L9: adcb *Z74 +L10: adcb 236,X +L11: adcb symbol41 +L12: adcb 205,X +L13: adda #186 +L14: adda *Z171 +L15: adda 242,X +L16: adda symbol251 +L17: adda 227,X +L18: addb #70 +L19: addb *Z124 +L20: addb 194,X +L21: addb symbol84 +L22: addb 248,X +L23: addd #8987 +L24: addd *Z232 +L25: addd 231,X +L26: addd symbol141 +L27: addd 118,X +L28: anda #90 +L29: anda *Z46 +L30: anda 99,X +L31: anda symbol51 +L32: anda 159,X +L33: andb #201 +L34: andb *Z154 +L35: andb 102,X +L36: andb symbol50 +L37: andb 13,X +L38: asl 183,X +L39: asl symbol49 +L40: asl 88,X +L41: asla +L42: aslb +L43: asld +L44: asr 163,X +L45: asr symbol90 +L46: asr 37,X +L47: asra +L48: asrb +L49: bcc L93 +L50: bclr *Z5 #$17 +L51: bclr 88,X #$e9 +L52: bclr 94,X #$d4 +L53: bcs L171 +L54: beq L178 +L55: bge L205 +L56: bgt L198 +L57: bhi L155 +L58: bhs L180 +L59: bita #84 +L60: bita *Z17 +L61: bita 14,X +L62: bita symbol130 +L63: bita 116,X +L64: bitb #65 +L65: bitb *Z33 +L66: bitb 61,X +L67: bitb symbol220 +L68: bitb 135,X +L69: ble L112 +L70: blo L233 +L71: bls L62 +L72: blt L161 +L73: bmi L65 +L74: bne L225 +L75: bpl L252 +L76: bra L103 +L77: brclr *Z62 #$01 .+126 +L78: brclr 151,X #$ea .+92 +L79: brclr 107,X #$96 .+15 +L80: brn L56 +L81: brset *Z92 #$2a .+108 +L82: brset 176,X #$3b .+123 +L83: brset 50,X #$af .+60 +L84: bset *Z84 #$ec +L85: bset 24,X #$db +L86: bset 92,X #$02 +L87: bsr L26 +L88: bvc L254 +L89: bvs L67 +L90: cba +L91: clc +L92: cli +L93: clr 251,X +L94: clr symbol250 +L95: clr 170,X +L96: clra +L97: clrb +L98: clv +L99: cmpa #58 +L100: cmpa *Z251 +L101: cmpa 41,X +L102: cmpa symbol209 +L103: cmpa 230,X +L104: cmpb #5 +L105: cmpb *Z60 +L106: cmpb 124,X +L107: cmpb symbol148 +L108: cmpb 117,X +L109: cmpd #4056 +L110: cmpd *Z190 +L111: cmpd 97,X +L112: cmpd symbol137 +L113: cmpd 249,X +L114: cmpx #44892 +L115: cmpx *Z187 +L116: cmpx 168,X +L117: cmpx symbol153 +L118: cmpx 15,X +L119: cmpy #16533 +L120: cmpy *Z177 +L121: cmpy 235,X +L122: cmpy symbol241 +L123: cmpy 179,X +L124: com 5,X +L125: com symbol239 +L126: com 247,X +L127: coma +L128: comb +L129: cpd #48896 +L130: cpd *Z233 +L131: cpd 161,X +L132: cpd symbol58 +L133: cpd 229,X +L134: cpx #36810 +L135: cpx *Z11 +L136: cpx 203,X +L137: cpx symbol208 +L138: cpx 72,X +L139: cpy #583 +L140: cpy *Z100 +L141: cpy 189,X +L142: cpy symbol31 +L143: cpy 35,X +L144: daa +L145: dec 30,X +L146: dec symbol168 +L147: dec 28,X +L148: deca +L149: decb +L150: des +L151: dex +L152: dey +L153: eora #123 +L154: eora *Z100 +L155: eora 197,X +L156: eora symbol20 +L157: eora 115,X +L158: eorb #90 +L159: eorb *Z197 +L160: eorb 94,X +L161: eorb symbol75 +L162: eorb 121,X +L163: fdiv +L164: idiv +L165: inc 99,X +L166: inc symbol59 +L167: inc 112,X +L168: inca +L169: incb +L170: ins +L171: inx +L172: iny +L173: jmp 100,X +L174: jmp symbol36 +L175: jmp 17,X +L176: jsr *Z158 +L177: jsr 9,X +L178: jsr symbol220 +L179: jsr 170,X +L180: ldaa #212 +L181: ldaa *Z172 +L182: ldaa 242,X +L183: ldaa symbol27 +L184: ldaa 16,X +L185: ldab #175 +L186: ldab *Z59 +L187: ldab 51,X +L188: ldab symbol205 +L189: ldab 227,X +L190: ldd #50512 +L191: ldd *Z72 +L192: ldd 71,X +L193: ldd symbol21 +L194: ldd 92,X +L195: lds #20411 +L196: lds *Z111 +L197: lds 34,X +L198: lds symbol25 +L199: lds 186,X +L200: ldx #22427 +L201: ldx *Z125 +L202: ldx 245,X +L203: ldx symbol11 +L204: ldx 225,X +L205: ldy #44058 +L206: ldy *Z28 +L207: ldy 127,X +L208: ldy symbol35 +L209: ldy 248,X +L210: lsl 41,X +L211: lsl symbol248 +L212: lsl 164,X +L213: lsla +L214: lslb +L215: lsld +L216: lsr 27,X +L217: lsr symbol19 +L218: lsr 181,X +L219: lsra +L220: lsrb +L221: lsrd +L222: mul +L223: neg 202,X +L224: neg symbol78 +L225: neg 232,X +L226: nega +L227: negb +L228: nop +L229: oraa #152 +L230: oraa *Z50 +L231: oraa 56,X +L232: oraa symbol224 +L233: oraa 121,X +L234: orab #77 +L235: orab *Z61 +L236: orab 52,X +L237: orab symbol188 +L238: orab 95,X +L239: psha +L240: pshb +L241: pshx +L242: pshy +L243: pula +L244: pulb +L245: pulx +L246: puly +L247: rol 78,X +L248: rol symbol119 +L249: rol 250,X +L250: rola +L251: rolb +L252: ror 203,X +L253: ror symbol108 +L254: ror 5,X +L255: rora +L256: rorb +L257: rti +L258: rts +L259: sba +L260: sbca #172 +L261: sbca *Z134 +L262: sbca 33,X +L263: sbca symbol43 +L264: sbca 170,X +L265: sbcb #26 +L266: sbcb *Z85 +L267: sbcb 162,X +L268: sbcb symbol190 +L269: sbcb 112,X +L270: sec +L271: sei +L272: sev +L273: staa *Z181 +L274: staa 115,X +L275: staa symbol59 +L276: staa 4,X +L277: stab *Z92 +L278: stab 211,X +L279: stab symbol54 +L280: stab 148,X +L281: std *Z179 +L282: std 175,X +L283: std symbol226 +L284: std 240,X +L285: stop +L286: sts *Z228 +L287: sts 158,X +L288: sts symbol79 +L289: sts 50,X +L290: stx *Z21 +L291: stx 73,X +L292: stx symbol253 +L293: stx 130,X +L294: sty *Z78 +L295: sty 169,X +L296: sty symbol8 +L297: sty 112,X +L298: suba #212 +L299: suba *Z178 +L300: suba 138,X +L301: suba symbol41 +L302: suba 84,X +L303: subb #72 +L304: subb *Z154 +L305: subb 10,X +L306: subb symbol188 +L307: subb 213,X +L308: subd #61710 +L309: subd *Z24 +L310: subd 168,X +L311: subd symbol68 +L312: subd 172,X +L313: swi +L314: tab +L315: tap +L316: tba +L317: test +L318: tpa +L319: tst 91,X +L320: tst symbol243 +L321: tst 142,X +L322: tsta +L323: tstb +L324: tsx +L325: tsy +L326: txs +L327: tys +L328: wai +L329: xgdx +L330: xgdy + diff --git a/gas/testsuite/gas/m68hc11/insns.d b/gas/testsuite/gas/m68hc11/insns.d new file mode 100644 index 0000000000..fe09680eb9 --- /dev/null +++ b/gas/testsuite/gas/m68hc11/insns.d @@ -0,0 +1,44 @@ +#objdump: -d --prefix-addresses +#as: -m68hc11 +#name: insns + +# Test handling of basic instructions. + +.*: +file format elf32\-m68hc11 + +Disassembly of section .text: +0+000 <_start> lds #0+0400 <L1\+0x3a9> +0+003 <_start\+0x3> ldx #0+0001 <_start\+0x1> +0+006 <Loop> jsr 0+0010 <test> +0+009 <Loop\+0x3> dex +0+00a <Loop\+0x4> bne 0+0006 <Loop> +0+00c <Stop> .byte 0xcd, 0x03 +0+00e <Stop\+0x2> bra 0+0000 <_start> +0+010 <test> ldd #0+0002 <_start\+0x2> +0+013 <test\+0x3> jsr 0+0017 <test2> +0+016 <test\+0x6> rts +0+017 <test2> ldx 23,y +0+01a <test2\+0x3> std 23,x +0+01c <test2\+0x5> ldd 0,x +0+01e <test2\+0x7> sty 0,y +0+021 <test2\+0xa> stx 0,y +0+024 <test2\+0xd> brclr 6,x #\$04 00000017 <test2> +0+028 <test2\+0x11> brclr 12,x #\$08 00000017 <test2> +0+02c <test2\+0x15> ldd \*0+0 <_start> +0+02e <test2\+0x17> ldx \*0+2 <_start\+0x2> +0+030 <test2\+0x19> clr 0+0 <_start> +0+033 <test2\+0x1c> clr 0+1 <_start\+0x1> +0+036 <test2\+0x1f> bne 0+34 <test2\+0x1d> +0+038 <test2\+0x21> beq 0+3c <test2\+0x25> +0+03a <test2\+0x23> bclr \*0+1 <_start\+0x1> #\$20 +0+03d <test2\+0x26> brclr \*0+2 <_start\+0x2> #\$28 0+017 <test2> +0+041 <test2\+0x2a> ldy #0+ffec <L1\+0xff95> +0+045 <test2\+0x2e> ldd 12,y +0+048 <test2\+0x31> addd 44,y +0+04b <test2\+0x34> addd 50,y +0+04e <test2\+0x37> subd 0+02c <test2\+0x15> +0+051 <test2\+0x3a> subd #0+02c <test2\+0x15> +0+054 <test2\+0x3d> jmp 0000000c <Stop> +0+057 <L1> anda #23 +0+059 <L1\+0x2> andb #0 +0+05b <L1\+0x4> rts
\ No newline at end of file diff --git a/gas/testsuite/gas/m68hc11/insns.s b/gas/testsuite/gas/m68hc11/insns.s new file mode 100644 index 0000000000..2b2f9716a0 --- /dev/null +++ b/gas/testsuite/gas/m68hc11/insns.s @@ -0,0 +1,60 @@ +# Test for correct generation of 68HC11 insns. + + .globl _start + .sect .text + +_start: + lds #stack+1024 + ldx #1 +Loop: + jsr test + dex + bne Loop +Stop: + + .byte 0xcd + .byte 3 + bra _start + +test: + ldd #2 + jsr test2 + rts + +B_low = 12 +A_low = 44 +D_low = 50 +value = 23 + + .globl test2 +test2: + ldx value,y + std value,x + ldd ,x + sty ,y + stx ,y + brclr 6,x,#4,test2 + brclr 12,x #8 test2 + ldd *ZD1 + ldx *ZD1+2 + clr *ZD2 + clr *ZD2+1 + bne .-4 + beq .+2 + bclr *ZD1+1, #32 + brclr *ZD2+2, #40, test2 + ldy #24+_start-44 + ldd B_low,y + addd A_low,y + addd D_low,y + subd A_low + subd #A_low + jmp Stop +L1: + anda #%lo(test2) + andb #%hi(test2) + rts + + .sect .data + +.comm stack, 1024 diff --git a/gas/testsuite/gas/m68hc11/lbranch.d b/gas/testsuite/gas/m68hc11/lbranch.d new file mode 100644 index 0000000000..74cda030d1 --- /dev/null +++ b/gas/testsuite/gas/m68hc11/lbranch.d @@ -0,0 +1,47 @@ +#objdump: -d --prefix-addresses +#as: -m68hc11 +#name: lbranch + +# Test handling of basic instructions. + +.*: +file format elf32\-m68hc11 + +Disassembly of section .text: +0+0000 <_rcall> ldaa #16 +0+0002 <_rcall\+0x2> jmp 0+010b <Lend> +0+0005 <_rcall\+0x5> jsr 0+011b <toto> +0+0008 <_rcall\+0x8> beq 0+000d <_rcall\+0xd> +0+000a <_rcall\+0xa> jmp 0+011b <toto> +0+000d <_rcall\+0xd> bne 0+0012 <_rcall\+0x12> +0+000f <_rcall\+0xf> jmp 0+011b <toto> +0+0012 <_rcall\+0x12> bcc 0+0017 <_rcall\+0x17> +0+0014 <_rcall\+0x14> jmp 0+011b <toto> +0+0017 <_rcall\+0x17> bcs 0+001c <_rcall\+0x1c> +0+0019 <_rcall\+0x19> jmp 0+011b <toto> +0+001c <_rcall\+0x1c> xgdx +0+001d <_rcall\+0x1d> xgdx +0+001e <_rcall\+0x1e> bne 0+0023 <_rcall\+0x23> +0+0020 <_rcall\+0x20> jmp 0+0180 <bidule> +0+0023 <_rcall\+0x23> bcc 0+0028 <_rcall\+0x28> +0+0025 <_rcall\+0x25> jmp 0+0180 <bidule> +0+0028 <_rcall\+0x28> bcs 0+002d <_rcall\+0x2d> +0+002a <_rcall\+0x2a> jmp 0+0180 <bidule> +0+002d <_rcall\+0x2d> xgdx +0+002e <_rcall\+0x2e> jmp 0+00c8 <_rcall\+0xc8> +0+0031 <_rcall\+0x31> jsr 0+0783 <bidule\+0x603> +0+0034 <_rcall\+0x34> beq 0+0039 <_rcall\+0x39> +0+0036 <_rcall\+0x36> jmp 0+010b <Lend> +0+0039 <_rcall\+0x39> jsr 0+011b <toto> +0+003c <_rcall\+0x3c> bne 0+0041 <_rcall\+0x41> +0+003e <_rcall\+0x3e> jmp 0+011b <toto> +[ ]*\.\.\. +0+0109 <_rcall\+0x109> ldaa \*0+0000 <_rcall> +0+010b <Lend> bls 0+0110 <Lend\+0x5> +0+010d <Lend\+0x2> jmp 0+0000 <_rcall> +0+0110 <Lend\+0x5> bhi 0+0115 <Lend\+0xa> +0+0112 <Lend\+0x7> jmp 0+0000 <_rcall> +0+0115 <Lend\+0xa> jsr 0+0000 <_rcall> +0+0118 <Lend\+0xd> ldx #0+000c <_rcall\+0xc> +0+011b <toto> rts +[ ]*\.\.\. +0+0180 <bidule> rts diff --git a/gas/testsuite/gas/m68hc11/lbranch.s b/gas/testsuite/gas/m68hc11/lbranch.s new file mode 100644 index 0000000000..568d8a7aa2 --- /dev/null +++ b/gas/testsuite/gas/m68hc11/lbranch.s @@ -0,0 +1,41 @@ +# Test for the 68HC11 long branch switch + .text + .globl _rcall + .globl _start +_start: +_rcall: + ldaa #0x10 ;86 10 + jbra Lend ; Must be switched to a jmp + jbsr toto ; -> to a jsr + jbne toto ; -> to a beq+jmp + jbeq toto ; -> to a bne+jmp + jbcs toto ; -> to a bcc+jmp + jbcc toto ; -> to a bcs+jmp + xgdx + xgdx + beq bidule ; -> to a bne+jmp + bcs bidule ; -> to a bcc+jmp + bcc bidule ; -> to a bcs+jmp + xgdx + jbra 200 + jbsr 1923 + bne Lend ; -> to a beq+jmp + jbsr toto + jbeq toto + .skip 200 + ldaa *dir ;96 33 +Lend: + bhi external_op + bls external_op + bsr out + ldx #12 +toto: + rts + .skip 100 +bidule: + rts + .sect ".page0" +dir: + .long 0 + + ; END diff --git a/gas/testsuite/gas/m68hc11/opers12.d b/gas/testsuite/gas/m68hc11/opers12.d new file mode 100644 index 0000000000..fec02eb03b --- /dev/null +++ b/gas/testsuite/gas/m68hc11/opers12.d @@ -0,0 +1,70 @@ +#objdump: -d --prefix-addresses +#as: -m68hc12 +#name: opers + +.*: +file format elf32\-m68hc12 + +Disassembly of section .text: +0+000 <start> anda \[12,X\] +0+004 <start\+0x4> ldaa #10 +0+006 <start\+0x6> ldx 0+009 <L1> +0+009 <L1> ldy 0,X +0+00b <L1\+0x2> addd 1,Y +0+00d <L1\+0x4> subd -1,Y +0+00f <L1\+0x6> eora 15,Y +0+011 <L1\+0x8> eora -16,Y +0+013 <L1\+0xa> eorb 16,Y +0+016 <L1\+0xd> eorb -17,Y +0+019 <L1\+0x10> oraa 128,SP +0+01c <L1\+0x13> orab -128,SP +0+01f <L1\+0x16> orab 255,X +0+022 <L1\+0x19> orab -256,X +0+025 <L1\+0x1c> anda 256,X +0+029 <L1\+0x20> andb -257,X +0+02d <L1\+0x24> anda \[12,X\] +0+031 <L1\+0x28> ldaa \[257,Y\] +0+035 <L1\+0x2c> ldab \[32767,SP\] +0+039 <L1\+0x30> ldd \[32768,PC\] +0+03d <L1\+0x34> ldd 0,PC +0+040 <L1\+0x37> std A,X +0+042 <L1\+0x39> ldx B,X +0+044 <L1\+0x3b> stx D,Y +0+046 <L1\+0x3d> addd 1,\+X +0+048 <L1\+0x3f> addd 2,\+X +0+04a <L1\+0x41> addd 8,\+X +0+04c <L1\+0x43> addd 1,SP\+ +0+04e <L1\+0x45> addd 2,SP\+ +0+050 <L1\+0x47> addd 8,SP\+ +0+052 <L1\+0x49> subd 1,\-Y +0+054 <L1\+0x4b> subd 2,\-Y +0+056 <L1\+0x4d> subd 8,\-Y +0+058 <L1\+0x4f> addd 1,Y\- +0+05a <L1\+0x51> addd 2,Y\- +0+05c <L1\+0x53> addd 8,Y\- +0+05e <L1\+0x55> std \[D,X\] +0+060 <L1\+0x57> std \[D,Y\] +0+062 <L1\+0x59> std \[D,SP\] +0+064 <L1\+0x5b> std \[D,PC\] +0+066 <L1\+0x5d> beq 0+009 <L1> +0+068 <L1\+0x5f> lbeq 0+000 <start> +0+06c <L1\+0x63> lbcc 0+0bc <L2> +0+070 <L1\+0x67> movb 0+000 <start>, 1,X +0+075 <L1\+0x6c> movw 1,X, 0+000 <start> +0+07a <L1\+0x71> movb 0+000 <start>, 1,\+X +0+07f <L1\+0x76> movb 0+000 <start>, 1,\-X +0+084 <L1\+0x7b> movb #23, 1,\-SP +0+088 <L1\+0x7f> movb 0+009 <L1>, 0+0bc <L2> +0+08e <L1\+0x85> movb 0+009 <L1>, A,X +0+093 <L1\+0x8a> movw 0+009 <L1>, B,X +0+098 <L1\+0x8f> movw 0+009 <L1>, D,X +0+09d <L1\+0x94> movw D,X, A,X +0+0a1 <L1\+0x98> movw B,SP, D,PC +0+0a5 <L1\+0x9c> movw B,SP, 0+009 <L1> +0+0aa <L1\+0xa1> movw B,SP, 1,X +0+0ae <L1\+0xa5> movw D,X, A,Y +0+0b2 <L1\+0xa9> trap #48 +0+0b4 <L1\+0xab> trap #57 +0+0b6 <L1\+0xad> trap #64 +0+0b8 <L1\+0xaf> trap #128 +0+0ba <L1\+0xb1> trap #255 +0+0bc <L2> rts diff --git a/gas/testsuite/gas/m68hc11/opers12.s b/gas/testsuite/gas/m68hc11/opers12.s new file mode 100644 index 0000000000..dcf53d1ae6 --- /dev/null +++ b/gas/testsuite/gas/m68hc11/opers12.s @@ -0,0 +1,72 @@ + +# +# Try to verify all operand modes for 68HC12 +# + sect .text + globl start + +start: + anda [12,x] + ldaa #10 + ldx L1 +L1: ldy ,x + addd 1,y + subd -1,y + eora 15,y + eora -16,y + eorb 16,y + eorb -17,y + oraa 128,sp + orab -128,sp + orab 255,x + orab -256,x + anda 256,x + andb -257,x + anda [12,x] + ldaa [257,y] + ldab [32767,sp] + ldd [32768,pc] + ldd L1,pc + std a,x + ldx b,x + stx d,y + addd 1,+x + addd 2,+x + addd 8,+x + addd 1,sp+ + addd 2,sp+ + addd 8,sp+ + subd 1,-y + subd 2,-y + subd 8,-y + addd 1,y- + addd 2,y- + addd 8,y- + std [d,x] + std [d,y] + std [d,sp] + std [d,pc] + beq L1 + lbeq start + lbcc L2 + movb start, 1,x + movw 1,x, start + movb start, 1,+x + movb start, 1,-x + movb #23, 1,-sp + movb L1, L2 + movb L1, a,x + movw L1, b,x + movw L1, d,x + movw d,x, a,x + movw b,sp, d,pc + movw b,sp, L1 + movw b,sp, 1,x + movw d,x, a,y + trap #0x30 + trap #0x39 + trap #0x40 + trap #0x80 + trap #255 +L2: + rts diff --git a/gas/testsuite/gas/m68k/all.exp b/gas/testsuite/gas/m68k/all.exp index 88ab2a05c0..d5261708be 100644 --- a/gas/testsuite/gas/m68k/all.exp +++ b/gas/testsuite/gas/m68k/all.exp @@ -1,6 +1,18 @@ # # Some generic m68k tests # +if [istarget "m68hc11-*-*"] then { + return +} +if [istarget "m68hc12-*-*"] then { + return +} +if [istarget "m6811-*-*"] then { + return +} +if [istarget "m6812-*-*"] then { + return +} if [istarget m68*-*-*] then { gas_test "t2.s" "" "" "cross-section branch" if [istarget m68*-motorola-sysv] then { @@ -36,4 +48,4 @@ if [istarget m68*-*-*] then { } if [info exists errorInfo] then { unset errorInfo - } +} |