Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm для начинающих > нужна помащь


Автор: AET 21.6.2007, 13:03
народ нужна помащь кто может обяснить пошагоов даную программу ано дизасемблировано зарание блогодарен

Автор: ReStarteR 4.7.2007, 18:17
А по-русски печатать не пробовал?

Автор: amplua 4.7.2007, 20:57
Вам нужен описание программ?

Автор: Rickert 5.7.2007, 04:54
Приведи сюда исходник в тэгах - раз.
Название темы должно отражать её суть - два.
Переместите эту тему - в центр помощи малоимущим - три.

Автор: AET 5.7.2007, 06:51
Код

;
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
; º    This file is generated by The Interactive Disassembler (IDA)        º
; º    Copyright © 2005 by DataRescue sa/nv,    <[email protected]>        º
; º        Licensed to: Lennart Reus, 1 user, std,    07/2003            º
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
;
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
; File Name   :    C:\0000000\proram\main proram.exe
; Format      :    MS-DOS executable (EXE)
; Base Address:    0h Range: 0h-6690h Loaded length: 2140h
; Entry    Point :    0:CC3
; OS type      :  MS    DOS
; Application type:  Console GUI Executable 16bit
;

        .686p
        .mmx
        .model large

; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

; Segment type:    Pure code
seg000        segment    byte public 'CODE' use16
        assume cs:seg000
        assume es:nothing, ss:nothing, ds:dseg,    fs:nothing, gs:nothing

loc_0:                    ; CODE XREF: sub_2E4+68p sub_2E4+A4p ...
        push    bp
        mov    bp, sp
        mov    ax, 2

loc_6:                    ; DATA XREF: Halt(Word)+38r
        call    @__StackCheck$q4Word ; Stack overflow check (AX)
        sub    sp, 2
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
        db 0A1h    ; ¡
        db 5Ch
word_10        dw 8B02h        ; DATA XREF: Halt(Word)+1Cr
        db 16h,    5Eh
word_14        dw 0B902h        ; DATA XREF: Halt(Word):loc_1315r
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
        add    ax, [bx+si]
        xor    bx, bx
        call    @$brrsh$q7Longint7Integer ; X1{DX:AX}>>=N{CX}
        mov    word_2350, ax
        mov    word_2352, dx
        mov    ax, word_2338
        mov    dx, word_233A
        add    ax, word_2350
        adc    dx, word_2352
        mov    word_2390, ax
        mov    word_2392, dx
        mov    ax, word_233C
        mov    dx, word_233E
        and    ax, 7
        and    dx, 0
        mov    word_2394, ax
        mov    word_2396, dx
        mov    word_2360, 8
        mov    word_2362, 0
        mov    ax, word_2360
        mov    dx, word_2362
        sub    ax, word_2394
        sbb    dx, word_2396
        mov    word_2394, ax
        mov    word_2396, dx
        xor    ax, ax
        mov    word_2368, ax
        mov    word_236A, ax
        mov    ax, word_2394
        mov    dx, word_2396
        cmp    dx, word_2342
        jg    short loc_90
        jl    short loc_93
        cmp    ax, word_2340
        jb    short loc_93

loc_90:                    ; CODE XREF: seg000:0086j
        jmp    loc_1C6
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

loc_93:                    ; CODE XREF: seg000:0088j seg000:008Ej ...
        mov    ax, word_2350
        mov    dx, word_2352
        add    ax, 1
        adc    dx, 0
        mov    word_2350, ax
        mov    word_2352, dx
        mov    word_2360, 0FFh
        mov    word_2362, 0
        mov    ax, word_2360
        mov    dx, word_2362
        mov    cx, word_2394
        mov    bx, word_2396
        call    @$brlsh$q7Longint7Integer ; X1{DX:AX}<<=N{CX}
        mov    word_2364, ax
        mov    word_2366, dx
        mov    ax, word_2364
        mov    dx, word_2366
        not    ax
        not    dx
        mov    word_235C, ax
        mov    word_235E, dx
        mov    ax, word_2398
        mov    dx, word_239A
        cmp    dx, word_2392
        jl    short loc_FE
        jg    short loc_F5
        cmp    ax, word_2390
        jb    short loc_FE

