• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
Keine Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

GNU Binutils with patches for OS216


Commit MetaInfo

Revision90092e730582d024f621c78c6b5b1e6f2348e77d (tree)
Zeit2015-02-11 23:36:39
AutorNick Clifton <nickc@redh...>
CommiterNick Clifton

Log Message

Fixes a problem with the RL78 disassembler which would incorrectly disassemble [HL+0] as [HL].

* rl78-decode.opc: Add 'a' attribute to instructions that support
[HL+0] addressing.
* rl78-decode.c: Regenerate.
* rl78-dis.c (print_insn_rl78): Display the offset in [HL+0]
addresses.

Ändern Zusammenfassung

Diff

--- a/opcodes/rl78-decode.c
+++ b/opcodes/rl78-decode.c
@@ -369,14 +369,14 @@ rl78_decode_opcode (unsigned long pc AU,
369369 break;
370370 case 0x0e:
371371 {
372- /** 0000 1110 add %0, %e1 */
372+ /** 0000 1110 add %0, %ea1 */
373373 if (trace)
374374 {
375375 printf ("\033[33m%s\033[0m %02x\n",
376- "/** 0000 1110 add %0, %e1 */",
376+ "/** 0000 1110 add %0, %ea1 */",
377377 op[0]);
378378 }
379- SYNTAX("add %0, %e1");
379+ SYNTAX("add %0, %ea1");
380380 #line 209 "rl78-decode.opc"
381381 ID(add); DR(A); SM(HL, IMMU(1)); Fzac;
382382
@@ -568,14 +568,14 @@ rl78_decode_opcode (unsigned long pc AU,
568568 break;
569569 case 0x1e:
570570 {
571- /** 0001 1110 addc %0, %e1 */
571+ /** 0001 1110 addc %0, %ea1 */
572572 if (trace)
573573 {
574574 printf ("\033[33m%s\033[0m %02x\n",
575- "/** 0001 1110 addc %0, %e1 */",
575+ "/** 0001 1110 addc %0, %ea1 */",
576576 op[0]);
577577 }
578- SYNTAX("addc %0, %e1");
578+ SYNTAX("addc %0, %ea1");
579579 #line 244 "rl78-decode.opc"
580580 ID(addc); DR(A); SM(HL, IMMU(1)); Fzac;
581581
@@ -773,14 +773,14 @@ rl78_decode_opcode (unsigned long pc AU,
773773 break;
774774 case 0x2e:
775775 {
776- /** 0010 1110 sub %0, %e1 */
776+ /** 0010 1110 sub %0, %ea1 */
777777 if (trace)
778778 {
779779 printf ("\033[33m%s\033[0m %02x\n",
780- "/** 0010 1110 sub %0, %e1 */",
780+ "/** 0010 1110 sub %0, %ea1 */",
781781 op[0]);
782782 }
783- SYNTAX("sub %0, %e1");
783+ SYNTAX("sub %0, %ea1");
784784 #line 1127 "rl78-decode.opc"
785785 ID(sub); DR(A); SM(HL, IMMU(1)); Fzac;
786786
@@ -1339,14 +1339,14 @@ rl78_decode_opcode (unsigned long pc AU,
13391339 break;
13401340 case 0x3e:
13411341 {
1342- /** 0011 1110 subc %0, %e1 */
1342+ /** 0011 1110 subc %0, %ea1 */
13431343 if (trace)
13441344 {
13451345 printf ("\033[33m%s\033[0m %02x\n",
1346- "/** 0011 1110 subc %0, %e1 */",
1346+ "/** 0011 1110 subc %0, %ea1 */",
13471347 op[0]);
13481348 }
1349- SYNTAX("subc %0, %e1");
1349+ SYNTAX("subc %0, %ea1");
13501350 #line 1162 "rl78-decode.opc"
13511351 ID(subc); DR(A); SM(HL, IMMU(1)); Fzac;
13521352
@@ -1558,14 +1558,14 @@ rl78_decode_opcode (unsigned long pc AU,
15581558 break;
15591559 case 0x4e:
15601560 {
1561- /** 0100 1110 cmp %0, %e1 */
1561+ /** 0100 1110 cmp %0, %ea1 */
15621562 if (trace)
15631563 {
15641564 printf ("\033[33m%s\033[0m %02x\n",
1565- "/** 0100 1110 cmp %0, %e1 */",
1565+ "/** 0100 1110 cmp %0, %ea1 */",
15661566 op[0]);
15671567 }
1568- SYNTAX("cmp %0, %e1");
1568+ SYNTAX("cmp %0, %ea1");
15691569 #line 497 "rl78-decode.opc"
15701570 ID(cmp); DR(A); SM(HL, IMMU(1)); Fzac;
15711571
@@ -1705,14 +1705,14 @@ rl78_decode_opcode (unsigned long pc AU,
17051705 break;
17061706 case 0x5e:
17071707 {
1708- /** 0101 1110 and %0, %e1 */
1708+ /** 0101 1110 and %0, %ea1 */
17091709 if (trace)
17101710 {
17111711 printf ("\033[33m%s\033[0m %02x\n",
1712- "/** 0101 1110 and %0, %e1 */",
1712+ "/** 0101 1110 and %0, %ea1 */",
17131713 op[0]);
17141714 }
1715- SYNTAX("and %0, %e1");
1715+ SYNTAX("and %0, %ea1");
17161716 #line 293 "rl78-decode.opc"
17171717 ID(and); DR(A); SM(HL, IMMU(1)); Fz;
17181718
@@ -1812,14 +1812,14 @@ rl78_decode_opcode (unsigned long pc AU,
18121812 break;
18131813 case 0x09:
18141814 {
1815- /** 0110 0001 0000 1001 addw %0, %e1 */
1815+ /** 0110 0001 0000 1001 addw %0, %ea1 */
18161816 if (trace)
18171817 {
18181818 printf ("\033[33m%s\033[0m %02x %02x\n",
1819- "/** 0110 0001 0000 1001 addw %0, %e1 */",
1819+ "/** 0110 0001 0000 1001 addw %0, %ea1 */",
18201820 op[0], op[1]);
18211821 }
1822- SYNTAX("addw %0, %e1");
1822+ SYNTAX("addw %0, %ea1");
18231823 #line 267 "rl78-decode.opc"
18241824 ID(add); W(); DR(AX); SM(HL, IMMU(1)); Fzac;
18251825
@@ -1925,14 +1925,14 @@ rl78_decode_opcode (unsigned long pc AU,
19251925 break;
19261926 case 0x29:
19271927 {
1928- /** 0110 0001 0010 1001 subw %0, %e1 */
1928+ /** 0110 0001 0010 1001 subw %0, %ea1 */
19291929 if (trace)
19301930 {
19311931 printf ("\033[33m%s\033[0m %02x %02x\n",
1932- "/** 0110 0001 0010 1001 subw %0, %e1 */",
1932+ "/** 0110 0001 0010 1001 subw %0, %ea1 */",
19331933 op[0], op[1]);
19341934 }
1935- SYNTAX("subw %0, %e1");
1935+ SYNTAX("subw %0, %ea1");
19361936 #line 1185 "rl78-decode.opc"
19371937 ID(sub); W(); DR(AX); SM(HL, IMMU(1)); Fzac;
19381938
@@ -2038,14 +2038,14 @@ rl78_decode_opcode (unsigned long pc AU,
20382038 break;
20392039 case 0x49:
20402040 {
2041- /** 0110 0001 0100 1001 cmpw %0, %e1 */
2041+ /** 0110 0001 0100 1001 cmpw %0, %ea1 */
20422042 if (trace)
20432043 {
20442044 printf ("\033[33m%s\033[0m %02x %02x\n",
2045- "/** 0110 0001 0100 1001 cmpw %0, %e1 */",
2045+ "/** 0110 0001 0100 1001 cmpw %0, %ea1 */",
20462046 op[0], op[1]);
20472047 }
2048- SYNTAX("cmpw %0, %e1");
2048+ SYNTAX("cmpw %0, %ea1");
20492049 #line 533 "rl78-decode.opc"
20502050 ID(cmp); W(); DR(AX); SM(HL, IMMU(1)); Fzac;
20512051
@@ -2102,14 +2102,14 @@ rl78_decode_opcode (unsigned long pc AU,
21022102 break;
21032103 case 0x59:
21042104 {
2105- /** 0110 0001 0101 1001 inc %e0 */
2105+ /** 0110 0001 0101 1001 inc %ea0 */
21062106 if (trace)
21072107 {
21082108 printf ("\033[33m%s\033[0m %02x %02x\n",
2109- "/** 0110 0001 0101 1001 inc %e0 */",
2109+ "/** 0110 0001 0101 1001 inc %ea0 */",
21102110 op[0], op[1]);
21112111 }
2112- SYNTAX("inc %e0");
2112+ SYNTAX("inc %ea0");
21132113 #line 583 "rl78-decode.opc"
21142114 ID(add); DM(HL, IMMU(1)); SC(1); Fza;
21152115
@@ -2166,14 +2166,14 @@ rl78_decode_opcode (unsigned long pc AU,
21662166 break;
21672167 case 0x69:
21682168 {
2169- /** 0110 0001 0110 1001 dec %e0 */
2169+ /** 0110 0001 0110 1001 dec %ea0 */
21702170 if (trace)
21712171 {
21722172 printf ("\033[33m%s\033[0m %02x %02x\n",
2173- "/** 0110 0001 0110 1001 dec %e0 */",
2173+ "/** 0110 0001 0110 1001 dec %ea0 */",
21742174 op[0], op[1]);
21752175 }
2176- SYNTAX("dec %e0");
2176+ SYNTAX("dec %ea0");
21772177 #line 550 "rl78-decode.opc"
21782178 ID(sub); DM(HL, IMMU(1)); SC(1); Fza;
21792179
@@ -2230,14 +2230,14 @@ rl78_decode_opcode (unsigned long pc AU,
22302230 break;
22312231 case 0x79:
22322232 {
2233- /** 0110 0001 0111 1001 incw %e0 */
2233+ /** 0110 0001 0111 1001 incw %ea0 */
22342234 if (trace)
22352235 {
22362236 printf ("\033[33m%s\033[0m %02x %02x\n",
2237- "/** 0110 0001 0111 1001 incw %e0 */",
2237+ "/** 0110 0001 0111 1001 incw %ea0 */",
22382238 op[0], op[1]);
22392239 }
2240- SYNTAX("incw %e0");
2240+ SYNTAX("incw %ea0");
22412241 #line 597 "rl78-decode.opc"
22422242 ID(add); W(); DM(HL, IMMU(1)); SC(1);
22432243
@@ -2355,14 +2355,14 @@ rl78_decode_opcode (unsigned long pc AU,
23552355 break;
23562356 case 0x89:
23572357 {
2358- /** 0110 0001 1000 1001 decw %e0 */
2358+ /** 0110 0001 1000 1001 decw %ea0 */
23592359 if (trace)
23602360 {
23612361 printf ("\033[33m%s\033[0m %02x %02x\n",
2362- "/** 0110 0001 1000 1001 decw %e0 */",
2362+ "/** 0110 0001 1000 1001 decw %ea0 */",
23632363 op[0], op[1]);
23642364 }
2365- SYNTAX("decw %e0");
2365+ SYNTAX("decw %ea0");
23662366 #line 564 "rl78-decode.opc"
23672367 ID(sub); W(); DM(HL, IMMU(1)); SC(1);
23682368
@@ -2506,14 +2506,14 @@ rl78_decode_opcode (unsigned long pc AU,
25062506 break;
25072507 case 0xad:
25082508 {
2509- /** 0110 0001 1010 1101 xch %0, %e1 */
2509+ /** 0110 0001 1010 1101 xch %0, %ea1 */
25102510 if (trace)
25112511 {
25122512 printf ("\033[33m%s\033[0m %02x %02x\n",
2513- "/** 0110 0001 1010 1101 xch %0, %e1 */",
2513+ "/** 0110 0001 1010 1101 xch %0, %ea1 */",
25142514 op[0], op[1]);
25152515 }
2516- SYNTAX("xch %0, %e1");
2516+ SYNTAX("xch %0, %ea1");
25172517 #line 1217 "rl78-decode.opc"
25182518 ID(xch); DR(A); SM(HL, IMMU(1));
25192519
@@ -2758,14 +2758,14 @@ rl78_decode_opcode (unsigned long pc AU,
27582758 break;
27592759 case 0xce:
27602760 {
2761- /** 0110 0001 1100 1110 movs %e0, %1 */
2761+ /** 0110 0001 1100 1110 movs %ea0, %1 */
27622762 if (trace)
27632763 {
27642764 printf ("\033[33m%s\033[0m %02x %02x\n",
2765- "/** 0110 0001 1100 1110 movs %e0, %1 */",
2765+ "/** 0110 0001 1100 1110 movs %ea0, %1 */",
27662766 op[0], op[1]);
27672767 }
2768- SYNTAX("movs %e0, %1");
2768+ SYNTAX("movs %ea0, %1");
27692769 #line 810 "rl78-decode.opc"
27702770 ID(mov); DM(HL, IMMU(1)); SR(X); Fzc;
27712771
@@ -2920,14 +2920,14 @@ rl78_decode_opcode (unsigned long pc AU,
29202920 break;
29212921 case 0xde:
29222922 {
2923- /** 0110 0001 1101 1110 cmps %0, %e1 */
2923+ /** 0110 0001 1101 1110 cmps %0, %ea1 */
29242924 if (trace)
29252925 {
29262926 printf ("\033[33m%s\033[0m %02x %02x\n",
2927- "/** 0110 0001 1101 1110 cmps %0, %e1 */",
2927+ "/** 0110 0001 1101 1110 cmps %0, %ea1 */",
29282928 op[0], op[1]);
29292929 }
2930- SYNTAX("cmps %0, %e1");
2930+ SYNTAX("cmps %0, %ea1");
29312931 #line 525 "rl78-decode.opc"
29322932 ID(cmp); DR(X); SM(HL, IMMU(1)); Fzac;
29332933
@@ -3304,14 +3304,14 @@ rl78_decode_opcode (unsigned long pc AU,
33043304 break;
33053305 case 0x6e:
33063306 {
3307- /** 0110 1110 or %0, %e1 */
3307+ /** 0110 1110 or %0, %ea1 */
33083308 if (trace)
33093309 {
33103310 printf ("\033[33m%s\033[0m %02x\n",
3311- "/** 0110 1110 or %0, %e1 */",
3311+ "/** 0110 1110 or %0, %ea1 */",
33123312 op[0]);
33133313 }
3314- SYNTAX("or %0, %e1");
3314+ SYNTAX("or %0, %ea1");
33153315 #line 948 "rl78-decode.opc"
33163316 ID(or); DR(A); SM(HL, IMMU(1)); Fz;
33173317
@@ -4275,14 +4275,14 @@ rl78_decode_opcode (unsigned long pc AU,
42754275 break;
42764276 case 0x7e:
42774277 {
4278- /** 0111 1110 xor %0, %e1 */
4278+ /** 0111 1110 xor %0, %ea1 */
42794279 if (trace)
42804280 {
42814281 printf ("\033[33m%s\033[0m %02x\n",
4282- "/** 0111 1110 xor %0, %e1 */",
4282+ "/** 0111 1110 xor %0, %ea1 */",
42834283 op[0]);
42844284 }
4285- SYNTAX("xor %0, %e1");
4285+ SYNTAX("xor %0, %ea1");
42864286 #line 1252 "rl78-decode.opc"
42874287 ID(xor); DR(A); SM(HL, IMMU(1)); Fz;
42884288
@@ -4390,14 +4390,14 @@ rl78_decode_opcode (unsigned long pc AU,
43904390 break;
43914391 case 0x8c:
43924392 {
4393- /** 1000 1100 mov %0, %e1 */
4393+ /** 1000 1100 mov %0, %ea1 */
43944394 if (trace)
43954395 {
43964396 printf ("\033[33m%s\033[0m %02x\n",
4397- "/** 1000 1100 mov %0, %e1 */",
4397+ "/** 1000 1100 mov %0, %ea1 */",
43984398 op[0]);
43994399 }
4400- SYNTAX("mov %0, %e1");
4400+ SYNTAX("mov %0, %ea1");
44014401 #line 656 "rl78-decode.opc"
44024402 ID(mov); DR(A); SM(HL, IMMU(1));
44034403
@@ -4535,14 +4535,14 @@ rl78_decode_opcode (unsigned long pc AU,
45354535 break;
45364536 case 0x9c:
45374537 {
4538- /** 1001 1100 mov %e0, %1 */
4538+ /** 1001 1100 mov %ea0, %1 */
45394539 if (trace)
45404540 {
45414541 printf ("\033[33m%s\033[0m %02x\n",
4542- "/** 1001 1100 mov %e0, %1 */",
4542+ "/** 1001 1100 mov %ea0, %1 */",
45434543 op[0]);
45444544 }
4545- SYNTAX("mov %e0, %1");
4545+ SYNTAX("mov %ea0, %1");
45464546 #line 632 "rl78-decode.opc"
45474547 ID(mov); DM(HL, IMMU(1)); SR(A);
45484548
@@ -4742,14 +4742,14 @@ rl78_decode_opcode (unsigned long pc AU,
47424742 break;
47434743 case 0xac:
47444744 {
4745- /** 1010 1100 movw %0, %e1 */
4745+ /** 1010 1100 movw %0, %ea1 */
47464746 if (trace)
47474747 {
47484748 printf ("\033[33m%s\033[0m %02x\n",
4749- "/** 1010 1100 movw %0, %e1 */",
4749+ "/** 1010 1100 movw %0, %ea1 */",
47504750 op[0]);
47514751 }
4752- SYNTAX("movw %0, %e1");
4752+ SYNTAX("movw %0, %ea1");
47534753 #line 846 "rl78-decode.opc"
47544754 ID(mov); W(); DR(AX); SM(HL, IMMU(1));
47554755
@@ -4948,14 +4948,14 @@ rl78_decode_opcode (unsigned long pc AU,
49484948 break;
49494949 case 0xbc:
49504950 {
4951- /** 1011 1100 movw %e0, %1 */
4951+ /** 1011 1100 movw %ea0, %1 */
49524952 if (trace)
49534953 {
49544954 printf ("\033[33m%s\033[0m %02x\n",
4955- "/** 1011 1100 movw %e0, %1 */",
4955+ "/** 1011 1100 movw %ea0, %1 */",
49564956 op[0]);
49574957 }
4958- SYNTAX("movw %e0, %1");
4958+ SYNTAX("movw %ea0, %1");
49594959 #line 827 "rl78-decode.opc"
49604960 ID(mov); W(); DM(HL, IMMU(1)); SR(AX);
49614961
@@ -5112,14 +5112,14 @@ rl78_decode_opcode (unsigned long pc AU,
51125112 break;
51135113 case 0xcc:
51145114 {
5115- /** 1100 1100 mov %e0, #%1 */
5115+ /** 1100 1100 mov %ea0, #%1 */
51165116 if (trace)
51175117 {
51185118 printf ("\033[33m%s\033[0m %02x\n",
5119- "/** 1100 1100 mov %e0, #%1 */",
5119+ "/** 1100 1100 mov %ea0, #%1 */",
51205120 op[0]);
51215121 }
5122- SYNTAX("mov %e0, #%1");
5122+ SYNTAX("mov %ea0, #%1");
51235123 #line 629 "rl78-decode.opc"
51245124 ID(mov); DM(HL, IMMU(1)); SC(IMMU(1));
51255125
--- a/opcodes/rl78-decode.opc
+++ b/opcodes/rl78-decode.opc
@@ -205,7 +205,7 @@ rl78_decode_opcode (unsigned long pc AU,
205205 /** 0110 0001 1000 000 add %0, %e1 */
206206 ID(add); DR(A); SM2(HL, B, 0); Fzac;
207207
208-/** 0000 1110 add %0, %e1 */
208+/** 0000 1110 add %0, %ea1 */
209209 ID(add); DR(A); SM(HL, IMMU(1)); Fzac;
210210
211211 /** 0110 0001 1000 0010 add %0, %e1 */
@@ -240,7 +240,7 @@ rl78_decode_opcode (unsigned long pc AU,
240240 /** 0110 0001 1001 0010 addc %0, %e1 */
241241 ID(addc); DR(A); SM2(HL, C, 0); Fzac;
242242
243-/** 0001 1110 addc %0, %e1 */
243+/** 0001 1110 addc %0, %ea1 */
244244 ID(addc); DR(A); SM(HL, IMMU(1)); Fzac;
245245
246246 /** 0001 1100 addc %0, #%1 */
@@ -263,7 +263,7 @@ rl78_decode_opcode (unsigned long pc AU,
263263 /** 0000 0010 addw %0, %e!1 */
264264 ID(add); W(); DR(AX); SM(None, IMMU(2)); Fzac;
265265
266-/** 0110 0001 0000 1001 addw %0, %e1 */
266+/** 0110 0001 0000 1001 addw %0, %ea1 */
267267 ID(add); W(); DR(AX); SM(HL, IMMU(1)); Fzac;
268268
269269 /** 0000 0100 addw %0, #%1 */
@@ -289,7 +289,7 @@ rl78_decode_opcode (unsigned long pc AU,
289289 /** 0110 0001 1101 0000 and %0, %e1 */
290290 ID(and); DR(A); SM2(HL, B, 0); Fz;
291291
292-/** 0101 1110 and %0, %e1 */
292+/** 0101 1110 and %0, %ea1 */
293293 ID(and); DR(A); SM(HL, IMMU(1)); Fz;
294294
295295 /** 0110 0001 1101 0010 and %0, %e1 */
@@ -493,7 +493,7 @@ rl78_decode_opcode (unsigned long pc AU,
493493 /** 0110 0001 1100 0010 cmp %0, %e1 */
494494 ID(cmp); DR(A); SM2(HL, C, 0); Fzac;
495495
496-/** 0100 1110 cmp %0, %e1 */
496+/** 0100 1110 cmp %0, %ea1 */
497497 ID(cmp); DR(A); SM(HL, IMMU(1)); Fzac;
498498
499499 /** 0100 1100 cmp %0, #%1 */
@@ -521,7 +521,7 @@ rl78_decode_opcode (unsigned long pc AU,
521521
522522 /*----------------------------------------------------------------------*/
523523
524-/** 0110 0001 1101 1110 cmps %0, %e1 */
524+/** 0110 0001 1101 1110 cmps %0, %ea1 */
525525 ID(cmp); DR(X); SM(HL, IMMU(1)); Fzac;
526526
527527 /*----------------------------------------------------------------------*/
@@ -529,7 +529,7 @@ rl78_decode_opcode (unsigned long pc AU,
529529 /** 0100 0010 cmpw %0, %e!1 */
530530 ID(cmp); W(); DR(AX); SM(None, IMMU(2)); Fzac;
531531
532-/** 0110 0001 0100 1001 cmpw %0, %e1 */
532+/** 0110 0001 0100 1001 cmpw %0, %ea1 */
533533 ID(cmp); W(); DR(AX); SM(HL, IMMU(1)); Fzac;
534534
535535 /** 0100 0100 cmpw %0, #%1 */
@@ -546,7 +546,7 @@ rl78_decode_opcode (unsigned long pc AU,
546546 /** 1011 0000 dec %e!0 */
547547 ID(sub); DM(None, IMMU(2)); SC(1); Fza;
548548
549-/** 0110 0001 0110 1001 dec %e0 */
549+/** 0110 0001 0110 1001 dec %ea0 */
550550 ID(sub); DM(HL, IMMU(1)); SC(1); Fza;
551551
552552 /** 1001 0reg dec %0 */
@@ -560,7 +560,7 @@ rl78_decode_opcode (unsigned long pc AU,
560560 /** 1011 0010 decw %e!0 */
561561 ID(sub); W(); DM(None, IMMU(2)); SC(1);
562562
563-/** 0110 0001 1000 1001 decw %e0 */
563+/** 0110 0001 1000 1001 decw %ea0 */
564564 ID(sub); W(); DM(HL, IMMU(1)); SC(1);
565565
566566 /** 1011 0rg1 decw %0 */
@@ -579,7 +579,7 @@ rl78_decode_opcode (unsigned long pc AU,
579579 /** 1010 0000 inc %e!0 */
580580 ID(add); DM(None, IMMU(2)); SC(1); Fza;
581581
582-/** 0110 0001 0101 1001 inc %e0 */
582+/** 0110 0001 0101 1001 inc %ea0 */
583583 ID(add); DM(HL, IMMU(1)); SC(1); Fza;
584584
585585 /** 1000 0reg inc %0 */
@@ -593,7 +593,7 @@ rl78_decode_opcode (unsigned long pc AU,
593593 /** 1010 0010 incw %e!0 */
594594 ID(add); W(); DM(None, IMMU(2)); SC(1);
595595
596-/** 0110 0001 0111 1001 incw %e0 */
596+/** 0110 0001 0111 1001 incw %ea0 */
597597 ID(add); W(); DM(HL, IMMU(1)); SC(1);
598598
599599 /** 1010 0rg1 incw %0 */
@@ -625,10 +625,10 @@ rl78_decode_opcode (unsigned long pc AU,
625625 /** 0110 0001 1101 1001 mov %e0, %1 */
626626 ID(mov); DM2(HL, B, 0); SR(A);
627627
628-/** 1100 1100 mov %e0, #%1 */
628+/** 1100 1100 mov %ea0, #%1 */
629629 ID(mov); DM(HL, IMMU(1)); SC(IMMU(1));
630630
631-/** 1001 1100 mov %e0, %1 */
631+/** 1001 1100 mov %ea0, %1 */
632632 ID(mov); DM(HL, IMMU(1)); SR(A);
633633
634634 /** 0110 0001 1111 1001 mov %e0, %1 */
@@ -652,7 +652,7 @@ rl78_decode_opcode (unsigned long pc AU,
652652 /** 1000 1011 mov %0, %e1 */
653653 ID(mov); DR(A); SM(HL, 0);
654654
655-/** 1000 1100 mov %0, %e1 */
655+/** 1000 1100 mov %0, %ea1 */
656656 ID(mov); DR(A); SM(HL, IMMU(1));
657657
658658 /** 0110 0001 1100 1001 mov %0, %e1 */
@@ -806,7 +806,7 @@ rl78_decode_opcode (unsigned long pc AU,
806806
807807 /*----------------------------------------------------------------------*/
808808
809-/** 0110 0001 1100 1110 movs %e0, %1 */
809+/** 0110 0001 1100 1110 movs %ea0, %1 */
810810 ID(mov); DM(HL, IMMU(1)); SR(X); Fzc;
811811
812812 /*----------------------------------------------------------------------*/
@@ -823,7 +823,7 @@ rl78_decode_opcode (unsigned long pc AU,
823823 /** 1011 1011 movw %e0, %1 */
824824 ID(mov); W(); DM(HL, 0); SR(AX);
825825
826-/** 1011 1100 movw %e0, %1 */
826+/** 1011 1100 movw %ea0, %1 */
827827 ID(mov); W(); DM(HL, IMMU(1)); SR(AX);
828828
829829 /** 1011 1000 movw %0, %1 */
@@ -842,7 +842,7 @@ rl78_decode_opcode (unsigned long pc AU,
842842 /** 1010 1011 movw %0, %e1 */
843843 ID(mov); W(); DR(AX); SM(HL, 0);
844844
845-/** 1010 1100 movw %0, %e1 */
845+/** 1010 1100 movw %0, %ea1 */
846846 ID(mov); W(); DR(AX); SM(HL, IMMU(1));
847847
848848 /** 1010 1000 movw %0, %1 */
@@ -944,7 +944,7 @@ rl78_decode_opcode (unsigned long pc AU,
944944 /** 0110 0001 1110 0000 or %0, %e1 */
945945 ID(or); DR(A); SM2(HL, B, 0); Fz;
946946
947-/** 0110 1110 or %0, %e1 */
947+/** 0110 1110 or %0, %ea1 */
948948 ID(or); DR(A); SM(HL, IMMU(1)); Fz;
949949
950950 /** 0110 0001 1110 0010 or %0, %e1 */
@@ -1123,7 +1123,7 @@ rl78_decode_opcode (unsigned long pc AU,
11231123 /** 0110 0001 1010 000 sub %0, %e1 */
11241124 ID(sub); DR(A); SM2(HL, B, 0); Fzac;
11251125
1126-/** 0010 1110 sub %0, %e1 */
1126+/** 0010 1110 sub %0, %ea1 */
11271127 ID(sub); DR(A); SM(HL, IMMU(1)); Fzac;
11281128
11291129 /** 0110 0001 1010 0010 sub %0, %e1 */
@@ -1158,7 +1158,7 @@ rl78_decode_opcode (unsigned long pc AU,
11581158 /** 0110 0001 1011 0010 subc %0, %e1 */
11591159 ID(subc); DR(A); SM2(HL, C, 0); Fzac;
11601160
1161-/** 0011 1110 subc %0, %e1 */
1161+/** 0011 1110 subc %0, %ea1 */
11621162 ID(subc); DR(A); SM(HL, IMMU(1)); Fzac;
11631163
11641164 /** 0011 1100 subc %0, #%1 */
@@ -1181,7 +1181,7 @@ rl78_decode_opcode (unsigned long pc AU,
11811181 /** 0010 0010 subw %0, %e!1 */
11821182 ID(sub); W(); DR(AX); SM(None, IMMU(2)); Fzac;
11831183
1184-/** 0110 0001 0010 1001 subw %0, %e1 */
1184+/** 0110 0001 0010 1001 subw %0, %ea1 */
11851185 ID(sub); W(); DR(AX); SM(HL, IMMU(1)); Fzac;
11861186
11871187 /** 0010 0100 subw %0, #%1 */
@@ -1213,7 +1213,7 @@ rl78_decode_opcode (unsigned long pc AU,
12131213 /** 0110 0001 1011 1001 xch %0, %e1 */
12141214 ID(xch); DR(A); SM2(HL, B, 0);
12151215
1216-/** 0110 0001 1010 1101 xch %0, %e1 */
1216+/** 0110 0001 1010 1101 xch %0, %ea1 */
12171217 ID(xch); DR(A); SM(HL, IMMU(1));
12181218
12191219 /** 0110 0001 1010 1001 xch %0, %e1 */
@@ -1248,7 +1248,7 @@ rl78_decode_opcode (unsigned long pc AU,
12481248 /** 0110 0001 1111 0000 xor %0, %e1 */
12491249 ID(xor); DR(A); SM2(HL, B, 0); Fz;
12501250
1251-/** 0111 1110 xor %0, %e1 */
1251+/** 0111 1110 xor %0, %ea1 */
12521252 ID(xor); DR(A); SM(HL, IMMU(1)); Fz;
12531253
12541254 /** 0110 0001 1111 0010 xor %0, %e1 */
--- a/opcodes/rl78-dis.c
+++ b/opcodes/rl78-dis.c
@@ -284,7 +284,7 @@ print_insn_rl78 (bfd_vma addr, disassemble_info * dis)
284284 PR (PS, "[%s", register_names[oper->reg]);
285285 if (oper->reg2 != RL78_Reg_None)
286286 PR (PS, "+%s", register_names[oper->reg2]);
287- if (oper->addend)
287+ if (oper->addend || do_addr)
288288 PR (PS, "+%d", oper->addend);
289289 PC (']');
290290 break;