1
0
mirror of https://github.com/upx/upx synced 2025-09-28 19:06:07 +08:00

dos/exe: optimize M_PIA_small.

This commit is contained in:
Markus F.X.J. Oberhumer 2007-03-04 15:20:09 +01:00
parent 66418ffc8c
commit 1377b54b9e
2 changed files with 26 additions and 26 deletions

View File

@ -29,8 +29,8 @@
#define STUB_I086_DOS16_EXE_SIZE 29811
#define STUB_I086_DOS16_EXE_ADLER32 0x228cea46
#define STUB_I086_DOS16_EXE_CRC32 0x94573977
#define STUB_I086_DOS16_EXE_ADLER32 0x7a31e9e4
#define STUB_I086_DOS16_EXE_CRC32 0x9633192c
unsigned char stub_i086_dos16_exe[29811] = {
127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 0 */
@ -103,7 +103,7 @@ unsigned char stub_i086_dos16_exe[29811] = {
19,137,211,209,227, 3, 94,222,199, 7, 0, 4,131,194, 1,131, /* 0x 430 */
208, 0,235,227,139, 94, 10,137, 94,244,139, 70, 12,137, 70,246, /* 0x 440 */
137,216,139, 86, 12,139, 94, 14,139, 78, 16, 1,216,131,209, 0, /* 0x 450 */
137,203,177, 12,211,227, 1,218,137, 70,226,137, 86,228, 49,192, /* 0x 460 */
136,203,177, 4,210,227, 0,222,137, 70,226,137, 86,228, 49,192, /* 0x 460 */
137, 70,250,137, 70,252,190,255,255,137,247,137, 70,184,235, 64, /* 0x 470 */
196, 94,244, 38,138, 7,136, 70,166,198, 70,167, 0,139, 70,250, /* 0x 480 */
139, 86,252,136,214,136,226,136,196, 48,192,139, 94,166, 9,195, /* 0x 490 */
@ -131,8 +131,8 @@ unsigned char stub_i086_dos16_exe[29811] = {
193,137,208,247,227,145,247,227, 1,202,209,224,209,210,139, 86, /* 0x 5f0 */
222,129,194,108, 14, 1,194,137, 86,242,131,126,240, 7,125, 3, /* 0x 600 */
233, 57, 1,139, 94,236, 43, 94,154,139, 78,238, 27, 78,156,139, /* 0x 610 */
70, 20,139, 86, 22, 1,216,131,209, 0,137,203,177, 12,211,227, /* 0x 620 */
1,218,137,195,142,194, 38,138, 7, 48,228,137, 70,180,209,102, /* 0x 630 */
70, 20,139, 86, 22, 1,216,131,209, 0,136,203,177, 4,210,227, /* 0x 620 */
0,222,137,195,142,194, 38,138, 7, 48,228,137, 70,180,209,102, /* 0x 630 */
180,139, 70,180, 48,192,128,228, 1,137, 70,190,209,224,139, 86, /* 0x 640 */
242,128,198, 2, 1,194,139, 70,230,209,224, 1,194,137, 86,210, /* 0x 650 */
129,255, 0, 1,115, 87,139, 70,244,139, 86,246,139, 94,226,139, /* 0x 660 */
@ -166,8 +166,8 @@ unsigned char stub_i086_dos16_exe[29811] = {
250, 25, 86,252,177, 5,139, 94,216,139, 7,211,232, 41, 7,139, /* 0x 820 */
70,230, 1,192, 64,137, 70,230,233, 17,255,138, 70,230,136, 70, /* 0x 830 */
254,139, 94,236,139, 78,238,131, 70,236, 1,131, 86,238, 0,139, /* 0x 840 */
70, 20,139, 86, 22, 1,216,131,209, 0,137,203,177, 12,211,227, /* 0x 850 */
1,218,137,195,142,194,138, 70,230, 38,136, 7,139, 70,240,131, /* 0x 860 */
70, 20,139, 86, 22, 1,216,131,209, 0,136,203,177, 4,210,227, /* 0x 850 */
0,222,137,195,142,194,138, 70,230, 38,136, 7,139, 70,240,131, /* 0x 860 */
248, 4,125, 8, 49,192,137, 70,240,233, 94,252,131,248, 10,125, /* 0x 870 */
7,131,110,240, 3,233, 82,252,131,110,240, 6,233, 75,252, 43, /* 0x 880 */
118,248, 25,215,139, 70,248, 41, 70,250, 25, 86,252,177, 5,139, /* 0x 890 */
@ -218,10 +218,10 @@ unsigned char stub_i086_dos16_exe[29811] = {
238, 11, 70,236,117, 3,233,107,249,131,126,240, 7,125, 7,184, /* 0x b60 */
9, 0,235, 5,235, 93,184, 11, 0,137, 70,240,139, 94,236, 43, /* 0x b70 */
94,154,139, 78,238, 27, 78,156,139, 70, 20,139, 86, 22, 1,216, /* 0x b80 */
131,209, 0,137,203,177, 12,211,227, 1,218,137,195,142,194, 38, /* 0x b90 */
131,209, 0,136,203,177, 4,210,227, 0,222,137,195,142,194, 38, /* 0x b90 */
138, 7,136, 70,254,139, 94,236,139, 78,238,131, 70,236, 1,131, /* 0x ba0 */
86,238, 0,139, 70, 20,139, 86, 22, 1,216,131,209, 0,137,203, /* 0x bb0 */
177, 12,211,227, 1,218,137,195,142,194,138, 70,254, 38,136, 7, /* 0x bc0 */
86,238, 0,139, 70, 20,139, 86, 22, 1,216,131,209, 0,136,203, /* 0x bb0 */
177, 4,210,227, 0,222,137,195,142,194,138, 70,254, 38,136, 7, /* 0x bc0 */
233, 7,249, 43,118,248, 25,215,139, 70,248, 41, 70,250, 25, 86, /* 0x bd0 */
252,177, 5,139, 94,242,139, 7,211,232, 41, 7,233, 10, 2, 43, /* 0x be0 */
118,248, 27,126,162,139, 70,248, 41, 70,250,139, 70,162, 25, 70, /* 0x bf0 */
@ -359,11 +359,11 @@ unsigned char stub_i086_dos16_exe[29811] = {
139, 70,156, 11, 70,154,117, 3,233,141, 0,131, 70,232, 2,139, /* 0x1430 */
70,156, 59, 70,238,118, 3,233,138,240,117, 8,139, 70,154, 59, /* 0x1440 */
70,236,119,243,139, 94,236, 43, 94,154,139, 78,238, 27, 78,156, /* 0x1450 */
139, 70, 20,139, 86, 22, 1,216,131,209, 0,137,203,177, 12,211, /* 0x1460 */
227, 1,218,137,195,142,194, 38,138, 7,136, 70,254,139, 94,236, /* 0x1470 */
139, 70, 20,139, 86, 22, 1,216,131,209, 0,136,203,177, 4,210, /* 0x1460 */
227, 0,222,137,195,142,194, 38,138, 7,136, 70,254,139, 94,236, /* 0x1470 */
139, 78,238,255, 78,232,131, 70,236, 1,131, 86,238, 0,139, 70, /* 0x1480 */
20,139, 86, 22, 1,216,131,209, 0,137,203,177, 12,211,227, 1, /* 0x1490 */
218,137,195,142,194,138, 70,254, 38,136, 7,131,126,232, 0,117, /* 0x14a0 */
20,139, 86, 22, 1,216,131,209, 0,136,203,177, 4,210,227, 0, /* 0x1490 */
222,137,195,142,194,138, 70,254, 38,136, 7,131,126,232, 0,117, /* 0x14a0 */
3,233, 38,240,139, 70,238, 59, 70, 26,114,152,117,243,139, 70, /* 0x14b0 */
236, 59, 70, 24,114,142,235,233,129,255, 0, 1,115, 41,139, 70, /* 0x14c0 */
244,139, 86,246,139, 94,226,139, 78,228, 57,216,117, 7, 57,202, /* 0x14d0 */
@ -385,7 +385,7 @@ unsigned char stub_i086_dos16_exe[29811] = {
23, 57,242,115, 19,137,211,209,227, 3, 94,222,199, 7, 0, 4, /* 0x15d0 */
131,194, 1,131,208, 0,235,227,139, 94, 10,137, 94,244,139, 70, /* 0x15e0 */
12,137, 70,246,137,216,139, 86, 12,139, 94, 14,139, 78, 16, 1, /* 0x15f0 */
216,131,209, 0,137,203,177, 12,211,227, 1,218,137, 70,226,137, /* 0x1600 */
216,131,209, 0,136,203,177, 4,210,227, 0,222,137, 70,226,137, /* 0x1600 */
86,228, 49,192,137, 70,250,137, 70,252,190,255,255,137,247,137, /* 0x1610 */
70,184,235, 64,196, 94,244, 38,138, 7,136, 70,166,198, 70,167, /* 0x1620 */
0,139, 70,250,139, 86,252,136,214,136,226,136,196, 48,192,139, /* 0x1630 */
@ -413,8 +413,8 @@ unsigned char stub_i086_dos16_exe[29811] = {
187, 0, 3,137,193,137,208,247,227,145,247,227, 1,202,209,224, /* 0x1790 */
209,210,139, 86,222,129,194,108, 14, 1,194,137, 86,242,131,126, /* 0x17a0 */
240, 7,125, 3,233, 57, 1,139, 94,236, 43, 94,154,139, 78,238, /* 0x17b0 */
27, 78,156,139, 70, 20,139, 86, 22, 1,216,131,209, 0,137,203, /* 0x17c0 */
177, 12,211,227, 1,218,137,195,142,194, 38,138, 7, 48,228,137, /* 0x17d0 */
27, 78,156,139, 70, 20,139, 86, 22, 1,216,131,209, 0,136,203, /* 0x17c0 */
177, 4,210,227, 0,222,137,195,142,194, 38,138, 7, 48,228,137, /* 0x17d0 */
70,180,209,102,180,139, 70,180, 48,192,128,228, 1,137, 70,190, /* 0x17e0 */
209,224,139, 86,242,128,198, 2, 1,194,139, 70,230,209,224, 1, /* 0x17f0 */
194,137, 86,210,129,255, 0, 1,115, 87,139, 70,244,139, 86,246, /* 0x1800 */
@ -448,8 +448,8 @@ unsigned char stub_i086_dos16_exe[29811] = {
70,248, 41, 70,250, 25, 86,252,177, 5,139, 94,216,139, 7,211, /* 0x19c0 */
232, 41, 7,139, 70,230, 1,192, 64,137, 70,230,233, 17,255,138, /* 0x19d0 */
70,230,136, 70,254,139, 94,236,139, 78,238,131, 70,236, 1,131, /* 0x19e0 */
86,238, 0,139, 70, 20,139, 86, 22, 1,216,131,209, 0,137,203, /* 0x19f0 */
177, 12,211,227, 1,218,137,195,142,194,138, 70,230, 38,136, 7, /* 0x1a00 */
86,238, 0,139, 70, 20,139, 86, 22, 1,216,131,209, 0,136,203, /* 0x19f0 */
177, 4,210,227, 0,222,137,195,142,194,138, 70,230, 38,136, 7, /* 0x1a00 */
139, 70,240,131,248, 4,125, 8, 49,192,137, 70,240,233, 94,252, /* 0x1a10 */
131,248, 10,125, 7,131,110,240, 3,233, 82,252,131,110,240, 6, /* 0x1a20 */
233, 75,252, 43,118,248, 25,215,139, 70,248, 41, 70,250, 25, 86, /* 0x1a30 */
@ -500,10 +500,10 @@ unsigned char stub_i086_dos16_exe[29811] = {
1, 7,139, 70,238, 11, 70,236,117, 3,233,107,249,131,126,240, /* 0x1d00 */
7,125, 7,184, 9, 0,235, 5,235, 93,184, 11, 0,137, 70,240, /* 0x1d10 */
139, 94,236, 43, 94,154,139, 78,238, 27, 78,156,139, 70, 20,139, /* 0x1d20 */
86, 22, 1,216,131,209, 0,137,203,177, 12,211,227, 1,218,137, /* 0x1d30 */
86, 22, 1,216,131,209, 0,136,203,177, 4,210,227, 0,222,137, /* 0x1d30 */
195,142,194, 38,138, 7,136, 70,254,139, 94,236,139, 78,238,131, /* 0x1d40 */
70,236, 1,131, 86,238, 0,139, 70, 20,139, 86, 22, 1,216,131, /* 0x1d50 */
209, 0,137,203,177, 12,211,227, 1,218,137,195,142,194,138, 70, /* 0x1d60 */
209, 0,136,203,177, 4,210,227, 0,222,137,195,142,194,138, 70, /* 0x1d60 */
254, 38,136, 7,233, 7,249, 43,118,248, 25,215,139, 70,248, 41, /* 0x1d70 */
70,250, 25, 86,252,177, 5,139, 94,242,139, 7,211,232, 41, 7, /* 0x1d80 */
233, 10, 2, 43,118,248, 27,126,162,139, 70,248, 41, 70,250,139, /* 0x1d90 */
@ -641,11 +641,11 @@ unsigned char stub_i086_dos16_exe[29811] = {
131, 86,156, 0,139, 70,156, 11, 70,154,117, 3,233,141, 0,131, /* 0x25d0 */
70,232, 2,139, 70,156, 59, 70,238,118, 3,233,138,240,117, 8, /* 0x25e0 */
139, 70,154, 59, 70,236,119,243,139, 94,236, 43, 94,154,139, 78, /* 0x25f0 */
238, 27, 78,156,139, 70, 20,139, 86, 22, 1,216,131,209, 0,137, /* 0x2600 */
203,177, 12,211,227, 1,218,137,195,142,194, 38,138, 7,136, 70, /* 0x2610 */
238, 27, 78,156,139, 70, 20,139, 86, 22, 1,216,131,209, 0,136, /* 0x2600 */
203,177, 4,210,227, 0,222,137,195,142,194, 38,138, 7,136, 70, /* 0x2610 */
254,139, 94,236,139, 78,238,255, 78,232,131, 70,236, 1,131, 86, /* 0x2620 */
238, 0,139, 70, 20,139, 86, 22, 1,216,131,209, 0,137,203,177, /* 0x2630 */
12,211,227, 1,218,137,195,142,194,138, 70,254, 38,136, 7,131, /* 0x2640 */
238, 0,139, 70, 20,139, 86, 22, 1,216,131,209, 0,136,203,177, /* 0x2630 */
4,210,227, 0,222,137,195,142,194,138, 70,254, 38,136, 7,131, /* 0x2640 */
126,232, 0,117, 3,233, 38,240,139, 70,238, 59, 70, 26,114,152, /* 0x2650 */
117,243,139, 70,236, 59, 70, 24,114,142,235,233,129,255, 0, 1, /* 0x2660 */
115, 41,139, 70,244,139, 86,246,139, 94,226,139, 78,228, 57,216, /* 0x2670 */

View File

@ -43,7 +43,7 @@
.macro M_PIA_small
add ax, bx
adc cx, 0
#if 1
#if 0
// code size: 8 bytes
// i086: 2+4+56+3 == 65 clocks
// i286: 2+2+17+2 == 23 clocks