Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.05.18;
Скачать: [xml.tar.bz2];

Вниз

из ASM в Pascal   Найти похожие ветки 

 
AET ©   (2008-03-01 14:43) [0]

кто может помоч перевести из Асамблера в паскаль

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


 
Сергей М. ©   (2008-03-06 14:12) [1]

И какая же в результате "Паскаль-конфета" должна, по-твоему, получиться из этого "ASM-дерьма" ?)


 
DrPass ©   (2008-03-07 23:24) [2]


> Сергей М. ©   (06.03.08 14:12) [1]

Это не дерьмо, это он чего-то дизассемблировал, и хочет воспроизвести в понятной ему форме ;-)


 
TwentyFourth   (2008-03-08 23:34) [3]

Помочь! Ну и ни хрена себе!


 
Johnmen ©   (2008-03-08 23:49) [4]

Я помогу. $10 за строку исх.текста +100% надбавка за бред.


 
Германн ©   (2008-03-09 01:00) [5]


> Johnmen ©   (08.03.08 23:49) [4]

Я бы потребовал ещё и молоко за вредность.


 
Бегущий человек ©   (2008-03-26 17:59) [6]

Смахивает на расшифровку кейгена - метод блочномго шифрования с перестановками.


 
ANTPro ©   (2008-03-26 19:34) [7]

Hex-Rays пользуй :)


 
KilkennyCat ©   (2008-03-26 23:11) [8]

а че, в паскале асм использовать нельзя?


 
Игорь Шевченко ©   (2008-03-27 01:02) [9]

KilkennyCat ©   (26.03.08 23:11) [8]

Такой нельзя


 
Германн ©   (2008-03-27 01:42) [10]


> KilkennyCat ©   (26.03.08 23:11) [8]

Да и кроме Игорь Шевченко ©   (27.03.08 01:02) [9].
Автору нужно, скорее всего, не использовать этот асм в его первозданном виде, а понять, изменить и уж потом использовать. А понять асм - жила тонка.


 
J_f_S ©   (2008-03-27 01:47) [11]

Ассемблер по сути гораздо проще любого языка высокого уровня. Другое дело, что его грамотное использование требует высокой квалификации ;)


 
Германн ©   (2008-03-27 01:58) [12]


> J_f_S ©   (27.03.08 01:47) [11]
>
> Ассемблер по сути гораздо проще любого языка высокого уровня.
>  Другое дело, что его грамотное использование требует высокой
> квалификации ;)
>

Проще конечно. Но кроме одного. Труднее понять чужой код на ассемблере. Особенно если имеешь в наличии только кусок кода программы.


 
J_f_S ©   (2008-03-27 02:00) [13]


> Германн ©   (27.03.08 01:58) [12]

Вот! А вот это уже вопрос квалификации! ;)


 
Игорь Шевченко ©   (2008-03-27 02:02) [14]


> Труднее понять чужой код на ассемблере.


В блаженной памяти 1983 году я изучал код ADAMINT и ADAREP (это системы макросов и отчета для ADABAS), написанный на ассемблере и умилялся - до чего ж складно написано :)


 
Германн ©   (2008-03-27 02:13) [15]


> Игорь Шевченко ©   (27.03.08 02:02) [14]
>
>
> > Труднее понять чужой код на ассемблере.
>
>
> В блаженной памяти 1983 году я изучал код ADAMINT и ADAREP
> (это системы макросов и отчета для ADABAS), написанный на
> ассемблере и умилялся - до чего ж складно написано :)
>

Да. Я тоже много складных асм кодов встречал в те годы. Ну хотя бы в TurboProfessional. Но тогда "деревья были большими", а коды маленькими. Я и сейчас встречаю много складных кодов. Но для микропроцессоров. А это в последнее десятилетие - моя основная специализация. Да и те коды были полными исходниками чего-либо. А "по куску кода" асм понять трудно.


 
Германн ©   (2008-03-27 02:28) [16]


> J_f_S ©   (27.03.08 02:00) [13]
>
>
> > Германн ©   (27.03.08 01:58) [12]
>
> Вот! А вот это уже вопрос квалификации! ;)
>