loc_F5:                    ; CODE XREF: seg000:00EDj
        mov    ax, word_2398
        or    ax, word_239A
        jnz    short loc_123

loc_FE:                    ; CODE XREF: seg000:00EBj seg000:00F3j
        les    di, [bp+4]
        push    es
        push    di
        mov    di, offset byte_243C
        push    ds
        push    di
        call    @Read$qm4Filem3Any ; Read(var f: File{;    buf: PByte})
        add    sp, 4
        call    @__IOCheck$qv    ; Exit if error
        mov    ax, word_2390
        mov    dx, word_2392
        mov    word_2398, ax
        mov    word_239A, dx

loc_123:                ; CODE XREF: seg000:00FCj
        mov    al, byte_243C
        xor    ah, ah
        xor    dx, dx
        mov    word_2364, ax
        mov    word_2366, dx
        mov    ax, word_2390
        mov    dx, word_2392
        add    ax, 1
        adc    dx, 0
        mov    word_2390, ax
        mov    word_2392, dx
        mov    ax, word_2364
        mov    dx, word_2366
        and    ax, word_235C
        and    dx, word_235E
        mov    word_2358, ax
        mov    word_235A, dx
        mov    ax, word_2368
        mov    dx, word_236A
        mov    cx, word_2394
        mov    bx, word_2396
        call    @$brlsh$q7Longint7Integer ; X1{DX:AX}<<=N{CX}
        mov    word_2368, ax
        mov    word_236A, dx
        mov    ax, word_2340
        mov    dx, word_2342
        sub    ax, word_2394
        sbb    dx, word_2396
        mov    word_2340, ax
        mov    word_2342, dx
        mov    word_2394, 8
        mov    word_2396, 0
        mov    ax, word_2368
        mov    dx, word_236A
        or    ax, word_2358
        or    dx, word_235A
        mov    word_2368, ax
        mov    word_236A, dx
        mov    ax, word_2394
        mov    dx, word_2396
        cmp    dx, word_2342
        jl    short loc_1C3
        jg    short loc_1C6
        cmp    ax, word_2340
        jnb    short loc_1C6

loc_1C3:                ; CODE XREF: seg000:01B9j
        jmp    loc_93
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

loc_1C6:                ; CODE XREF: seg000:loc_90j
                    ; seg000:01BBj    ...
        mov    ax, word_2368
        mov    dx, word_236A
        mov    cx, word_2340
        mov    bx, word_2342
        call    @$brlsh$q7Longint7Integer ; X1{DX:AX}<<=N{CX}
        mov    word_2358, ax
        mov    word_235A, dx
        mov    ax, word_2338
        mov    dx, word_233A
        add    ax, word_2350
        adc    dx, word_2352
        mov    word_2368, ax
        mov    word_236A, dx
        mov    ax, word_2398
        mov    dx, word_239A
        cmp    dx, word_236A
        jl    short loc_215
        jg    short loc_20C
        cmp    ax, word_2368
        jb    short loc_215

loc_20C:                ; CODE XREF: seg000:0204j
        mov    ax, word_2398
        or    ax, word_239A
        jnz    short loc_23A

loc_215:                ; CODE XREF: seg000:0202j seg000:020Aj
        les    di, [bp+4]
        push    es
        push    di
        mov    di, offset byte_243C
        push    ds
        push    di
        call    @Read$qm4Filem3Any ; Read(var f: File{;    buf: PByte})
        add    sp, 4
        call    @__IOCheck$qv    ; Exit if error
        mov    ax, word_2368
        mov    dx, word_236A
        mov    word_2398, ax
        mov    word_239A, dx

