Интересную статистику я неожиданно нашел: x86 Machine Code Statistics.
Меня давно что-то подобное интересовало, с тех пор, как мы подсчитывали
статистику заимствований в BASIC-ax...
В обсуждении результата пишут, что выборка была нерепрезентативна, но всё равно интересно.
Я поискал и другую статистику, меня больше интересовали CALL и RET, гуглил я прямо фразу:
x86 Machine Code Statistics
По другим источникам CALL и RET могут занимать от 3% до более 10% кода x86...
P.S. Страница эта у меня кривовато открывается, поэтому я сделал её pdf-копию, если кому-либо
вдруг станет интересна прочая статистика по кодам x86.
x86 Machine Code Statistics
Moderator: Shaos
-
- Supreme God
- Posts: 16680
- Joined: 21 Oct 2009 08:08
- Location: Россия
x86 Machine Code Statistics
You do not have the required permissions to view the files attached to this post.
iLavr
-
- Admin
- Posts: 24008
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: x86 Machine Code Statistics
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Supreme God
- Posts: 16680
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: x86 Machine Code Statistics
А как ты её считаешь?
Мне этот вопрос был интересен вот с какой точки зрения: когда в своё время посчитали
статистику использования команд процессорами, то пришли к мысли о RISC-процессорах.
Вот только неизвестно, как считали...
Человек, на которого я дал ссылку, декомпилировал программы и подсчитывал явные инструкции,
чтобы тексты и данные не портили ему статистику.
Но и то им что-то не все остались доволны.
Мне этот вопрос был интересен вот с какой точки зрения: когда в своё время посчитали
статистику использования команд процессорами, то пришли к мысли о RISC-процессорах.
Вот только неизвестно, как считали...

Человек, на которого я дал ссылку, декомпилировал программы и подсчитывал явные инструкции,
чтобы тексты и данные не портили ему статистику.
Но и то им что-то не все остались доволны.
iLavr
-
- Admin
- Posts: 24008
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: x86 Machine Code Statistics
Я в эмулятор вставил счётчиков и инкрементирую соответствующий счётчик когда та или иная инструкция походит через исполнительный модуль - эту статистику надо знать, чтобы ускорять критически важные инструкции в первую очередь (те, что чаще используются)Lavr wrote:А как ты её считаешь?
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Supreme God
- Posts: 16680
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: x86 Machine Code Statistics
Спасибо!Shaos wrote:Я в эмулятор вставил счётчиков...


Крутил мысли вокруг живых процессоров и программ...
iLavr
-
- God
- Posts: 1388
- Joined: 02 Jan 2006 02:28
- Location: Abakan
Re: x86 Machine Code Statistics
Любопытно, что команды PUSH используются более чем в 2 раза чаще чем POP.Lavr wrote:Интересную статистику я неожиданно нашел: x86 Machine Code Statistics.
Меня давно что-то подобное интересовало, с тех пор, как мы подсчитывали
статистику заимствований в BASIC-ax... В обсуждении результата пишут, что выборка была нерепрезентативна, но всё равно интересно.
-
- Supreme God
- Posts: 16680
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: x86 Machine Code Statistics
А там по ссылке это отмечено и объяснено. х86 используют стек для передачи параметров подпрограмме.jdigreze wrote:Любопытно, что команды PUSH используются более чем в 2 раза чаще чем POP.
Забрасывают параметры в стек через PUSH, а вот подпрограмма их вынимает НЕ через POP.
Вынимают параметры вот так:
Code: Select all
push bp
mov bp,sp
mov ax,[bp+4]
и т.д.
iLavr