Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 4698
Рейтинг: 426
#1: 2010-08-27 08:37:52 ЛС | профиль | цитата
Посмотрел FMP с разных сторон, сначала создал схему: code_20242.txt, посмотрел ее результаты:
53      	push    ebx
56 push esi
8BD8 mov ebx,eax self
8BF2 mov esi,edx data array
-------- ----------------- BEGIN equation
DD4608 fld [esi+8*1] X2
DC4E08 fmul [esi+8*1] X2
DC4E10 fmul [esi+8*2] 2
DC06 fadd [esi+8*0] X1
DC4618 fadd [esi+8*3] 10
-------- ----------------- END equation
9B fwait
5E pop esi
5B pop ebx
C3 ret
--------------------------------------------------------------------------------
SV‹Ø‹òÝFÜNÜNÜÜF›^[Ã
С кодом ассемблера более менее понятно (хотя не понятно как 10 связано с esi+8*3 но это уже детали незнания asm... наверное...), но вот самая последняя строчка меня убила Над ней я сидел пол часа и пялился на нее, потом стало доходить, "а не готовый к исполнению ли это машинный код?".
Так вот, вопрос прост (вернее крайне сложен): Как это работать
P.S: просмотр кода почти ничего не дал
------------ Дoбавленo в 08.37:
Да, как я понял из кода, функция Compile и все вызванные в ней функции отвечают за построение кода asm
карма: 10
0
файлы: 1code_20242.txt [982B] [126]
Ответов: 8928
Рейтинг: 823
#2: 2010-08-27 11:28:26 ЛС | профиль | цитата
Assasin, печально, что только математика, хотя и из неё можно обучиться почти всему ассемблеру, как из кодов компонентов почти всему Паскалю (Слава создателям HiAsm!)
карма: 19

0
Администрация
Ответов: 15295
Рейтинг: 1519
#3: 2010-08-27 12:32:10 ЛС | профиль | цитата
Assasin писал(а):
хотя не понятно как 10 связано с esi+8*3

аргументы в ф-цию передаются через стек, начальный адрес которого лежит в esi. Современные компиляторы на архитектуре i686 способны такое количество параметров передать через регистры процессора, а не стек
карма: 27
0
Разработчик
Ответов: 4698
Рейтинг: 426
#4: 2010-08-27 12:40:58 ЛС | профиль | цитата
А... ясно. А вообще все эти названия ebx, esi, они не случайны? (т.е не могут по другому называться)
карма: 10
0
Администрация
Ответов: 15295
Рейтинг: 1519
#5: 2010-08-27 12:48:48 ЛС | профиль | цитата
это названия 32х битных регистров архитектуры x86
карма: 27
0
5
Сообщение
...
Прикрепленные файлы
(файлы не залиты)