loc_23A:                ; CODE XREF: seg000:0213j
        mov    al, byte_243C
        xor    ah, ah
        xor    dx, dx
        mov    word_235C, ax
        mov    word_235E, dx
        mov    ax, word_2394
        mov    dx, word_2396
        sub    ax, word_2340
        sbb    dx, word_2342
        mov    word_2364, ax
        mov    word_2366, dx
        mov    ax, word_235C
        mov    dx, word_235E
        mov    cx, word_2364
        mov    bx, word_2366
        call    @$brrsh$q7Longint7Integer ; X1{DX:AX}>>=N{CX}
        mov    word_2360, ax
        mov    word_2362, dx
        mov    word_2364, 0FFh
        mov    word_2366, 0
        mov    ax, word_2364
        mov    dx, word_2366
        mov    cx, word_2340
        mov    bx, word_2342
        call    @$brlsh$q7Longint7Integer ; X1{DX:AX}<<=N{CX}
        mov    word_2368, ax
        mov    word_236A, dx
        mov    ax, word_2368
        mov    dx, word_236A
        not    ax
        not    dx
        mov    word_235C, ax
        mov    word_235E, dx
        mov    ax, word_2360
        mov    dx, word_2362
        and    ax, word_235C
        and    dx, word_235E
        mov    word_2368, ax
        mov    word_236A, dx
        mov    ax, word_2358
        mov    dx, word_235A
        or    ax, word_2368
        or    dx, word_236A
        mov    word_2390, ax
        mov    word_2392, dx
        mov    sp, bp
        pop    bp
        retn    4

[mergetime]1183607939[/mergetime]
[QUOTE=amplua,4.7.2007,  20:57]Вам нужен описание программ?[/QUOTE]
да мне нужно описание программы

[mergetime]1183608009[/mergetime]
; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B    R O U T    I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ

; Attributes: bp-based frame

sub_2E4        proc near        ; CODE XREF: PROGRAM+4D2p

var_202        = word ptr -202h
arg_0        = dword    ptr  4
arg_4        = dword    ptr  8

        push    bp
        mov    bp, sp
        mov    ax, 202h
        call    @__StackCheck$q4Word ; Stack overflow check (AX)
        sub    sp, 202h
        mov    ax, word_2338
        mov    dx, word_233A
        mov    word_236C, ax
        mov    word_236E, dx
        mov    ax, word_233C
        mov    dx, word_233E
        mov    word_2370, ax
        mov    word_2372, dx
        mov    ax, word_2340
        mov    dx, word_2342
        mov    word_2374, ax
        mov    word_2376, dx
        xor    ax, ax
        mov    word_237C, ax
        mov    word_237E, ax
        mov    ax, word_2370
        mov    dx, word_2372
        mov    word_2338, ax
        mov    word_233A, dx
        xor    ax, ax
        mov    word_233C, ax
        mov    word_233E, ax
        mov    word_2340, 8
        mov    word_2342, 0
        les    di, [bp+arg_4]
        push    es
        push    di
        call    loc_0
        mov    ax, word_2390
        mov    dx, word_2392
        mov    word_2388, ax
        mov    word_238A, dx
        mov    ax, word_2370
        mov    dx, word_2372
        mov    word_2338, ax
        mov    word_233A, dx
        mov    word_233C, 8
        mov    word_233E, 0
        mov    word_2340, 8
        mov    word_2342, 0
        les    di, [bp+arg_4]
        push    es
        push    di
        call    loc_0
        mov    word_2378, 10h
        mov    word_237A, 0
        mov    ax, word_2390
        mov    dx, word_2392
        mov    word_2384, ax
        mov    word_2386, dx
        mov    ax, word_237C
        mov    dx, word_237E
        cmp    dx, word_2376
        jg    short loc_3BA
        jl    short loc_3BD
        cmp    ax, word_2374
        jb    short loc_3BD

loc_3BA:                ; CODE XREF: sub_2E4+CCj
        jmp    loc_C99
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

loc_3BD:                ; CODE XREF: sub_2E4+CEj sub_2E4+D4j ...
        mov    ax, word_2370
        mov    dx, word_2372
        mov    word_2338, ax
        mov    word_233A, dx