Ну это да, но.
Я начинал писать рабочие программы на машинных кодах. Другого варианта не было.
И я делал без особых проблем вставки inline машинных кодов уже в современное время. В чужую программу для 51-го процессора. Тот компилятор асм не поддерживает. Но это я сам добавлял эти вставки и сам понимал, что я делаю.
Но кто ещё, кроме меня, поймёт эти вставки, если у него будут в наличии только они?


 
J_f_S ©   (2008-03-27 02:33) [17]


> Германн ©   (27.03.08 02:28) [16]

Чтож... Это актуально и для языков высокого уровня, правда в меньшей степени. Докуменнтирование, комментирование, культура кодирования способны облегчить беду :)


 
Германн ©   (2008-03-27 02:42) [18]

О, пардон.
Я забыл упомянуть одно существенное обстоятельство.
Асм код полученный каким-либо дизассемблером понять практически невозможно, если в наличии есть только "кусок" программы. Что, по-моему и представляет сабж.


 
J_f_S ©   (2008-03-27 02:48) [19]

Угу. Данный код явно продукт дизассемблера :) Без полного листинга или на худой конец контекста даже браться не хочется :)


 
Германн ©   (2008-03-27 02:55) [20]


> J_f_S ©   (27.03.08 02:48) [19]
>
> Угу. Данный код явно продукт дизассемблера

Это уже давно было определено:

> DrPass ©   (07.03.08 23:24) [2]


 
J_f_S ©   (2008-03-27 02:58) [21]


> Германн ©   (27.03.08 02:55) [20]

В связи с плавной флуктуацией точки обсуждения в подобных ветках я всегда начинаю читать с конца ;)


 
Германн ©   (2008-03-27 03:04) [22]


> J_f_S ©   (27.03.08 02:58) [21]
>
>

Это что? Си-шники так живут?


 
J_f_S ©   (2008-03-27 03:12) [23]


> Германн ©   (27.03.08 03:04) [22]
> > J_f_S ©   (27.03.08 02:58) [21]> > Это что? Си-шники так
> живут?

Сишники еще и не так живут ;) Чтение с конца треда это не моя перверсия, а скорее особеность общения на форумах с плоской организацией хода  обсуждения. Но мы как раз уводим обсуждение далеко от проблематики автора.


 
смарт   (2008-03-27 09:07) [24]


> AET ©   (01.03.08 14:43)  

Откуда ты такое выдрал ?


 
clickmaker ©   (2008-03-27 10:32) [25]


> [14] Игорь Шевченко ©   (27.03.08 02:02)
>
> > Труднее понять чужой код на ассемблере.
>
>
> В блаженной памяти 1983 году я изучал код ADAMINT и ADAREP
> (это системы макросов и отчета для ADABAS), написанный на
> ассемблере и умилялся - до чего ж складно написано :)

В бытность мою студентом-практикантом проходил практику в одном из наших КБ... так там люди написали свою ось реального (!) времени на asm86. Талмуд с описанием и исходниками по толщине чуть не догонял БСЭ. И его давали читать всем новоприбывшим, как проверку... ) Осилишь - наш человек ) Нет - тем более )


 
boriskb ©   (2008-03-27 11:43) [26]

> по толщине чуть не догонял БСЭ. И его давали читать всем
> новоприбывшим, как проверку... ) Осилишь - наш человек )
> Нет - тем более )

И что подразумевалось под "осилишь"? :))


 
clickmaker ©   (2008-03-27 11:48) [27]


> И что подразумевалось под "осилишь"? :))

прочитать, сделать умное лицо, сказать "круто", прокомментировать пару строчек "здесь вот mov ax, 0 я бы убрал, а вместо него... ну и т.д."
шутка.
на самом деле, никто кроме отцов-основателей в этом хозяйстве не разбирался, но в те времена еще жива была такая установка: использовать только самописный софт и электронику только отечественного производства. Потому что в буржуинских могут сидеть "жучки"... )


 
J_f_S ©   (2008-03-27 12:21) [28]


> clickmaker ©   (27.03.08 11:48) [27]

Чем-то историю с "Эльбрусом" напоминает :)


 
Alien1769 ©   (2008-03-27 14:04) [29]

