ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/uae_cpu/readcpu.cpp
(Generate patch)

Comparing BasiliskII/src/uae_cpu/readcpu.cpp (file contents):
Revision 1.3 by gbeauche, 2001-03-19T13:11:40Z vs.
Revision 1.4 by gbeauche, 2001-08-19T16:21:01Z

# Line 339 | Line 339 | static void build_insn (int insn)
339           case 'A':
340              srcmode = Areg;
341              switch (opcstr[pos++]) {
342                 case 'l': srcmode = absl; break;
342               case 'r': srcreg = bitval[bitr]; srcgather = 1; srcpos = bitpos[bitr]; break;
343               case 'R': srcreg = bitval[bitR]; srcgather = 1; srcpos = bitpos[bitR]; break;
344               default: abort();
# Line 349 | Line 348 | static void build_insn (int insn)
348               case 'P': srcmode = Aipi; pos++; break;
349              }
350              break;
351 +        case 'L':
352 +                srcmode = absl;
353 +                break;
354           case '#':
355              switch (opcstr[pos++]) {
356               case 'z': srcmode = imm; break;
# Line 395 | Line 397 | static void build_insn (int insn)
397                  }
398                  break;
399                   case 'p': srcmode = immi; srcreg = bitval[bitp];
400 <                if (CPU_EMU_SIZE < 5) { // gb-- what is CPU_EMU_SIZE used for ??
400 >                if (CPU_EMU_SIZE < 5) {
401                          /* 0..3 */
402                          srcgather = 1;
403                          srctype = 7;
# Line 526 | Line 528 | static void build_insn (int insn)
528               case 'R': destreg = bitval[bitR]; dstgather = 1; dstpos = bitpos[bitR]; break;
529               default: abort();
530              }
531 +                if (dstpos < 0 || dstpos >= 32)
532 +                        abort();
533              break;
534           case 'A':
535              destmode = Areg;
536              switch (opcstr[pos++]) {
533                 case 'l': destmode = absl; break;
537               case 'r': destreg = bitval[bitr]; dstgather = 1; dstpos = bitpos[bitr]; break;
538               case 'R': destreg = bitval[bitR]; dstgather = 1; dstpos = bitpos[bitR]; break;
539 +                case 'x': destreg = 0; dstgather = 0; dstpos = 0; break;
540               default: abort();
541              }
542 +                if (dstpos < 0 || dstpos >= 32)
543 +                        abort();
544              switch (opcstr[pos]) {
545               case 'p': destmode = Apdi; pos++; break;
546               case 'P': destmode = Aipi; pos++; break;
547              }
548              break;
549 +        case 'L':
550 +                destmode = absl;
551 +                break;
552           case '#':
553              switch (opcstr[pos++]) {
554               case 'z': destmode = imm; break;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines