Обсуждение:Ассемблер в Linux для программистов C: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 51:
 
Здравствуйте. Я набил программу "печать файла наоборот" и полазил в ней дебагером.
В функции <code>read_str:</code> регистр <code>%ecx</code> используется для подсчёта прочитанных байт. Этот регистр используется библиотечными функциями <code>malloc()</code> и <code>fgets()</code>. После их вызова <code>%ecxebx</code> содержит всё что угодно но не количество прочитанных байт. Тем не менее далее его содержимое сравнивается с размером выделенного буфера.
 
Хотя, как ни странно, программа работает. :)
 
P.S. Если в <code>%ecxebx</code> помещается всякий мусор, и программа всё равно работает, этот регистр можно вообще не использвать?
 
[[Служебная:Contributions/91.103.66.177|91.103.66.177]] 0506:4402, 1 апреля 2011 (UTC)
Вернуться на страницу «Ассемблер в Linux для программистов C».