loc_3CB:                ; CODE XREF: sub_2E4+8EBj
        mov    ax, word_2378
        mov    dx, word_237A
        mov    word_233C, ax
        mov    word_233E, dx
        mov    word_2340, 1
        mov    word_2342, 0
        les    di, [bp+arg_4]
        push    es
        push    di
        call    loc_0
        mov    word_2394, 1
        mov    word_2396, 0
        mov    ax, word_2378
        mov    dx, word_237A
        add    ax, 1
        adc    dx, 0
        mov    word_2378, ax
        mov    word_237A, dx
        mov    ax, word_2390
        mov    dx, word_2392
        cmp    dx, word_2396
        jnz    short loc_420
        cmp    ax, word_2394
        jz    short loc_423

loc_420:                ; CODE XREF: sub_2E4+134j
        jmp    loc_BDD
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

loc_423:                ; CODE XREF: sub_2E4+13Aj
        mov    ax, word_2378
        mov    dx, word_237A
        mov    word_233C, ax
        mov    word_233E, dx
        mov    ax, word_2388
        mov    dx, word_238A
        mov    word_2340, ax
        mov    word_2342, dx
        mov    ax, word_2370
        mov    dx, word_2372
        mov    word_2338, ax
        mov    word_233A, dx
        les    di, [bp+arg_4]
        push    es
        push    di
        call    loc_0
        mov    ax, word_2390
        mov    dx, word_2392
        mov    word_2380, ax
        mov    word_2382, dx
        mov    ax, word_2370
        mov    dx, word_2372
        mov    word_2338, ax
        mov    word_233A, dx
        mov    ax, word_2378
        mov    dx, word_237A
        add    ax, word_2388
        adc    dx, word_238A
        mov    word_2378, ax
        mov    word_237A, dx
        mov    ax, word_2378
        mov    dx, word_237A
        mov    word_233C, ax
        mov    word_233E, dx
        mov    ax, word_2384
        mov    dx, word_2386
        mov    word_2340, ax
        mov    word_2342, dx
        les    di, [bp+arg_4]
        push    es
        push    di
        call    loc_0
        mov    ax, word_2378
        mov    dx, word_237A
        add    ax, word_2384
        adc    dx, word_2386
        mov    word_2378, ax
        mov    word_237A, dx
        mov    ax, word_2390
        mov    dx, word_2392
        add    ax, 3
        adc    dx, 0
        mov    word_2348, ax
        mov    word_234A, dx
        mov    ax, word_237C
        mov    dx, word_237E
        cmp    dx, word_2382
        jl    short loc_4EA
        jg    short loc_4EC
        cmp    ax, word_2380
        jnb    short loc_4EC

loc_4EA:                ; CODE XREF: sub_2E4+1FCj
        jmp    short loc_533
; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

Автор: setty 20.7.2007, 11:58
единственно что пока понятно так это то что в начале делается попытка открыть существующий(!) файл main.img на чтение
после чего производится его какой то анализ. 
Код

seg000:0CFE loc_10CFE:                              ; CODE XREF: PROGRAM+60j
seg000:0CFE                                         ; PROGRAM+87j
seg000:0CFE                 mov     di, offset File
seg000:0D01                 push    ds
seg000:0D02                 push    di
seg000:0D03                 mov     di, offset buff
seg000:0D06                 push    ds
seg000:0D07                 push    di
seg000:0D08                 call    @Read$qm4Filem3Any ; Read(var f: File{; buf: PByte})
seg000:0D0D                 add     sp, 4
seg000:0D10                 call    @__IOCheck$qv   ; Exit if error
seg000:0D15                 mov     ax, hFile
seg000:0D18                 inc     ax
seg000:0D19                 mov     hFile, ax
seg000:0D1C                 cmp     buff, 0A0h ; 'à'
seg000:0D21                 jz      short loc_10D25
seg000:0D23                 jmp     short loc_10CFE
seg000:0D25 ; ---------------------------------------------------------------------------


если файл имеет место быть то рантайм эрор будет поджидать нас уже не по  0000:0CF9 а по  0000:0D15.
вовсе непонятно чему там эрорить ибо 
seg000:0D15                 mov     ax, hFile
должно бы срабатывать безошибочно в любом случае
в hFile предположительно текущая позиция внутри файла. Вобщем гони main.img