Что-то мне подсказывает, что эта ветка тесно связана со следующей

http://delphimaster.net/view/15-1206533074/


 
KilkennyCat ©   (2008-03-27 14:35) [30]

Все-таки жаль, что автошема не получилась, тут бы она пригодилась...


 
clickmaker ©   (2008-03-27 15:00) [31]

тут, скорее, нужен "конвектор форматов"


 
Alien1769 ©   (2008-03-27 15:03) [32]


> конвектор форматов

А вот не все поймут :))


 
ANTPro ©   (2008-04-05 01:18) [33]

> [18] Германн ©   (27.03.08 02:42)
> Асм код полученный каким-либо дизассемблером понять практически
> невозможно

адская работа понимать дизассмблированный асм :(
Кстати кроме wasm.ru есть, что-нибудь стоящее по этой теме?
А то с пониманием математики вообще туго :(


 
Германн ©   (2008-04-05 01:36) [34]


> ANTPro ©   (05.04.08 01:18) [33]
>
> > [18] Германн ©   (27.03.08 02:42)
> > Асм код полученный каким-либо дизассемблером понять практически
> > невозможно
>
> адская работа понимать дизассмблированный асм :(
> Кстати кроме wasm.ru есть, что-нибудь стоящее по этой теме?
>
> А то с пониманием математики вообще туго :(
>

Ничего "стоящего по этой теме" я вообще не знаю. И не потому, что его "искал, но не нашёл", а потому, что "не искал, бо ненадобно".
Просто в последние и уже многие годы я в основном пишу на ассемблере. Имхо, для большинства микроконтроллеров - это оптимальный вариант.
Но это для микроконтроллеров. А wasm.ru - это для x86.


 
Германн ©   (2008-04-05 01:55) [35]


> А то с пониманием математики вообще туго :(
>

Эээ. А что с математикой?


 
korneley ©   (2008-04-05 02:01) [36]


> Германн ©   (05.04.08 01:55) [35]
> > Эээ. А что с математикой?

Репитую:"Туго."


 
ANTPro ©   (2008-04-05 02:07) [37]

ну так хоть что-то&#133 хотя надо еще по ZX что-нибудь поискать&#133 может повезет.


 
ANTPro ©   (2008-04-05 02:14) [38]

> [35] Германн ©   (05.04.08 01:55)

много математических операций которые сложно распознать.


 
Германн ©   (2008-04-05 02:30) [39]


> ANTPro ©   (05.04.08 02:14) [38]
>
> > [35] Германн ©   (05.04.08 01:55)
>
> много математических операций которые сложно распознать.
>
>

Опыт + знание стандартных библиотек, коих множество.


 
Loki ©   (2008-04-05 02:54) [40]


> [37] ANTPro ©   (05.04.08 02:07)
> хотя надо еще по ZX что-нибудь поискать…
> может повезет.

если есть сканнер и вы в Питере - то повезёт. Есть много бумаги по asm-у для него (но именно БУМАГИ, в электронке нет ничего :( ).
P.S.: Не хочу понтоваться, но в детстве (87 г., 7-й класс гуманитарной школы), когда я написал СОБСТВЕННЫЙ загрузчик уровней для игрушки (с графикой и музыкой) на чистом асме (для АГАТ-2 (если кто такое чудо видел/помнит)) - препод в школе был в полном ауте...
P.P.S.: Заняло недели две, пару кб, листинги валяются дома до-сих пор (жалко выкинуть детские поделки)...

---
WBR, Loki®



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2008.05.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.61 MB
Время: 0.069 c
15-1207046845
pwr
2008-04-01 14:47
2008.05.18
Что б добавить?


3-1197624704
novill
2007-12-14 12:31
2008.05.18
IB 7.5 Размер страницы.


8-1180007525
Огнеяр
2007-05-24 15:52
2008.05.18
СОС!!! (Быстрый вывод изображения. OpenGL?)


15-1207197918
php
2008-04-03 08:45
2008.05.18
PHP


2-1208369217
Blasphemie
2008-04-16 22:06
2008.05.18
Автоматическое изменение полей записи - как?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский