· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.ASSEMBLER —› ENTER

Посл.отвђт Сообщенiе


Дата: Июл 31, 2003 10:12:37 · Поправил: Безпощадный даос

читаю вот тут доки по i486. Навели на размышления: для удобства населения введена команда enter, которая делает:
push ebp
mov ebp,esp
sub esp,xxx
но, по моим подсчетам, эти три комманды исполняются максимум 8 тактов, тогда как enter - написано 14.
Так нафиг оно нужно (или в пнях что-то изменилось?)
Или они имели ввиду уменьшение размера (хотя, оно, вроде, тоже небольшое).


Дата: Июл 31, 2003 10:27:17

Да уменьшение. И удобство для HLL компиляторов, там ещё уровень вложенности можно определять.
Сейчас практически никто не использует, разве что для оптимизации по размеру.


Дата: Июл 31, 2003 14:12:23

Замечу: оптимизация по размеру, как правило, предполагает отказ от подобного оформления подпрограмм вообще.

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


Дата: Авг 5, 2003 11:29:42

Меня вообще немного раздражает введение не совсем оптимизированных процедур.Занимаясь некоторыми микроконтролерами там вообще такого нет!


Дата: Авг 5, 2003 18:21:03

SPbGMTU
Занимаясь некоторыми микроконтролерами там вообще такого нет!
Это логично... Микроконтроллеры -- простые ребята, кроме call и ret ничего больше им не нужно :)))


Дата: Авг 19, 2003 15:00:13

V FASM'e est izcho return vmesto ret. V chem raznica?


Дата: Авг 19, 2003 17:17:56

DyC
посмотри инклюдник STDCALL.
return это макрос.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.074