Автор: Rickert 23.7.2007, 06:51
Вообщем, подобным бредом конечно никто не займётся. Как бы это была небольшая программа - помогли б, а так - кто захочет терять столько времени?

Автор: dumb 23.7.2007, 10:38
Rickert, разбираться там не особо много - пару десятков строк на паскале выйдет. НО! автор вопроса сам не понимает что делает, зачем делает и как то, что он пытается сделать, соотносится с его целью. если б он все четко объяснил, я бы уже давно это сделал - начались эти "му-му" уже месяца три назад...

Автор: try_to_get 1.9.2007, 20:06
AETПомешайте исходный код в соответствующие теги!!!

Автор: Aleksey2007 17.9.2007, 22:20
Елый палый а код не малый

Автор: AET 26.2.2008, 13:51
Цитата(dumb @ 23.7.2007,  10:38)
Rickert, разбираться там не особо много - пару десятков строк на паскале выйдет. НО! автор вопроса сам не понимает что делает, зачем делает и как то, что он пытается сделать, соотносится с его целью. если б он все четко объяснил, я бы уже давно это сделал - начались эти "му-му" уже месяца три назад...

всех с празником давно меня небыло болел может поможете это программа распаковает фаил делит их на блоки как мне сказали принцеп запаковки был RLE вот и нужна помащь создать его исходник

Добавлено @ 14:05
Цитата(setty @ 20.7.2007,  11:58)
единственно что пока понятно так это то что в начале делается попытка открыть существующий(!) файл main.img на чтение
после чего производится его какой то анализ. 
Код


seg000:0D15                 mov     ax, hFile
seg000:0D18                 inc     ax
seg000:0D19                 mov     hFile, ax
seg000:0D1C                 cmp     buff, 0A0h ; 'à'


если файл имеет место быть то рантайм эрор будет поджидать нас уже не по  0000:0CF9 а по  0000:0D15.
вовсе непонятно чему там эрорить ибо 
seg000:0D15                 mov     ax, hFile
должно бы срабатывать безошибочно в любом случае
в hFile предположительно текущая позиция внутри файла. Вобщем гони main.img

не могу выложить размер бальшой что ты имел виду с этим

Код
seg000:0D15                 mov     ax, hFile

и что это обозначает
Код
 cmp     buff, 0A0h ; 'à' 

Автор: AET 27.2.2008, 12:37
кто хотел мне помоч 
вот сылка на саму программу
 www.karkarschool5.narod.ru\10\main_pro.rar
вот то что это программа распаковает тоест main.img
www.karkarschool5.narod.ru\10\main.rar
вот примерно как ано работает
www.karkarschool5.narod.ru\10\doc.rar

мне нужен исхоныикод тоесть на паскале програму с расширением .pas

Автор: MAKCim 28.2.2008, 00:00
Цитата(AET @  27.2.2008,  12:37 Найти цитируемый пост)
мне нужен исхоныикод тоесть на паскале програму с расширением .pas

это вам в работу или центр помощи

Автор: AET 5.3.2008, 12:08
можете подсказать чтобы это означало
Код

loc_56D:                ; CODE XREF: sub_2E4+27Fj
        mov    ax, word_234C
        mov    dx, word_234E
        mov    cx, 3
        xor    bx, bx
        call    @$brrsh$q7Longint7Integer ; X1{DX:AX}>>=N{CX}
        mov    word_2350, ax
        mov    word_2352, dx
        xor    ax, ax
        mov    word_2344, ax
        mov    word_2346, ax
        mov    ax, word_2350
        or    ax, word_2352
        jnz    short loc_599
        jmp    loc_A3D

Автор: AET 6.3.2008, 14:38
помоему это выглядит так
Код

l_2350:=l_234C shr 3;
                     l_2344:=0;

Автор: AET 20.3.2008, 14:40
проверьте правильно ли я заделал  на  паскале перевел его из асамблерного кода в паскаль. Прикрепил файл на асамблере.
Код

