IskatelФункций в ассемблере нет.
В ассемблере есть функции.
IskatelФункций в ассемблере нет.
В ассемблере есть функции.
IskatelМожно не пользоваться, но, если вы внимательно прочитаете пост, то заметите что я написал что вывод на терминал осуществляется функциями. Поэтому без функций вывод колонок не получится.
Так и на сях можно функциями не пользоваться
ShamanЯ всегда думал что есть. Есть инструкция call, она пихает sp и передает управление в друге место. Есть ret с обратными действиями.
Функций в ассемблере нет.
doza_andБывает ещё пролог и эпилог. Это механизм вызова подпрограмм, которые в свете функциональной парадигмы я бы постеснялся называть функциями. Так что функций там нет.
Есть инструкция call, она пихает sp и передает управление в друге место. Есть ret с обратными действиями.
doza_andЯ не могу как-либо относиться к несуществующему.
Что вас собственно не устраивает в функциях языка Ассемблер?
ShamanЕсли вы считаете принципиально разными подпрограммы и функции, то безусловно вы правы. Именно функций нет.
В ассемблере есть только подпрограммы, которые не тождественны функциям.
doza_andЯ поступил проще: зашел с другой стороны, к другим авторам.
Ваши претензии к низкому уровню содержания вики это претензии к вам. Если вы считаете что там неправильно написано и вы лучше знаете, то поправьте Вики и мне не куда будет ссылаться. А мы посмотрим сколько людей с вашей трактовкой согласится.Я согласен с текущей трактовкой. Главное переходы на новую последовательность команд и возвраты назад.
doza_andЭто не терминологические препирательства, это проблема правильного понимания сути, проблема выбора правильной абстракции (по Макконнеллу), если угодно.
А терминологические препирательства мало кому интересны.
ShamanДа и еще раз да!!!. Конечно это вопрос типа выберите что вам ближе:
проблема выбора правильной абстракции
doza_andВы упустили из поля зрения один момент: “Вызов функции является, с точки зрения языка программирования, выражением, он может использоваться в других выражениях или в качестве правой части присваивания.”. Идеологически чистая процедура не возвращает ничего, даже None.
А по сути я даже затрудняюсь придумать пример где будет важно какой из взглядов использовать. Как я и отмечал все это это методы передачи управления, ну чуток разные.
var
value : Integer;
function Sum(a, b : Integer) : Integer;
begin
Sum := a + b;
end;
procedure SumG(a, b : Integer);
begin
value := a + b;
end;
procedure SumR(var result : Integer; a, b : Integer);
begin
result := a + b;
end;