comparison lwasm/insn_indexed.c @ 415:2d7255509130

Fixed error with indexed posbytes
author lost@l-w.ca
date Tue, 10 Aug 2010 21:59:49 -0600
parents eacdae8a1575
children 7b8d89435f30
comparison
equal deleted inserted replaced
414:010fb62b9f18 415:2d7255509130
325 { 325 {
326 case 0: 326 case 0:
327 case 1: 327 case 1:
328 case 2: 328 case 2:
329 case 3: 329 case 3:
330 pb = 0x89 | (l -> pb & 0x03) | (0x10 * (l -> pb & 0x80)); 330 pb = 0x89 | ((l -> pb & 0x03) << 5) | (0x10 * (l -> pb & 0x80));
331 break; 331 break;
332 332
333 case 4: // W 333 case 4: // W
334 pb = (l -> pb & 0x80) ? 0xD0 : 0xCF; 334 pb = (l -> pb & 0x80) ? 0xD0 : 0xCF;
335 break; 335 break;
353 { 353 {
354 case 0: 354 case 0:
355 case 1: 355 case 1:
356 case 2: 356 case 2:
357 case 3: 357 case 3:
358 pb = 0x88 | (l -> pb & 0x03) | (0x10 * (l -> pb & 0x80)); 358 pb = 0x88 | ((l -> pb & 0x03) << 5) | (0x10 * (l -> pb & 0x80));
359 break; 359 break;
360 360
361 case 4: // W 361 case 4: // W
362 // use 16 bit because W doesn't have 8 bit, unless 0 362 // use 16 bit because W doesn't have 8 bit, unless 0
363 if (v == 0 && !(CURPRAGMA(l, PRAGMA_NOINDEX0TONONE) || l -> pb & 0x40)) 363 if (v == 0 && !(CURPRAGMA(l, PRAGMA_NOINDEX0TONONE) || l -> pb & 0x40))
412 { 412 {
413 case 0: 413 case 0:
414 case 1: 414 case 1:
415 case 2: 415 case 2:
416 case 3: 416 case 3:
417 pb = 0x89 | (l -> pb & 0x03) | (0x10 * (l -> pb & 0x80)); 417 pb = 0x89 | (l -> pb & 0x03) << 5 | (0x10 * (l -> pb & 0x80));
418 break; 418 break;
419 419
420 case 4: // W 420 case 4: // W
421 pb = (l -> pb & 0x80) ? 0xD0 : 0xCF; 421 pb = (l -> pb & 0x80) ? 0xD0 : 0xCF;
422 break; 422 break;
438 { 438 {
439 case 0: 439 case 0:
440 case 1: 440 case 1:
441 case 2: 441 case 2:
442 case 3: 442 case 3:
443 pb = 0x88 | (l -> pb & 0x03) | (0x10 * (l -> pb & 0x80)); 443 pb = 0x88 | (l -> pb & 0x03) << 5 | (0x10 * (l -> pb & 0x80));
444 break; 444 break;
445 445
446 case 4: // W 446 case 4: // W
447 // use 16 bit because W doesn't have 8 bit, unless 0 447 // use 16 bit because W doesn't have 8 bit, unless 0
448 if (v == 0 && !(CURPRAGMA(l, PRAGMA_NOINDEX0TONONE) || l -> pb & 0x40)) 448 if (v == 0 && !(CURPRAGMA(l, PRAGMA_NOINDEX0TONONE) || l -> pb & 0x40))