Бывалый

Профиль
Группа: Участник
Сообщений: 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
|