begin
w236C:=w2338;
w2370:=w233C;
w2374:=w2340;
w237C:=0;
w2338:=w2370;
w233C:=0;
w2340:=8;
sub_0(arg_0);
w2338:=w2370;
w2338:=8;
w2340:=8;
sub_0(arg_0);
w2384:=w2390;
if w2374 < w2376 then
w2338 := w2370;
w233C:=w2378;
w2340:=1;
sub_0(arg_0);
w2394:=1;
w2378:=w2378+1;
if w2394=0 then
w233c:=w2378;
w2340:=w2388;
w2338:=w2370;
sub_0(arg_0);
w2380:=w2390;
w2338:=w2370;
w2378:=w2378+w2388;
w233C:=w2378;
w2340:=w2384;
sub_0(arg_0);
w2378:=w2378+w2384;
w2348:=w2390+3;
if w2380>w237c then
begin
w2364:=w237c+w2348;
if w2364 < w2374 then
w234c:=w2348;
w2390:=$FFFF;
else
if w234c > 0 or w2358=0 or 2350<>0 then
w2358:=0;
else
w2358:=1;
w2350:w234c shr 3;
w2344:=0;
end;
else
begin
w2394:=w237c - w2380;
w2394:= w236c + w2394;
w2390:= w236c + w237c;
w2344:w2350 shl 3;
end;
seek(arg_0,w2396);
read(arg_0,var_202[1]);
w2364:=var_202[1];
seek(arg_0,w2392);
var_202[1]:=w2364;
write(arg_0,var_202[1]);
seek(arg_202,w2394+1);
read(arg_0,var_202[1]);
w2360:=var_202[1];
seek(arg_0,w2390+1);
var_202[1]:=w2360;
write(arg_0,var_202[1]);
seek(arg_0,w2394+2);
read(arg_0,var_202[1]);
w235c:=var_202[1];
seek(arg_0,w2390+2);
var_202[1]:=w235c;
write(arg_0,var_202[1]);
seek(arg_0,w2394+3);
read(arg_0,var_202[1]);
2358:=var_202[1];
seek(arg_0,2390+3);
var_202[1]:=w2358;
seek(arg_0,w2394+4);
read(arg_0,var_202[1]);
w2360:=var_202[1];
seek(arg_0,2390+4);
var_202[1]:=w2360;
write(arg_0,var_202[1]);
seek(arg_0,w2394+5);
read(arg_0,var_202[1]);
w235c:=var_202[1];
var_202[1]:=w235c;
seek(arg_0,w2390+5);
write(arg_0,var_202[1]);
seek(arg_0,w2394+6);
read(arg_0,var_202[1]);
w2358:=var_202[1];
var_202[1]:=w2358;
seek(arg_0,w2390+6)
write(arg_0,var_202[1]);
seek(arg_0,w2394+7);
read(arg_0,var_202[1]);
w2368:=var_202[1];
var_202[1]:=w2368;
seek(arg_0,w2390+7);
write(arg_0,var_202[1]);
w2390:=w2390+8;
w2394:=w2394+8;
w2350:=w2350-1;
w2350:=234c+7;
w2394:=w2380-w237c;
w2394:=w2394+w2344;
w2394:=w2394+w236c;
w2390:=w2344+w237c;
w2390:=w2390+w236c;
w2390:=w2390+1;
w2394:=w2394+1;
seek(arg_0,w2394-1);
read(arg_0,var_202[1]);
w2360:=var_202[1];
w2350:=w2350-1;
seek(arg_0,w2390-1);
var_202[1]:=w2360;
write(arg_0,var_202[1]);
w237c:=w2348+w237c;
else begin
w233c:=2378;
w2340:=8;
w2338:=w2370;
loc_0(arg_4);
w2378:=w2378+8;
w2380:=w236c+w237c;
w237c:=w237c+1;
var:_202[1]:=w2390;
seek(arg_0,w2382);
write(arg_0,var_202[1]);
end;
else
Close(arg_4);
end.


Автор: MAKCim 20.3.2008, 14:44
AET

M
MAKCim
Модератор: Учите русский язык и задавайте нормально вопросы!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)