узнать алгоритм

Тема в разделе "WASM.ASSEMBLER", создана пользователем Esbolov, 28 фев 2008.

  1. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    помоему так
    Код (Text):
    1. begin
    2. w2350:=w233C shr 3;
    3. w2390 := w2338 + w2350;
    4. w2394:=w233C+7;
    5. w2360:=8;
    6. w2394:w2360 - w2394;
    7. w2368:=0;
    8. if w2394 < w2340 then
    9. begin
    10. w2350:=w2350 + 1;
    11. w2360:=$FF;
    12. w2364:=w2360 + w2394;
    13. if w2390 < w2398 then
    14. read (bp_4,b_24C3);
    15. w2398:=w2390;
    16. else begin
    17. w2364:=b_234C;
    18. w2390:=w2390 + 1;
    19. w2358:= w2364 + w235C;
    20. w2368:= w2394 + w2368;
    21. w2340:=w2340 - w2394;
    22. w2394:=8;
    23. end;
    24. end;
    25. else
    26. w2358 :=w2368 + w2340;
    27. w2368:=w2350 + w2338;
    28. if w2368 < w2398 then
    29. read (bp_4,b_243C);
    30. w2398:= w2368;
    31. else begin
    32. w235C :=b_243C;
    33. w2364:=w2394 - w2340;
    34. w2360:=w235C + w2364;
    35. w2364:=$ff;
    36. w2368:=w2364 + w2340;
    37. w2368:= w2360 + w235C;
    38. end;
    39. end.
     
  2. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Esbolov
    Ну что неплохо. Ты часть логических операций "переврал" - сложение написал.
    И там где у тебя куча end, на самом деле хитрая конструкция :
    if ...... then
    do
    .....
    while .....
    Код (Text):
    1. pocedure sub_0(fil);
    2. begin
    3. w2350:=w233C shr 3;
    4. w2390 := w2338 + w2350;
    5. w2394:=w233C and $7;                 //***
    6. w2360:=8;
    7. w2394:=w2360 - w2394;
    8. w2368:=0;
    9. if w2394 < w2340 then
    10. do    //****
    11.   w2350:=w2350 + 1;
    12.   w2360:=$FF;
    13.   w2364:=w2360 shl w2394;   //   ***
    14.   w235c:=not w2364;
    15.   if w2390 < w2398 then
    16.   begin  //  ***
    17.     read (fil,b_243C);
    18.     w2398:=w2390;
    19.   end;
    20.   w2364:=b_243C;  //***
    21.   w2390:=w2390 + 1;
    22.   w2358:= w2364 and w235C;  //***
    23.   w2368:= w2368 shl w2394;
    24.   w2340:=w2340 - w2394;
    25.   w2394:=8;
    26. // *****
    27.   w2368 :=w2368 or w2358; // ***
    28. while w2394 < w2340   //***
    29.  
    30. ***********************************************
    //*** помечены исправления
    до конца сил не хватило...
     
  3. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Код (Text):
    1. sub_0(file)
    2. {
    3.     dword_2350 := dword_233C shr 3;
    4.     dword_2390 := dword_2338 + dword_2350;
    5.     dword_2394 := dword_233C and 7;
    6.     dword_2360 := 8;
    7.     dword_2394 := dword_2360 - dword_2394:
    8.     dword_2368 := 0;
    9.  
    10.     while (dword_2394 < dword_2340) do
    11.     begin
    12.         Inc(dword_2350);
    13.         dword_2360 := $FF;
    14.         dword_2364 := dword_2360 shl dword_2394;
    15.         dword_235C := not dword_2364;
    16.  
    17.         if (dword_2398 < dword_2390) or (dword_2398 = 0) then
    18.         begin
    19.             Read(file, @byte_243C);
    20.             dword_2398 := dword_2390;
    21.         end;
    22.  
    23.         dword_2364 := byte_243C;
    24.         Inc(dword_2390);
    25.         dword_2358 := dword_2364 and dword_235C;
    26.         dword_2368 := dword_2368 shl dword_2394;
    27.         dword_2340 := dword_2340 - dword_2394;
    28.         dword_2394 := 8;
    29.         dword_2368 := dword_2368 or dword_2358;
    30.     end;
    31.  
    32.     dword_2358 := dword_2368 shl dword_2340;
    33.     dword_2368 := dword_2338 + dword_2350;
    34.  
    35.     if (dword_2398 < dword_2368) or (dword_2398 = 0) then
    36.     begin
    37.         Read(file, @byte_243C);
    38.         dword_2398 := dword_2368;
    39.     end;
    40.  
    41.     dword_235C := byte_243C;
    42.     dword_2364 := dword_2394 - dword_2340;
    43.     dword_2360 := dword_235C shr dword_2364;
    44.     dword_2364 := $FF;
    45.     dword_2368 := dword_2364 shl dword_2340;
    46.     dword_235C := not dword_2368;
    47.     dword_2368 := dword_2360 and dword_235C;
    48.     dword_2390 := dword_2358 or dword_2368;
    49. }
    Дежавю...
     
  4. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    ну тогда это как будет процедура sub_2E4
     
  5. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    проверьте это так
    Код (Text):
    1. begin
    2. w236C:=w2338;
    3. w2370:=w233C;
    4. w2374:=w2340;
    5. w237C:=0;
    6. w2338:=w2370;
    7. w233C:=0;
    8. w2340:=8;
    9. sub_0(arg_0);
    10. w2338:=w2370;
    11. w2338:=8;
    12. w2340:=8;
    13. sub_0(arg_0);
    14. w2384:=w2390;
    15. if w2374 < w2376 then
    16. w2338 := w2370;
    17. w233C:=w2378;
    18. w2340:=1;
    19. sub_0(arg_0);
    20. w2394:=1;
    21. w2378:=w2378+1;
    22. if w2394=0 then
    23. w233c:=w2378;
    24. w2340:=w2388;
    25. w2338:=w2370;
    26. sub_0(arg_0);
    27. w2380:=w2390;
    28. w2338:=w2370;
    29. w2378:=w2378+w2388;
    30. w233C:=w2378;
    31. w2340:=w2384;
    32. sub_0(arg_0);
    33. w2378:=w2378+w2384;
    34. w2348:=w2390+3;
    35. if w2380>w237c then
    36. begin
    37. w2364:=w237c+w2348;
    38. if w2364 < w2374 then
    39. w234c:=w2348;
    40. w2390:=$FFFF;
    41. else
    42. if w234c > 0 or w2358=0 or 2350<>0 then
    43. w2358:=0;
    44. else
    45. w2358:=1;
    46. w2350:w234c shr 3;
    47. w2344:=0;
    48. end;
    49. else
    50. begin
    51. w2394:=w237c - w2380;
    52. w2394:= w236c + w2394;
    53. w2390:= w236c + w237c;
    54. w2344:w2350 shl 3;
    55. end;
    56. seek(arg_0,w2396);
    57. read(arg_0,var_202[1]);
    58. w2364:=var_202[1];
    59. seek(arg_0,w2392);
    60. var_202[1]:=w2364;
    61. write(arg_0,var_202[1]);
    62. seek(arg_202,w2394+1);
    63. read(arg_0,var_202[1]);
    64. w2360:=var_202[1];
    65. seek(arg_0,w2390+1);
    66. var_202[1]:=w2360;
    67. write(arg_0,var_202[1]);
    68. seek(arg_0,w2394+2);
    69. read(arg_0,var_202[1]);
    70. w235c:=var_202[1];
    71. seek(arg_0,w2390+2);
    72. var_202[1]:=w235c;
    73. write(arg_0,var_202[1]);
    74. seek(arg_0,w2394+3);
    75. read(arg_0,var_202[1]);
    76. 2358:=var_202[1];
    77. seek(arg_0,2390+3);
    78. var_202[1]:=w2358;
    79. seek(arg_0,w2394+4);
    80. read(arg_0,var_202[1]);
    81. w2360:=var_202[1];
    82. seek(arg_0,2390+4);
    83. var_202[1]:=w2360;
    84. write(arg_0,var_202[1]);
    85. seek(arg_0,w2394+5);
    86. read(arg_0,var_202[1]);
    87. w235c:=var_202[1];
    88. var_202[1]:=w235c;
    89. seek(arg_0,w2390+5);
    90. write(arg_0,var_202[1]);
    91. seek(arg_0,w2394+6);
    92. read(arg_0,var_202[1]);
    93. w2358:=var_202[1];
    94. var_202[1]:=w2358;
    95. seek(arg_0,w2390+6)
    96. write(arg_0,var_202[1]);
    97. seek(arg_0,w2394+7);
    98. read(arg_0,var_202[1]);
    99. w2368:=var_202[1];
    100. var_202[1]:=w2368;
    101. seek(arg_0,w2390+7);
    102. write(arg_0,var_202[1]);
    103. w2390:=w2390+8;
    104. w2394:=w2394+8;
    105. w2350:=w2350-1;
    106. w2350:=234c+7;
    107. w2394:=w2380-w237c;
    108. w2394:=w2394+w2344;
    109. w2394:=w2394+w236c;
    110. w2390:=w2344+w237c;
    111. w2390:=w2390+w236c;
    112. w2390:=w2390+1;
    113. w2394:=w2394+1;
    114. seek(arg_0,w2394-1);
    115. read(arg_0,var_202[1]);
    116. w2360:=var_202[1];
    117. w2350:=w2350-1;
    118. seek(arg_0,w2390-1);
    119. var_202[1]:=w2360;
    120. write(arg_0,var_202[1]);
    121. w237c:=w2348+w237c;
    122. else begin
    123. w233c:=2378;
    124. w2340:=8;
    125. w2338:=w2370;
    126. loc_0(arg_4);
    127. w2378:=w2378+8;
    128. w2380:=w236c+w237c;
    129. w237c:=w237c+1;
    130. var:_202[1]:=w2390;
    131. seek(arg_0,w2382);
    132. write(arg_0,var_202[1]);
    133. end;
    134. else
    135. Close(arg_4);
    136. end.
     
  6. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    ну что правельно нет
     
  7. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
  8. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    а где ошибки могут быть
     
  9. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    вот это как минимум не сбилдится
     
  10. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    а как правельна будет
     
  11. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    ну что есть у каго данныи процедура sub_2E4
    вот процедура PROGRAM
    Код (Text):
    1. uses dos;
    2.  
    3. var
    4.   Count   : Word;
    5.   tmpStr  : String;
    6.   word_One: Word;
    7.   cur_Byte: Byte;
    8.   fInf    : File of Byte;
    9.   fOut    : File of Byte;
    10.  
    11.   tmp1    : Byte;
    12.   tmp2    : Byte;
    13.   tmp3    : Byte;
    14.   tmp4    : Byte;
    15.  
    16.   wTmp1   : Word;
    17.   wTmp2   : Word;
    18.  
    19.   lArr1   : array[1..20] of longint;
    20.   lArr2   : array[1..20] of longint;
    21.  
    22. var
    23.   l_2338  : longint;
    24.   l_233C  : longint;
    25.   l_2340  : longint;
    26.   l_2344  : longint;
    27.   l_2348  : longint;
    28.   l_234C  : longint;
    29.   l_2350  : longint;
    30.   l_2354  : longint;
    31.   l_2358  : longint;
    32.   l_235C  : longint;
    33.   l_2360  : longint;
    34.   l_2364  : longint;
    35.   l_2368  : longint;
    36.   l_2390  : longint;
    37.   l_2394  : longint;
    38.   l_236C  : longint;
    39.   l_2370  : longint;
    40.   l_2374  : longint;
    41.   l_2378  : longint;
    42.   l_237C  : longint;
    43.   l_2380  : longint;
    44.   l_2384  : longint;
    45.   l_2388  : longint;
    46.   l_2398  : longint;
    47.  
    48. procedure sub_2E4(var fI, fO);
    49. begin
    50.  
    51.  
    52. end;
    53.  
    54.  
    55. procedure Programm;
    56. var
    57.   var_2: Word;
    58.   var_102: array[0..99] of Byte;
    59. begin
    60.   Assign(fInf, 'main.img');
    61.   Reset(fInf);
    62.   Count := 0;
    63.   while (true) do begin         { loc_CFE }
    64.     Read(fInf, cur_Byte);
    65.     Inc(Count);
    66.     if cur_Byte = $A0 then
    67.       begin                     { loc_D25 }
    68.         Read(fInf, cur_Byte);
    69.         if cur_Byte = $2 then
    70.           begin                 { loc_D4C }
    71.             { нашли сигнатуру 02A0h }
    72.             Seek(fInf, Count-2);
    73.             Read(fInf, cur_Byte);
    74.             Writeln(0, cur_Byte, ' ', Count);
    75.             var_2 := cur_Byte;
    76.             if var_2 > 1 then
    77.               begin             { loc_DD5 }
    78.                 for word_One := 1 to var_2 do begin
    79.                   Seek(fInf, (word_One shl 4)+(Count-$0D));
    80.                   Read(fInf, tmp1, tmp2, tmp3, tmp4);
    81.                   wTmp1 := tmp2+(tmp1 shl 8);
    82.                   wTmp2 := tmp4+(tmp3 shl 8);
    83.                   lArr1[word_One] := wTmp1*$10000+wTmp2;
    84.                   Seek(fInf, (word_One shl 4) + (Count-9));
    85.                   Read(fInf, tmp1, tmp2, tmp3, tmp4);
    86.                   wTmp1 := tmp2+(tmp1 shl 8);
    87.                   wTmp2 := tmp4+(tmp3 shl 8);
    88.                   lArr2[word_One] := wTmp1*$10000+wTmp2;
    89.                   Writeln('off=', lArr1[word_One], ' ', lArr2[word_One]);
    90.                 end; {for}
    91.               end;
    92.             { loc_F9E: }
    93.             var_2 := cur_Byte;
    94.             if var_2 > 1 then
    95.               begin               { loc_FB1 }
    96.                 for word_One := 1 to var_2 do begin
    97.                   Str(word_One, tmpStr);
    98.                   if word_One < 10 then
    99.                     tmpStr := '0'+tmpStr;
    100.                   tmpStr := 're.'+tmpStr;
    101.                   Assign(fOut, tmpStr);
    102.                   ReWrite(fOut);
    103.  
    104.                   l_2338 := 0;
    105.                   l_233C := 0;
    106.                   l_2340 := 0;
    107.                   l_2344 := 0;
    108.                   l_2348 := 0;
    109.                   l_234C := 0;
    110.                   l_2350 := 0;
    111.                   l_2354 := 0;
    112.                   l_2358 := 0;
    113.                   l_235C := 0;
    114.                   l_2360 := 0;
    115.                   l_2364 := 0;
    116.                   l_2368 := 0;
    117.                   l_2390 := 0;
    118.                   l_2394 := 0;
    119.                   l_236C := 0;
    120.                   l_2370 := 0;
    121.                   l_2374 := 0;
    122.                   l_2378 := 0;
    123.                   l_237C := 0;
    124.                   l_2380 := 0;
    125.                   l_2384 := 0;
    126.                   l_2388 := 0;
    127.                   l_2368 := $0B;
    128.                   l_236C := $28;
    129.                   l_2364 := 1;
    130.                   l_235C := 0;
    131.                   l_2338 := 0;
    132.                   l_233C := l_2374 + l_235C; { ! }
    133.                   l_2340 := lArr2[word_One];
    134.                   l_2398 := 0;
    135.                   Reset(fInf);
    136.                   Seek(fInf, lArr1[word_One]);
    137.                   sub_2E4(fInf, fOut);
    138.                   Close(fOut);
    139.                 end; { for }
    140.               end;
    141.             { loc_11B2: }
    142.             Halt(0);
    143.           end
    144.         else
    145.           Inc(Count);
    146.       end;
    147.   end; {while(true)}
    148. end;
    149.  
    150. begin
    151.   Programm;
    152. end.
    а коды на асамблере прекрепил типерь нужен только процедура sub_2E4 кто нибудь поможет
     
  12. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    ну кто нибудь подскажет что с процедурой sub_2E4
     
  13. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    ну что там все скачиваете и скачиваете а помоч кто нибудь может пожалуста ил подсказать
     
  14. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Esbolov
    Сказал волшебное слово. Хочется процитировать птичку Тари :)
    Вот код, я его не проверял (ес-но, это теперь твоя задача).
    Сам разбирайся, только мне вопросов про Buf не задавай - это теперь твой геморрой.

    Код (Text):
    1. procedure sub_2E4(...)
    2. begin
    3.     dword_236C := dword_2338;
    4.     dword_2370 := dword_233C;
    5.     dword_2374 := dword_2340;
    6.     dword_237C := 0;
    7.     dword_2338 := dword_2370;
    8.     dword_233C := 0;
    9.     dword_2340 := 8;
    10.     loc_0(arg_4);
    11.     dword_2388 := dword_2390;
    12.     dword_2338 := dword_2370;
    13.     dword_233C := 8;
    14.     dword_2340 := 8;
    15.     loc_0(arg_4);
    16.     dword_2378 := 16;
    17.     dword_2384 := dword_2390;
    18.  
    19.     while dword_237C < dword_2374 do
    20.     begin
    21.         dword_2338 := dword_2370;
    22.         while 1 do
    23.         begin
    24.             dword_233C := dword_2378;
    25.             dword_2340 := 1;
    26.             loc_0(arg_4);
    27.             dword_2394 := 1;
    28.             Inc(dword_2378);
    29.  
    30.             if dword_2390 <> dword_2394 then break;
    31.  
    32.             dword_233C := dword_2378;
    33.             dword_2340 := dword_2388;
    34.             dword_2338 := dword_2370;
    35.             loc_0(arg_4);
    36.             dword_2380 := dword_2390;
    37.             dword_2338 := dword_2370;
    38.             dword_2378 := dword_2378 + dword_2388;
    39.             dword_233C := dword_2378;
    40.             dword_2340 := dword_2384;
    41.             loc_0(arg_4);
    42.             dword_2378 := dword_2378 + dword_2384;
    43.             dword_2348 := dword_2390 + 3;
    44.  
    45.             if dword_237C < dword_2380 then
    46.             begin
    47.                 Close(arg_4);
    48.                 Exit;
    49.             end;
    50.  
    51.             dword_2364 := dword_237C + dword_2348;
    52.  
    53.             if dword_2374 >= dword_2364 then
    54.             begin
    55.                 dword_2390 := -1;
    56.                 Close(arg_4);
    57.                 Exit;
    58.             end;
    59.             else
    60.                 dword_234C := dword_2348;
    61.  
    62.             if dword_234C <= 0 then
    63.                 dword_2358 := 1;
    64.             else
    65.                 dword_2358 := 0;
    66.  
    67.             if dword_2358 <> 0 then
    68.                 dword_234C := 0;
    69.  
    70.             dword_2350 := dword_234C Shr 3;
    71.             dword_2344 := 0;
    72.  
    73.             if dword_2350 <> 0 then
    74.             begin
    75.                 dword_2394 := dword_237C - dword_2380 + dword_236C;
    76.                 dword_2390 := dword_236C + dword_237C;
    77.                 dword_2344 := dword_2350 Shl 3;
    78.  
    79.                 repeat
    80.                     Seek(arg_0, dword_2394);
    81.                     Read(arg_0, Buf);
    82.                     dword_2364 := Buf[1];
    83.  
    84.                     Seek(arg_0, dword_2390);
    85.                     Buf[1] := dword_2364;
    86.                     Write(arg_0, Buf);
    87.  
    88.                     Seek(arg_0, dword_2394 + 1);
    89.                     Read(arg_0, Buf);
    90.                     dword_2360 := Buf[1];
    91.  
    92.                     Seek(arg_0, dword_2390 + 1);
    93.                     Buf[1] := dword_2360;
    94.                     Write(arg_0, Buf);
    95.  
    96.                     Seek(arg_0, dword_2394 + 2);
    97.                     Read(arg_0, Buf);
    98.                     dword_235C := Buf[1];
    99.  
    100.                     Seek(arg_0, dword_2390 + 2);
    101.                     Buf[1] := dword_235C;
    102.                     Write(arg_0, Buf);
    103.  
    104.                     Seek(arg_0, dword_2394 + 3);
    105.                     Read(arg_0, Buf);
    106.                     dword_2358 := Buf[1];
    107.  
    108.                     Seek(arg_0, dword_2390 + 3);
    109.                     Buf[1] := dword_2358;
    110.                     Write(arg_0, Buf);
    111.  
    112.                     Seek(arg_0, dword_2394 + 4);
    113.                     Read(arg_0, Buf);
    114.                     dword_2360 := Buf[1];
    115.  
    116.                     Seek(arg_0, dword_2390 + 4);
    117.                     Buf[1] := dword_2360;
    118.                     Write(arg_0, Buf);
    119.  
    120.                     Seek(arg_0, dword_2394 + 5);
    121.                     Read(arg_0, Buf);
    122.                     dword_235C := Buf[1];
    123.  
    124.                     Buf[1] := dword_235C;
    125.                     Seek(arg_0, dword_2390 + 5);
    126.                     Write(arg_0, Buf);
    127.  
    128.                     Seek(arg_0, dword_2394 + 6);
    129.                     Read(arg_0, Buf);
    130.                     dword_2358 := Buf[1];
    131.  
    132.                     Buf[1] := dword_2358;
    133.                     Seek(arg_0, dword_2390 + 6);
    134.                     Write(arg_0, Buf);
    135.  
    136.                     Seek(arg_0, dword_2394 + 7);
    137.                     Read(arg_0, Buf);
    138.                     dword_2368 := Buf[1];
    139.  
    140.                     Buf[1] := dword_2368;
    141.                     Seek(arg_0, dword_2390 + 7);
    142.                     Write(arg_0, Buf);
    143.  
    144.                     Inc(dword_2390, 8);
    145.                     Inc(dword_2394, 8);
    146.                     Dec(word_2350);
    147.                 until dword_2350 = 0;
    148.             end;
    149.  
    150.             dword_2350 := dword_234C And 7;
    151.             dword_2394 := dword_237C - dword_2380;
    152.  
    153.             if dword_2350 <> 0 then
    154.             begin
    155.                 dword_2394 := dword_2394 + dword_2344 + dword_236C;
    156.                 dword_2390 := dword_237C + dword_2344 + dword_236C;
    157.  
    158.                 repeat
    159.                     Inc(dword_2390);
    160.                     Inc(dword_2394);
    161.  
    162.                     Seek(arg_0, dword_2394 - 1);
    163.                     Read(arg_0, Buf);
    164.                     dword_2360 := Buf[1];
    165.  
    166.                     Dec(dword_2350);
    167.  
    168.                     Seek(arg_0, dword_2390 - 1);
    169.                     Buf[1] := dword_2360;
    170.                     Write(arg_0, Buf);
    171.                 until dword_2350 = 0;
    172.             end;
    173.  
    174.             dword_237C := dword_237C + dword_2348;
    175.  
    176.             if dword_237C >= dword_2374 then
    177.             begin
    178.                 Close(arg_4);
    179.                 Exit;
    180.             end;
    181.  
    182.             dword_2338 := dword_2370;
    183.         end;    //while 1
    184.  
    185.         dword_233C := dword_2378;
    186.         dword_2340 := 8;
    187.         dword_2338 := dword_2370;
    188.         loc_0(arg_4);
    189.  
    190.         Inc(dword_2378, 8);
    191.         dword_2380 := dword_236C + dword_237C;
    192.         Inc(dword_237C);
    193.  
    194.         Buf[1] := dword_2390;
    195.         Seek(arg_0, dword_2380);
    196.         Write(arg_0, Buf);
    197.     end;
    198.     Close(arg_4);
    199. end;
     
  15. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    crypto
    Скорее мой. Хотя Esbolov кое-что и сам сделал - молодец.
    Жаль у меня пока настроения нет этим заняться.
    Кстати, есть и сама прога - может займешься на досуге. Пожалуйста :)
     
  16. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    valterg
    Припахал он тебя?
    ЗЫ
    Не займусь в виду отсутствия досуга.
     
  17. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    crypto
    блогодарен я вам за помащь
    valterg
    тебе тоже блогодарен работаю и учусь вродебы нормально получается если какито предложение будут по компоновке выкладоваите а я как только 3 блока скомпаную выложу сюда блогодарен всем кто мне помогал с уважением Esbolov
     
  18. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    народ вот что уменя получилась только я не мог разобратся с Buf это переменая или всетаки масив Buf[1] укаго что есть
     
  19. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    вот примерно зделел но распаковает не доконца
     
  20. Esbolov

    Esbolov New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    83
    народ если убрать этот ветвление то программа запустится но будет пропускать некоторыие символы
    dword_2390 := -1;
    Close(fI);
    Exit;