avva: (Default)
avva ([personal profile] avva) wrote2025-06-06 07:52 am

пустая трата места

waste.png

Этот код - часть исходников ранней версии компилятора C, написанного Деннисом Ритчи. Олдскульным программистам на C я предлагаю задачу - разобраться, зачем нужна странная функция waste() и как компилятор ее использует. Этот отрывок из файла c10.c.
hirelingofnato: (хипстер злой)

[personal profile] hirelingofnato 2025-06-06 11:22 am (UTC)(link)
Неужели вместо delay? (Предупреждаю, мой программистский уровень - школьный курс бейсика и недалеко ушедший от него GDL).
amarao: (Default)

[personal profile] amarao 2025-06-08 09:21 am (UTC)(link)
Написано space.

Гипотеза: надо было выйти за пределы первого блока памяти в .text чтобы offsets для всего остального были больше.

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

А вот зачем выходить за начальный блок памяти в .text я не знаю.