diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2003-06-10 07:33:46 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2003-06-10 07:33:46 +0000 |
commit | 2a93846b50ab8ecbbcc7775de29f3494889cb3f9 (patch) | |
tree | 4ce85bc7d9c8e15a4a19aee4ef8f7130bf8f78cf | |
parent | 0613284fd49388e6d5938e76e471362485c6c93e (diff) | |
download | gdb-2a93846b50ab8ecbbcc7775de29f3494889cb3f9.zip gdb-2a93846b50ab8ecbbcc7775de29f3494889cb3f9.tar.gz gdb-2a93846b50ab8ecbbcc7775de29f3494889cb3f9.tar.bz2 |
include/opcode/
* h8300.h (IMM4_NS, IMM8_NS): New.
(h8_opcodes): Replace IMM4 with IMM4_NS in mov.b and mov.w entries.
Likewise IMM8 for mov.w and mov.l. Likewise IMM16U for mov.l.
gas/testsuite
* gas/h8300/h8sx_mov_imm.[sd]: New test.
* gas/h8300/h8300.exp: Run it.
-rw-r--r-- | gas/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/h8300/h8300.exp | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/h8300/h8sx_mov_imm.d | 293 | ||||
-rw-r--r-- | gas/testsuite/gas/h8300/h8sx_mov_imm.s | 98 | ||||
-rw-r--r-- | include/opcode/ChangeLog | 6 | ||||
-rw-r--r-- | include/opcode/h8300.h | 16 |
6 files changed, 412 insertions, 7 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 4ea3d4b..7b14f61 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2003-06-10 Richard Sandiford <rsandifo@redhat.com> + * gas/h8300/h8sx_mov_imm.[sd]: New test. + * gas/h8300/h8300.exp: Run it. + +2003-06-10 Richard Sandiford <rsandifo@redhat.com> + * gas/h8300/h8sx_rtsl.[sd]: New test. * gas/h8300/h8300.exp: Run it. diff --git a/gas/testsuite/gas/h8300/h8300.exp b/gas/testsuite/gas/h8300/h8300.exp index e167a3f..2aa2b06 100644 --- a/gas/testsuite/gas/h8300/h8300.exp +++ b/gas/testsuite/gas/h8300/h8300.exp @@ -2169,6 +2169,7 @@ if [istarget h8300*-*-*] then { run_dump_test h8sx_disp2 run_dump_test h8sx_rtsl + run_dump_test h8sx_mov_imm # Now some random tests set svr4pic [expr [istarget *-*-elf*] || [istarget *-*-irix5*] ] diff --git a/gas/testsuite/gas/h8300/h8sx_mov_imm.d b/gas/testsuite/gas/h8300/h8sx_mov_imm.d new file mode 100644 index 0000000..84fc12a --- /dev/null +++ b/gas/testsuite/gas/h8300/h8sx_mov_imm.d @@ -0,0 +1,293 @@ +# objdump: -dr + +.*: *file format elf32-h8300 + +Disassembly of section \.text: + +.* <.*>: +.*: fa 00 * fa 00 * mov.b #0x0,r2l + .*: R_H8_DIR8 foo +.*: fa 00 * fa 00 * mov.b #0x0,r2l + .*: R_H8_DIR8 .L1 +.*: fa 00 * fa 00 * mov.b #0x0,r2l + .*: R_H8_DIR8 bar +.*: 01 7d 02 00 * 01 7d 02 00 * mov.b #0x0,@r2 + .*: R_H8_DIR8 foo +.*: 01 7d 02 00 * 01 7d 02 00 * mov.b #0x0,@r2 + .*: R_H8_DIR8 .L1 +.*: 01 7d 02 00 * 01 7d 02 00 * mov.b #0x0,@r2 + .*: R_H8_DIR8 bar +.*: 01 7d b2 00 * 01 7d b2 00 * mov.b #0x0,@-r2 + .*: R_H8_DIR8 foo +.*: 01 7d 82 00 * 01 7d 82 00 * mov.b #0x0,@r2\+ + .*: R_H8_DIR8 .L1 +.*: 01 7d a2 00 * 01 7d a2 00 * mov.b #0x0,@r2- + .*: R_H8_DIR8 bar +.*: 01 7d 22 00 * 01 7d 22 00 * mov.b #0x0,@\(0x2:2,r2\) + .*: R_H8_DIR8 foo +.*: 01 7d 22 00 * 01 7d 22 00 * mov.b #0x0,@\(0x2:2,r2\) + .*: R_H8_DIR8 .L1 +.*: 01 7d 22 00 * 01 7d 22 00 * mov.b #0x0,@\(0x2:2,r2\) + .*: R_H8_DIR8 bar +.*: 01 7d c2 00 * 01 7d c2 00 00 10 * mov.b #0x0,@\(0x10:16,r2\) +.*: 00 10 * + .*: R_H8_DIR8 foo +.*: 01 7d c2 00 * 01 7d c2 00 00 10 * mov.b #0x0,@\(0x10:16,r2\) +.*: 00 10 * + .*: R_H8_DIR8 .L1 +.*: 01 7d c2 00 * 01 7d c2 00 00 10 * mov.b #0x0,@\(0x10:16,r2\) +.*: 00 10 * + .*: R_H8_DIR8 bar +.*: 01 7d d2 00 * 01 7d d2 00 00 10 * mov.b #0x0,@\(0x10:16,r2l.b\) +.*: 00 10 * + .*: R_H8_DIR8 foo +.*: 01 7d e2 00 * 01 7d e2 00 00 10 * mov.b #0x0,@\(0x10:16,r2.w\) +.*: 00 10 * + .*: R_H8_DIR8 .L1 +.*: 01 7d f2 00 * 01 7d f2 00 00 10 * mov.b #0x0,@\(0x10:16,er2.l\) +.*: 00 10 * + .*: R_H8_DIR8 bar +.*: 01 7d ca 00 * 01 7d ca 00 00 01 23 45 * mov.b #0x0,@\(0x12345:32,r2\) +.*: 00 01 23 45 * + .*: R_H8_DIR8 foo +.*: 01 7d ca 00 * 01 7d ca 00 00 01 23 45 * mov.b #0x0,@\(0x12345:32,r2\) +.*: 00 01 23 45 * + .*: R_H8_DIR8 .L1 +.*: 01 7d ca 00 * 01 7d ca 00 00 01 23 45 * mov.b #0x0,@\(0x12345:32,r2\) +.*: 00 01 23 45 * + .*: R_H8_DIR8 bar +.*: 01 7d da 00 * 01 7d da 00 00 01 23 45 * mov.b #0x0,@\(0x12345:32,r2l.b\) +.*: 00 01 23 45 * + .*: R_H8_DIR8 foo +.*: 01 7d ea 00 * 01 7d ea 00 00 01 23 45 * mov.b #0x0,@\(0x12345:32,r2.w\) +.*: 00 01 23 45 * + .*: R_H8_DIR8 .L1 +.*: 01 7d fa 00 * 01 7d fa 00 00 01 23 45 * mov.b #0x0,@\(0x12345:32,er2.l\) +.*: 00 01 23 45 * + .*: R_H8_DIR8 bar +.*: 01 7d 40 00 * 01 7d 40 00 80 00 * mov.b #0x0,@0x8000:16 +.*: 80 00 * + .*: R_H8_DIR8 foo +.*: 01 7d 40 00 * 01 7d 40 00 80 00 * mov.b #0x0,@0x8000:16 +.*: 80 00 * + .*: R_H8_DIR8 .L1 +.*: 01 7d 40 00 * 01 7d 40 00 80 00 * mov.b #0x0,@0x8000:16 +.*: 80 00 * + .*: R_H8_DIR8 bar +.*: 01 7d 48 00 * 01 7d 48 00 00 01 80 00 * mov.b #0x0,@0x18000:32 +.*: 00 01 80 00 * + .*: R_H8_DIR8 foo +.*: 01 7d 48 00 * 01 7d 48 00 00 01 80 00 * mov.b #0x0,@0x18000:32 +.*: 00 01 80 00 * + .*: R_H8_DIR8 .L1 +.*: 01 7d 48 00 * 01 7d 48 00 00 01 80 00 * mov.b #0x0,@0x18000:32 +.*: 00 01 80 00 * + .*: R_H8_DIR8 bar +.*: 79 02 00 00 * 79 02 00 00 * mov.w #0x0,r2 + .*: R_H8_DIR16 foo +.*: 79 02 00 00 * 79 02 00 00 * mov.w #0x0,r2 + .*: R_H8_DIR16 .L1 +.*: 79 02 00 00 * 79 02 00 00 * mov.w #0x0,r2 + .*: R_H8_DIR16 bar +.*: 79 74 00 00 * 79 74 00 00 02 00 * mov.w #0x0,@r2 +.*: 02 00 * + .*: R_H8_DIR16 foo +.*: 79 74 00 00 * 79 74 00 00 02 00 * mov.w #0x0,@r2 +.*: 02 00 * + .*: R_H8_DIR16 .L1 +.*: 79 74 00 00 * 79 74 00 00 02 00 * mov.w #0x0,@r2 +.*: 02 00 * + .*: R_H8_DIR16 bar +.*: 79 74 00 00 * 79 74 00 00 b2 00 * mov.w #0x0,@-r2 +.*: b2 00 * + .*: R_H8_DIR16 foo +.*: 79 74 00 00 * 79 74 00 00 82 00 * mov.w #0x0,@r2\+ +.*: 82 00 * + .*: R_H8_DIR16 .L1 +.*: 79 74 00 00 * 79 74 00 00 a2 00 * mov.w #0x0,@r2- +.*: a2 00 * + .*: R_H8_DIR16 bar +.*: 79 74 00 00 * 79 74 00 00 22 00 * mov.w #0x0,@\(0x4:2,r2\) +.*: 22 00 * + .*: R_H8_DIR16 foo +.*: 79 74 00 00 * 79 74 00 00 22 00 * mov.w #0x0,@\(0x4:2,r2\) +.*: 22 00 * + .*: R_H8_DIR16 .L1 +.*: 79 74 00 00 * 79 74 00 00 22 00 * mov.w #0x0,@\(0x4:2,r2\) +.*: 22 00 * + .*: R_H8_DIR16 bar +.*: 79 74 00 00 * 79 74 00 00 c2 00 00 10 * mov.w #0x0,@\(0x10:16,r2\) +.*: c2 00 00 10 * + .*: R_H8_DIR16 foo +.*: 79 74 00 00 * 79 74 00 00 c2 00 00 10 * mov.w #0x0,@\(0x10:16,r2\) +.*: c2 00 00 10 * + .*: R_H8_DIR16 .L1 +.*: 79 74 00 00 * 79 74 00 00 c2 00 00 10 * mov.w #0x0,@\(0x10:16,r2\) +.*: c2 00 00 10 * + .*: R_H8_DIR16 bar +.*: 79 74 00 00 * 79 74 00 00 d2 00 00 10 * mov.w #0x0,@\(0x10:16,r2l.b\) +.*: d2 00 00 10 * + .*: R_H8_DIR16 foo +.*: 79 74 00 00 * 79 74 00 00 e2 00 00 10 * mov.w #0x0,@\(0x10:16,r2.w\) +.*: e2 00 00 10 * + .*: R_H8_DIR16 .L1 +.*: 79 74 00 00 * 79 74 00 00 f2 00 00 10 * mov.w #0x0,@\(0x10:16,er2.l\) +.*: f2 00 00 10 * + .*: R_H8_DIR16 bar +.*: 79 74 00 00 * 79 74 00 00 ca 00 00 01 23 45 * mov.w #0x0,@\(0x12345:32,r2\) +.*: ca 00 00 01 * +.*: 23 45 * + .*: R_H8_DIR16 foo +.*: 79 74 00 00 * 79 74 00 00 ca 00 00 01 23 45 * mov.w #0x0,@\(0x12345:32,r2\) +.*: ca 00 00 01 * +.*: 23 45 * + .*: R_H8_DIR16 .L1 +.*: 79 74 00 00 * 79 74 00 00 ca 00 00 01 23 45 * mov.w #0x0,@\(0x12345:32,r2\) +.*: ca 00 00 01 * +.*: 23 45 * + .*: R_H8_DIR16 bar +.*: 79 74 00 00 * 79 74 00 00 da 00 00 01 23 45 * mov.w #0x0,@\(0x12345:32,r2l.b\) +.*: da 00 00 01 * +.*: 23 45 * + .*: R_H8_DIR16 foo +.*: 79 74 00 00 * 79 74 00 00 ea 00 00 01 23 45 * mov.w #0x0,@\(0x12345:32,r2.w\) +.*: ea 00 00 01 * +.*: 23 45 * + .*: R_H8_DIR16 .L1 +.*: 79 74 00 00 * 79 74 00 00 fa 00 00 01 23 45 * mov.w #0x0,@\(0x12345:32,er2.l\) +.*: fa 00 00 01 * +.*: 23 45 * + .*: R_H8_DIR16 bar +.*: 79 74 00 00 * 79 74 00 00 40 00 80 00 * mov.w #0x0,@0x8000:16 +.*: 40 00 80 00 * + .*: R_H8_DIR16 foo +.*: 79 74 00 00 * 79 74 00 00 40 00 80 00 * mov.w #0x0,@0x8000:16 +.*: 40 00 80 00 * + .*: R_H8_DIR16 .L1 +.*: 79 74 00 00 * 79 74 00 00 40 00 80 00 * mov.w #0x0,@0x8000:16 +.*: 40 00 80 00 * + .*: R_H8_DIR16 bar +.*: 79 74 00 00 * 79 74 00 00 48 00 00 01 80 00 * mov.w #0x0,@0x18000:32 +.*: 48 00 00 01 * +.*: 80 00 * + .*: R_H8_DIR16 foo +.*: 79 74 00 00 * 79 74 00 00 48 00 00 01 80 00 * mov.w #0x0,@0x18000:32 +.*: 48 00 00 01 * +.*: 80 00 * + .*: R_H8_DIR16 .L1 +.*: 79 74 00 00 * 79 74 00 00 48 00 00 01 80 00 * mov.w #0x0,@0x18000:32 +.*: 48 00 00 01 * +.*: 80 00 * + .*: R_H8_DIR16 bar + +.* <.*>: +.*: 7a 02 00 00 * 7a 02 00 00 00 00 * mov.l #0x0,er2 +.*: 00 00 * + .*: R_H8_DIR32 foo +.*: 7a 02 00 00 * 7a 02 00 00 00 00 * mov.l #0x0,er2 +.*: 00 00 * + .*: R_H8_DIR32 .L1 +.*: 7a 02 00 00 * 7a 02 00 00 00 00 * mov.l #0x0,er2 +.*: 00 00 * + .*: R_H8_DIR32 bar +.*: 7a 74 00 00 * 7a 74 00 00 00 00 02 00 * mov.l #0x0,@r2 +.*: 00 00 02 00 * + .*: R_H8_DIR32 foo +.*: 7a 74 00 00 * 7a 74 00 00 00 00 02 00 * mov.l #0x0,@r2 +.*: 00 00 02 00 * + .*: R_H8_DIR32 .L1 +.*: 7a 74 00 00 * 7a 74 00 00 00 00 02 00 * mov.l #0x0,@r2 +.*: 00 00 02 00 * + .*: R_H8_DIR32 bar +.*: 7a 74 00 00 * 7a 74 00 00 00 00 b2 00 * mov.l #0x0,@-r2 +.*: 00 00 b2 00 * + .*: R_H8_DIR32 foo +.*: 7a 74 00 00 * 7a 74 00 00 00 00 82 00 * mov.l #0x0,@r2\+ +.*: 00 00 82 00 * + .*: R_H8_DIR32 .L1 +.*: 7a 74 00 00 * 7a 74 00 00 00 00 a2 00 * mov.l #0x0,@r2- +.*: 00 00 a2 00 * + .*: R_H8_DIR32 bar +.*: 7a 74 00 00 * 7a 74 00 00 00 00 22 00 * mov.l #0x0,@\(0x8:2,r2\) +.*: 00 00 22 00 * + .*: R_H8_DIR32 foo +.*: 7a 74 00 00 * 7a 74 00 00 00 00 22 00 * mov.l #0x0,@\(0x8:2,r2\) +.*: 00 00 22 00 * + .*: R_H8_DIR32 .L1 +.*: 7a 74 00 00 * 7a 74 00 00 00 00 22 00 * mov.l #0x0,@\(0x8:2,r2\) +.*: 00 00 22 00 * + .*: R_H8_DIR32 bar +.*: 7a 74 00 00 * 7a 74 00 00 00 00 c2 00 00 10 * mov.l #0x0,@\(0x10:16,r2\) +.*: 00 00 c2 00 * +.*: 00 10 * + .*: R_H8_DIR32 foo +.*: 7a 74 00 00 * 7a 74 00 00 00 00 c2 00 00 10 * mov.l #0x0,@\(0x10:16,r2\) +.*: 00 00 c2 00 * +.*: 00 10 * + .*: R_H8_DIR32 .L1 +.*: 7a 74 00 00 * 7a 74 00 00 00 00 c2 00 00 10 * mov.l #0x0,@\(0x10:16,r2\) +.*: 00 00 c2 00 * +.*: 00 10 * + .*: R_H8_DIR32 bar +.*: 7a 74 00 00 * 7a 74 00 00 00 00 d2 00 00 10 * mov.l #0x0,@\(0x10:16,r2l.b\) +.*: 00 00 d2 00 * +.*: 00 10 * + .*: R_H8_DIR32 foo +.*: 7a 74 00 00 * 7a 74 00 00 00 00 e2 00 00 10 * mov.l #0x0,@\(0x10:16,r2.w\) +.*: 00 00 e2 00 * +.*: 00 10 * + .*: R_H8_DIR32 .L1 +.*: 7a 74 00 00 * 7a 74 00 00 00 00 f2 00 00 10 * mov.l #0x0,@\(0x10:16,er2.l\) +.*: 00 00 f2 00 * +.*: 00 10 * + .*: R_H8_DIR32 bar +.*: 7a 74 00 00 * 7a 74 00 00 00 00 ca 00 00 01 23 45 * mov.l #0x0,@\(0x12345:32,r2\) +.*: 00 00 ca 00 * +.*: 00 01 23 45 * + .*: R_H8_DIR32 foo +.*: 7a 74 00 00 * 7a 74 00 00 00 00 ca 00 00 01 23 45 * mov.l #0x0,@\(0x12345:32,r2\) +.*: 00 00 ca 00 * +.*: 00 01 23 45 * + .*: R_H8_DIR32 .L1 +.*: 7a 74 00 00 * 7a 74 00 00 00 00 ca 00 00 01 23 45 * mov.l #0x0,@\(0x12345:32,r2\) +.*: 00 00 ca 00 * +.*: 00 01 23 45 * + .*: R_H8_DIR32 bar +.*: 7a 74 00 00 * 7a 74 00 00 00 00 da 00 00 01 23 45 * mov.l #0x0,@\(0x12345:32,r2l.b\) +.*: 00 00 da 00 * +.*: 00 01 23 45 * + .*: R_H8_DIR32 foo +.*: 7a 74 00 00 * 7a 74 00 00 00 00 ea 00 00 01 23 45 * mov.l #0x0,@\(0x12345:32,r2.w\) +.*: 00 00 ea 00 * +.*: 00 01 23 45 * + .*: R_H8_DIR32 .L1 +.*: 7a 74 00 00 * 7a 74 00 00 00 00 fa 00 00 01 23 45 * mov.l #0x0,@\(0x12345:32,er2.l\) +.*: 00 00 fa 00 * +.*: 00 01 23 45 * + .*: R_H8_DIR32 bar +.*: 7a 74 00 00 * 7a 74 00 00 00 00 40 00 80 00 * mov.l #0x0,@0x8000:16 +.*: 00 00 40 00 * +.*: 80 00 * + .*: R_H8_DIR32 foo +.*: 7a 74 00 00 * 7a 74 00 00 00 00 40 00 80 00 * mov.l #0x0,@0x8000:16 +.*: 00 00 40 00 * +.*: 80 00 * + .*: R_H8_DIR32 .L1 +.*: 7a 74 00 00 * 7a 74 00 00 00 00 40 00 80 00 * mov.l #0x0,@0x8000:16 +.*: 00 00 40 00 * +.*: 80 00 * + .*: R_H8_DIR32 bar +.*: 7a 74 00 00 * 7a 74 00 00 00 00 48 00 00 01 80 00 * mov.l #0x0,@0x18000:32 +.*: 00 00 48 00 * +.*: 00 01 80 00 * + .*: R_H8_DIR32 foo +.*: 7a 74 00 00 * 7a 74 00 00 00 00 48 00 00 01 80 00 * mov.l #0x0,@0x18000:32 +.*: 00 00 48 00 * +.*: 00 01 80 00 * + .*: R_H8_DIR32 .L1 +.*: 7a 74 00 00 * 7a 74 00 00 00 00 48 00 00 01 80 00 * mov.l #0x0,@0x18000:32 +.*: 00 00 48 00 * +.*: 00 01 80 00 * + .*: R_H8_DIR32 bar +.* <.*>: + \.\.\. diff --git a/gas/testsuite/gas/h8300/h8sx_mov_imm.s b/gas/testsuite/gas/h8300/h8sx_mov_imm.s new file mode 100644 index 0000000..b2e29b8 --- /dev/null +++ b/gas/testsuite/gas/h8300/h8sx_mov_imm.s @@ -0,0 +1,98 @@ + .h8300sx + mov.b #foo,r2l + mov.b #.L1,r2l + mov.b #bar,r2l + mov.b #foo,@er2 + mov.b #.L1,@er2 + mov.b #bar,@er2 + mov.b #foo,@-er2 + mov.b #.L1,@er2+ + mov.b #bar,@er2- + mov.b #foo,@(2,er2) + mov.b #.L1,@(2,er2) + mov.b #bar,@(2,er2) + mov.b #foo,@(16,er2) + mov.b #.L1,@(16,er2) + mov.b #bar,@(16,er2) + mov.b #foo,@(16,r2l.b) + mov.b #.L1,@(16,r2.w) + mov.b #bar,@(16,er2.l) + mov.b #foo,@(0x12345,er2) + mov.b #.L1,@(0x12345,er2) + mov.b #bar,@(0x12345,er2) + mov.b #foo,@(0x12345,r2l.b) + mov.b #.L1,@(0x12345,r2.w) + mov.b #bar,@(0x12345,er2.l) + mov.b #foo,@0xffff8000 + mov.b #.L1,@0xffff8000 + mov.b #bar,@0xffff8000 + mov.b #foo,@0x18000 + mov.b #.L1,@0x18000 + mov.b #bar,@0x18000 + + mov.w #foo,r2 + mov.w #.L1,r2 + mov.w #bar,r2 + mov.w #foo,@er2 + mov.w #.L1,@er2 + mov.w #bar,@er2 + mov.w #foo,@-er2 + mov.w #.L1,@er2+ + mov.w #bar,@er2- + mov.w #foo,@(4,er2) + mov.w #.L1,@(4,er2) + mov.w #bar,@(4,er2) + mov.w #foo,@(16,er2) + mov.w #.L1,@(16,er2) + mov.w #bar,@(16,er2) + mov.w #foo,@(16,r2l.b) + mov.w #.L1,@(16,r2.w) + mov.w #bar,@(16,er2.l) + mov.w #foo,@(0x12345,er2) + mov.w #.L1,@(0x12345,er2) + mov.w #bar,@(0x12345,er2) + mov.w #foo,@(0x12345,r2l.b) + mov.w #.L1,@(0x12345,r2.w) + mov.w #bar,@(0x12345,er2.l) + mov.w #foo,@0xffff8000 + mov.w #.L1,@0xffff8000 + mov.w #bar,@0xffff8000 + mov.w #foo,@0x18000 + mov.w #.L1,@0x18000 + mov.w #bar,@0x18000 + +.L1: + mov.l #foo,er2 + mov.l #.L1,er2 + mov.l #bar,er2 + mov.l #foo,@er2 + mov.l #.L1,@er2 + mov.l #bar,@er2 + mov.l #foo,@-er2 + mov.l #.L1,@er2+ + mov.l #bar,@er2- + mov.l #foo,@(8,er2) + mov.l #.L1,@(8,er2) + mov.l #bar,@(8,er2) + mov.l #foo,@(16,er2) + mov.l #.L1,@(16,er2) + mov.l #bar,@(16,er2) + mov.l #foo,@(16,r2l.b) + mov.l #.L1,@(16,r2.w) + mov.l #bar,@(16,er2.l) + mov.l #foo,@(0x12345,er2) + mov.l #.L1,@(0x12345,er2) + mov.l #bar,@(0x12345,er2) + mov.l #foo,@(0x12345,r2l.b) + mov.l #.L1,@(0x12345,r2.w) + mov.l #bar,@(0x12345,er2.l) + mov.l #foo,@0xffff8000 + mov.l #.L1,@0xffff8000 + mov.l #bar,@0xffff8000 + mov.l #foo,@0x18000 + mov.l #.L1,@0x18000 + mov.l #bar,@0x18000 + + .globl bar +bar: + .space 16 diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index 25a6ffe..a31d9ce 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,9 @@ +2003-06-10 Richard Sandiford <rsandifo@redhat.com> + + * h8300.h (IMM4_NS, IMM8_NS): New. + (h8_opcodes): Replace IMM4 with IMM4_NS in mov.b and mov.w entries. + Likewise IMM8 for mov.w and mov.l. Likewise IMM16U for mov.l. + 2003-06-03 Michael Snyder <msnyder@redhat.com> * h8sx.h (enum h8_model): Add AV_H8S to distinguish from H8H. diff --git a/include/opcode/h8300.h b/include/opcode/h8300.h index 45357ef..4318dcc 100644 --- a/include/opcode/h8300.h +++ b/include/opcode/h8300.h @@ -130,6 +130,8 @@ enum h8_flags { IMM3NZ_NS = IMM3NZ | NO_SYMBOLS, IMM2_NS = IMM2 | NO_SYMBOLS, + IMM4_NS = IMM4 | NO_SYMBOLS, + IMM8_NS = IMM8 | NO_SYMBOLS, IMM16_NS = IMM16 | NO_SYMBOLS, IMM16U_NS = IMM16U | NO_SYMBOLS, @@ -1441,8 +1443,8 @@ struct h8_opcode h8_opcodes[] = {O (O_MOV, SB), AV_H8, 2, "mov.b", {{IMM8, RD8, E}}, {{0xF, RD8, IMM8LIST, E}}}, - {O (O_MOV, SB), AV_H8SX, 0, "mov.b", {{IMM4, ABS16DST, E}}, {{0x6, 0xa, 0xd, IMM4, DSTABS16LIST, E}}}, - {O (O_MOV, SB), AV_H8SX, 0, "mov.b", {{IMM4, ABS32DST, E}}, {{0x6, 0xa, 0xf, IMM4, DSTABS32LIST, E}}}, + {O (O_MOV, SB), AV_H8SX, 0, "mov.b", {{IMM4_NS, ABS16DST, E}}, {{0x6, 0xa, 0xd, IMM4, DSTABS16LIST, E}}}, + {O (O_MOV, SB), AV_H8SX, 0, "mov.b", {{IMM4_NS, ABS32DST, E}}, {{0x6, 0xa, 0xf, IMM4, DSTABS32LIST, E}}}, MOVFROM_IMM8 (O (O_MOV, SB), PREFIX_017D, "mov.b", IMM8), {O (O_MOV, SB), AV_H8, 2, "mov.b", {{RS8, RD8, E}}, {{0x0, 0xC, RS8, RD8, E}}}, @@ -1470,10 +1472,10 @@ struct h8_opcode h8_opcodes[] = {O (O_MOV, SW), AV_H8SX, 0, "mov.w", {{IMM3NZ_NS, RD16, E}}, {{0x0, 0xf, B30 | IMM3NZ, RD16, E}}}, {O (O_MOV, SW), AV_H8, 4, "mov.w", {{IMM16, RD16, E}}, {{0x7, 0x9, 0x0, RD16, IMM16LIST, E}}}, - {O (O_MOV, SW), AV_H8SX, 0, "mov.w", {{IMM4, ABS16DST, E}}, {{0x6, 0xb, 0xd, IMM4, DSTABS16LIST, E}}}, - {O (O_MOV, SW), AV_H8SX, 0, "mov.w", {{IMM4, ABS32DST, E}}, {{0x6, 0xb, 0xf, IMM4, DSTABS32LIST, E}}}, + {O (O_MOV, SW), AV_H8SX, 0, "mov.w", {{IMM4_NS, ABS16DST, E}}, {{0x6, 0xb, 0xd, IMM4, DSTABS16LIST, E}}}, + {O (O_MOV, SW), AV_H8SX, 0, "mov.w", {{IMM4_NS, ABS32DST, E}}, {{0x6, 0xb, 0xf, IMM4, DSTABS32LIST, E}}}, - MOVFROM_IMM8 (O (O_MOV, SW), PREFIX_015D, "mov.w", IMM8), + MOVFROM_IMM8 (O (O_MOV, SW), PREFIX_015D, "mov.w", IMM8_NS), MOVFROM_IMM (O (O_MOV, SW), PREFIX_7974, "mov.w", IMM16, IMM16LIST), {O (O_MOV, SW), AV_H8, 2, "mov.w", {{RS16, RD16, E}}, {{0x0, 0xD, RS16, RD16, E}}}, @@ -1499,8 +1501,8 @@ struct h8_opcode h8_opcodes[] = {O (O_MOV, SL), AV_H8SX, 0, "mov.l", {{IMM3NZ_NS, RD32, E}}, {{0x0, 0xf, B31 | IMM3NZ, B31 | RD32, E}}}, - MOVFROM_IMM8 (O (O_MOV, SL), PREFIX_010D, "mov.l", IMM8), - MOVFROM_IMM (O (O_MOV, SL), PREFIX_7A7C, "mov.l", IMM16U, IMM16ULIST), + MOVFROM_IMM8 (O (O_MOV, SL), PREFIX_010D, "mov.l", IMM8_NS), + MOVFROM_IMM (O (O_MOV, SL), PREFIX_7A7C, "mov.l", IMM16U_NS, IMM16ULIST), {O (O_MOV, SL), AV_H8SX, 0, "mov.l", {{IMM16U_NS, RD32, E}}, {{0x7, 0xa, 0x0, B31 | RD32, IMM16ULIST, E}}}, {O (O_MOV, SL), AV_H8H, 4, "mov.l", {{IMM32, RD32, E}}, {{0x7, 0xa, 0x0, B30 | RD32, IMM32LIST, E}}}, |