Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [asm -> pas]перевести программу , перевести 
:(
    Опции темы
AET
Дата 28.2.2008, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 13.3.2007

Репутация: нет
Всего: нет



народ можете помоч перевести код из asm в pas
Код

; 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
; ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

loc_4EC:                ; CODE XREF: sub_2E4+1FEj sub_2E4+204j
        mov    ax, word_237C
        mov    dx, word_237E
        add    ax, word_2348
        adc    dx, word_234A
        mov    word_2364, ax
        mov    word_2366, dx
        mov    ax, word_2374
        mov    dx, word_2376
        cmp    dx, word_2366
        jg    short loc_517
        jl    short loc_527
        cmp    ax, word_2364
        jb    short loc_527

loc_517:                ; CODE XREF: sub_2E4+229j
        mov    ax, word_2348
        mov    dx, word_234A
        mov    word_234C, ax
        mov    word_234E, dx
        jmp    short loc_536
; ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

loc_527:                ; CODE XREF: sub_2E4+22Bj sub_2E4+231j
        mov    word_2390, 0FFFFh
        mov    word_2392, 0FFFFh

loc_533:                ; CODE XREF: sub_2E4:loc_4EAj
        jmp    loc_C99
; ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

loc_536:                ; CODE XREF: sub_2E4+241j
        cmp    word_234E, 0
        jl    short loc_546
        jg    short loc_554
        cmp    word_234C, 0
        ja    short loc_554

loc_546:                ; CODE XREF: sub_2E4+257j
        mov    word_2358, 1
        mov    word_235A, 0
        jmp    short loc_55C
; ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

loc_554:                ; CODE XREF: sub_2E4+259j sub_2E4+260j
        xor    ax, ax
        mov    word_2358, ax
        mov    word_235A, ax

loc_55C:                ; CODE XREF: sub_2E4+26Ej
        mov    ax, word_2358
        or    ax, word_235A
        jz    short loc_56D
        xor    ax, ax
        mov    word_234C, ax
        mov    word_234E, ax

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
; ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

loc_599:                ; CODE XREF: sub_2E4+2B0j
        mov    ax, word_237C
        mov    dx, word_237E
        sub    ax, word_2380
        sbb    dx, word_2382
        mov    word_2394, ax
        mov    word_2396, dx
        mov    ax, word_236C
        mov    dx, word_236E
        add    ax, word_2394
        adc    dx, word_2396
        mov    word_2394, ax
        mov    word_2396, dx
        mov    ax, word_236C
        mov    dx, word_236E
        add    ax, word_237C
        adc    dx, word_237E
        mov    word_2390, ax
        mov    word_2392, dx
        mov    ax, word_2350
        mov    dx, word_2352
        mov    cx, 3
        xor    bx, bx
        call    @$brlsh$q7Longint7Integer ; X1{DX:AX}<<=N{CX}
        mov    word_2344, ax
        mov    word_2346, dx



Добавлено через 4 минуты и 40 секунд
вот астольная часть
Код

loc_5F3:                ; CODE XREF: sub_2E4+756j
        les    di, [bp+arg_0]
        push    es
        push    di
        push    word_2396
        push    word_2394
        call    @Seek$qm4File7Longint ;    Seek(var f; n: Longint)
        call    @__IOCheck$qv    ; Exit if error
        les    di, [bp+arg_0]
        push    es
        push    di
        lea    di, [bp+var_202+1]
        push    ss
        push    di
        call    @Read$qm4Filem3Any ; Read(var f: File{;    buf: PByte})
        add    sp, 4
        call    @__IOCheck$qv    ; Exit if error
        mov    al, byte ptr [bp+var_202+1]
        xor    ah, ah
        xor    dx, dx
        mov    word_2364, ax
        mov    word_2366, dx
        les    di, [bp+arg_0]
        push    es
        push    di
        push    word_2392
        push    word_2390
        call    @Seek$qm4File7Longint ;    Seek(var f; n: Longint)
        call    @__IOCheck$qv    ; Exit if error
        mov    al, byte ptr word_2364
        mov    byte ptr [bp+var_202+1], al
        les    di, [bp+arg_0]
        push    es
        push    di
        lea    di, [bp+var_202+1]
        push    ss
        push    di
        call    @Write$qm4Filem3Any ; Write(var    f: File{; buf: PByte})
        add    sp, 4
        call    @__IOCheck$qv    ; Exit if error
        les    di, [bp+arg_0]
        push    es
        push    di
        mov    ax, word_2394
        mov    dx, word_2396
        add    ax, 1
        adc    dx, 0
        push    dx
        push    ax
        call    @Seek$qm4File7Longint ;    Seek(var f; n: Longint)
        call    @__IOCheck$qv    ; Exit if error
        les    di, [bp+arg_0]
        push    es
        push    di
        lea    di, [bp+var_202+1]
        push    ss
        push    di
        call    @Read$qm4Filem3Any ; Read(var f: File{;    buf: PByte})
        add    sp, 4
        call    @__IOCheck$qv    ; Exit if error
        mov    al, byte ptr [bp+var_202+1]
        xor    ah, ah
        xor    dx, dx
        mov    word_2360, ax
        mov    word_2362, dx
        les    di, [bp+arg_0]
        push    es
        push    di
        mov    ax, word_2390
        mov    dx, word_2392
        add    ax, 1
        adc    dx, 0
        push    dx
        push    ax
        call    @Seek$qm4File7Longint ;    Seek(var f; n: Longint)
        call    @__IOCheck$qv    ; Exit if error
        mov    al, byte ptr word_2360
        mov    byte ptr [bp+var_202+1], al
        les    di, [bp+arg_0]
        push    es
        push    di
        lea    di, [bp+var_202+1]
        push    ss
        push    di
        call    @Write$qm4Filem3Any ; Write(var    f: File{; buf: PByte})
        add    sp, 4
        call    @__IOCheck$qv    ; Exit if error
        les    di, [bp+arg_0]
        push    es
        push    di
        mov    ax, word_2394
        mov    dx, word_2396
        add    ax, 2
        adc    dx, 0
        push    dx
        push    ax
        call    @Seek$qm4File7Longint ;    Seek(var f; n: Longint)
        call    @__IOCheck$qv    ; Exit if error
        les    di, [bp+arg_0]
        push    es
        push    di
        lea    di, [bp+var_202+1]
        push    ss
        push    di
        call    @Read$qm4Filem3Any ; Read(var f: File{;    buf: PByte})
        add    sp, 4
        call    @__IOCheck$qv    ; Exit if error
        mov    al, byte ptr [bp+var_202+1]
        xor    ah, ah
        xor    dx, dx
        mov    word_235C, ax
        mov    word_235E, dx
        les    di, [bp+arg_0]
        push    es
        push    di
        mov    ax, word_2390
        mov    dx, word_2392
        add    ax, 2
        adc    dx, 0
        push    dx
        push    ax
        call    @Seek$qm4File7Longint ;    Seek(var f; n: Longint)
        call    @__IOCheck$qv    ; Exit if error
        mov    al, byte ptr word_235C
        mov    byte ptr [bp+var_202+1], al
        les    di, [bp+arg_0]
        push    es
        push    di
        lea    di, [bp+var_202+1]
        push    ss
        push    di
        call    @Write$qm4Filem3Any ; Write(var    f: File{; buf: PByte})
        add    sp, 4
        call    @__IOCheck$qv    ; Exit if error
        les    di, [bp+arg_0]
        push    es
        push    di
        mov    ax, word_2394
        mov    dx, word_2396
        add    ax, 3
        adc    dx, 0
        push    dx
        push    ax
        call    @Seek$qm4File7Longint ;    Seek(var f; n: Longint)
        call    @__IOCheck$qv    ; Exit if error
        les    di, [bp+arg_0]
        push    es
        push    di
        lea    di, [bp+var_202+1]
        push    ss
        push    di
        call    @Read$qm4Filem3Any ; Read(var f: File{;    buf: PByte})
        add    sp, 4
        call    @__IOCheck$qv    ; Exit if error
        mov    al, byte ptr [bp+var_202+1]
        xor    ah, ah
        xor    dx, dx
        mov    word_2358, ax
        mov    word_235A, dx
        les    di, [bp+arg_0]
        push    es
        push    di
        mov    ax, word_2390
        mov    dx, word_2392
        add    ax, 3
        adc    dx, 0
        push    dx
        push    ax
        call    @Seek$qm4File7Longint ;    Seek(var f; n: Longint)
        call    @__IOCheck$qv    ; Exit if error
        mov    al, byte ptr word_2358
        mov    byte ptr [bp+var_202+1], al
        les    di, [bp+arg_0]
        push    es
        push    di
        lea    di, [bp+var_202+1]
        push    ss
        push    di
        call    @Write$qm4Filem3Any ; Write(var    f: File{; buf: PByte})
        add    sp, 4
        call    @__IOCheck$qv    ; Exit if error
        les    di, [bp+arg_0]
        push    es
        push    di
        mov    ax, word_2394
        mov    dx, word_2396
        add    ax, 4
        adc    dx, 0
        push    dx
        push    ax
        call    @Seek$qm4File7Longint ;    Seek(var f; n: Longint)
        call    @__IOCheck$qv    ; Exit if error
        les    di, [bp+arg_0]
        push    es
        push    di
        lea    di, [bp+var_202+1]
        push    ss
        push    di
        call    @Read$qm4Filem3Any ; Read(var f: File{;    buf: PByte})
        add    sp, 4
        call    @__IOCheck$qv    ; Exit if error
        mov    al, byte ptr [bp+var_202+1]
        xor    ah, ah
        xor    dx, dx
        mov    word_2360, ax
        mov    word_2362, dx
        les    di, [bp+arg_0]
        push    es
        push    di
        mov    ax, word_2390
        mov    dx, word_2392
        add    ax, 4
        adc    dx, 0
        push    dx
        push    ax
        call    @Seek$qm4File7Longint ;    Seek(var f; n: Longint)
        call    @__IOCheck$qv    ; Exit if error
        mov    al, byte ptr word_2360
        mov    byte ptr [bp+var_202+1], al
        les    di, [bp+arg_0]
        push    es
        push    di
        lea    di, [bp+var_202+1]
        push    ss
        push    di
        call    @Write$qm4Filem3Any ; Write(var    f: File{; buf: PByte})
        add    sp, 4
        call    @__IOCheck$qv    ; Exit if error
        les    di, [bp+arg_0]
        push    es
        push    di
        mov    ax, word_2394
        mov    dx, word_2396
        add    ax, 5
        adc    dx, 0
        push    dx
        push    ax
        call    @Seek$qm4File7Longint ;    Seek(var f; n: Longint)
        call    @__IOCheck$qv    ; Exit if error
        les    di, [bp+arg_0]
        push    es
        push    di
        lea    di, [bp+var_202+1]
        push    ss
        push    di
        call    @Read$qm4Filem3Any ; Read(var f: File{;    buf: PByte})
        add    sp, 4
        call    @__IOCheck$qv    ; Exit if error
        mov    al, byte ptr [bp+var_202+1]
        xor    ah, ah
        xor    dx, dx
        mov    word_235C, ax
        mov    word_235E, dx
        mov    al, byte ptr word_235C
        mov    byte ptr [bp+var_202+1], al
        les    di, [bp+arg_0]
        push    es
        push    di
        mov    ax, word_2390
        mov    dx, word_2392
        add    ax, 5
        adc    dx, 0
        push    dx
        push    ax
        call    @Seek$qm4File7Longint ;    Seek(var f; n: Longint)
        call    @__IOCheck$qv    ; Exit if error
        les    di, [bp+arg_0]
        push    es
        push    di
        lea    di, [bp+var_202+1]
        push    ss
        push    di
        call    @Write$qm4Filem3Any ; Write(var    f: File{; buf: PByte})
        add    sp, 4
        call    @__IOCheck$qv    ; Exit if error
        les    di, [bp+arg_0]
        push    es
        push    di
        mov    ax, word_2394
        mov    dx, word_2396
        add    ax, 6
        adc    dx, 0
        push    dx
        push    ax
        


Это сообщение отредактировал(а) AET - 28.2.2008, 07:28
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0480 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.