Mercurial > hg > index.cgi
comparison lwasm/insn_indexed.c @ 138:57c0210d578c
Fix error with postbyte for constant offset from W modes
author | lost@l-w.ca |
---|---|
date | Fri, 19 Aug 2011 17:46:19 -0600 |
parents | f2f3a4b0a25e |
children | da891a357d97 |
comparison
equal
deleted
inserted
replaced
137:b62f5389b859 | 138:57c0210d578c |
---|---|
254 return; | 254 return; |
255 } | 255 } |
256 | 256 |
257 if (l -> lint == 2) | 257 if (l -> lint == 2) |
258 { | 258 { |
259 l -> pb = indir ? 0xb0 : 0xcf; | 259 l -> pb = indir ? 0xb0 : 0xaf; |
260 l -> lint = 2; | 260 l -> lint = 2; |
261 return; | 261 return; |
262 } | 262 } |
263 | 263 |
264 l -> pb = (0x80 * indir) | rn; | 264 l -> pb = (0x80 * indir) | rn; |
384 case 3: | 384 case 3: |
385 pb = 0x89 | ((l -> pb & 0x03) << 5) | ((l -> pb & 0x80) ? 0x10 : 0); | 385 pb = 0x89 | ((l -> pb & 0x03) << 5) | ((l -> pb & 0x80) ? 0x10 : 0); |
386 break; | 386 break; |
387 | 387 |
388 case 4: // W | 388 case 4: // W |
389 pb = (l -> pb & 0x80) ? 0xD0 : 0xCF; | 389 pb = (l -> pb & 0x80) ? 0xB0 : 0xAF; |
390 break; | 390 break; |
391 | 391 |
392 case 5: // PCR | 392 case 5: // PCR |
393 case 6: // PC | 393 case 6: // PC |
394 pb = (l -> pb & 0x80) ? 0x9D : 0x8D; | 394 pb = (l -> pb & 0x80) ? 0x9D : 0x8D; |
420 pb = (l -> pb & 0x80) ? 0x90 : 0x8F; | 420 pb = (l -> pb & 0x80) ? 0x90 : 0x8F; |
421 l -> lint = 0; | 421 l -> lint = 0; |
422 } | 422 } |
423 else | 423 else |
424 { | 424 { |
425 pb = (l -> pb & 0x80) ? 0xD0 : 0xCF; | 425 pb = (l -> pb & 0x80) ? 0xB0 : 0xAF; |
426 l -> lint = 2; | 426 l -> lint = 2; |
427 } | 427 } |
428 break; | 428 break; |
429 | 429 |
430 case 5: // PCR | 430 case 5: // PCR |
488 case 3: | 488 case 3: |
489 pb = 0x89 | (l -> pb & 0x03) << 5 | ((l -> pb & 0x80) ? 0x10 : 0); | 489 pb = 0x89 | (l -> pb & 0x03) << 5 | ((l -> pb & 0x80) ? 0x10 : 0); |
490 break; | 490 break; |
491 | 491 |
492 case 4: // W | 492 case 4: // W |
493 pb = (l -> pb & 0x80) ? 0xD0 : 0xCF; | 493 pb = (l -> pb & 0x80) ? 0xB0 : 0xAF; |
494 break; | 494 break; |
495 | 495 |
496 case 5: // PCR | 496 case 5: // PCR |
497 case 6: // PC | 497 case 6: // PC |
498 pb = (l -> pb & 0x80) ? 0x9D : 0x8D; | 498 pb = (l -> pb & 0x80) ? 0x9D : 0x8D; |
522 pb = (l -> pb & 0x80) ? 0x90 : 0x8F; | 522 pb = (l -> pb & 0x80) ? 0x90 : 0x8F; |
523 l -> lint = 0; | 523 l -> lint = 0; |
524 } | 524 } |
525 else | 525 else |
526 { | 526 { |
527 pb = (l -> pb & 0x80) ? 0xD0 : 0xCF; | 527 pb = (l -> pb & 0x80) ? 0xB0 : 0xAF; |
528 l -> lint = 2; | 528 l -> lint = 2; |
529 } | 529 } |
530 break; | 530 break; |
531 | 531 |
532 case 5: // PCR | 532 case 5: // PCR |