projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ubsan: tic4x: segv and signed shifts
[deliverable/binutils-gdb.git]
/
opcodes
/
z80-dis.c
diff --git
a/opcodes/z80-dis.c
b/opcodes/z80-dis.c
index 98161d9e884a503aaf0ede37a8dd7b7a9e1d1369..e30d6383de31cd53239cee04dea4d3376c9359f0 100644
(file)
--- a/
opcodes/z80-dis.c
+++ b/
opcodes/z80-dis.c
@@
-1,5
+1,5
@@
/* Print Z80 and R800 instructions
/* Print Z80 and R800 instructions
- Copyright
2005, 2007
Free Software Foundation, Inc.
+ Copyright
(C) 2005-2019
Free Software Foundation, Inc.
Contributed by Arnold Metselaar <arnold_m@operamail.com>
This file is part of the GNU opcodes library.
Contributed by Arnold Metselaar <arnold_m@operamail.com>
This file is part of the GNU opcodes library.
@@
-20,7
+20,7
@@
MA 02110-1301, USA. */
#include "sysdep.h"
MA 02110-1301, USA. */
#include "sysdep.h"
-#include "dis
-asm
.h"
+#include "dis
assemble
.h"
#include <stdio.h>
struct buffer
#include <stdio.h>
struct buffer
@@
-128,8
+128,10
@@
static int
prt_rr_nn (struct buffer *buf, disassemble_info * info, char *txt)
{
char mytxt[TXTSIZ];
prt_rr_nn (struct buffer *buf, disassemble_info * info, char *txt)
{
char mytxt[TXTSIZ];
+ int rr;
- snprintf (mytxt, TXTSIZ, txt, rr_str[(buf->data[0] >> 4) & 3]);
+ rr = (buf->data[buf->n_fetch - 1] >> 4) & 3;
+ snprintf (mytxt, TXTSIZ, txt, rr_str[rr]);
return prt_nn (buf, info, mytxt);
}
return prt_nn (buf, info, mytxt);
}
@@
-297,9
+299,11
@@
struct tab_elt opc_ed[] =
{ 0x4A, 0xCF, prt_rr, "adc hl," },
{ 0x4B, 0xCF, prt_rr_nn, "ld %s,(0x%%04x)" },
{ 0x4D, 0xFF, prt, "reti" },
{ 0x4A, 0xCF, prt_rr, "adc hl," },
{ 0x4B, 0xCF, prt_rr_nn, "ld %s,(0x%%04x)" },
{ 0x4D, 0xFF, prt, "reti" },
+ { 0x4F, 0xFF, prt, "ld r,a" },
{ 0x56, 0xFF, prt, "im 1" },
{ 0x57, 0xFF, prt, "ld a,i" },
{ 0x5E, 0xFF, prt, "im 2" },
{ 0x56, 0xFF, prt, "im 1" },
{ 0x57, 0xFF, prt, "ld a,i" },
{ 0x5E, 0xFF, prt, "im 2" },
+ { 0x5F, 0xFF, prt, "ld a,r" },
{ 0x67, 0xFF, prt, "rrd" },
{ 0x6F, 0xFF, prt, "rld" },
{ 0xA0, 0xE4, cis, "" },
{ 0x67, 0xFF, prt, "rrd" },
{ 0x6F, 0xFF, prt, "rld" },
{ 0xA0, 0xE4, cis, "" },
@@
-310,7
+314,7
@@
struct tab_elt opc_ed[] =
};
static int
};
static int
-pref_ed (struct buffer * buf, disassemble_info * info,
+pref_ed (struct buffer * buf, disassemble_info * info,
char* txt ATTRIBUTE_UNUSED)
{
struct tab_elt *p;
char* txt ATTRIBUTE_UNUSED)
{
struct tab_elt *p;
This page took
0.026153 seconds
and
4
git commands to generate.