Обсуждение:Ассемблер в Linux для программистов C: различия между версиями
Обсуждение:Ассемблер в Linux для программистов C (править)
Версия 05:44, 1 апреля 2011
, 9 лет назад→Некорректная работа программы "пачать файла наоборот"?: Новая тема
Gribozavr (обсуждение | вклад) (Обсуждение правки 193.201.100.154) |
(→Некорректная работа программы "пачать файла наоборот"?: Новая тема) |
||
* не выводит ничего не экран.
[[Участник:Gribozavr|Gribozavr]] 18:13, 12 января 2011 (UTC)
== Некорректная работа программы "пачать файла наоборот"? ==
Здравствуйте. Я набил программу "печать файла наоборот" и полазил в ней дебагером.
В функции <code>read_str:</code> регистр <code>%ecx</code> используется для подсчёта прочитанных байт. Этот регистр используется библиотечными функциями <code>malloc()</code> и <code>fgets()</code>. После их вызова <code>%ecx</code> содержит всё что угодно но не количество прочитанных байт. Тем не менее далее его содержимое сравнивается с размером выделенного буфера.
Хотя, как ни странно, программа работает. :)
P.S. Если в <code>%ecx</code> помещается всякий мусор, и программа всё равно работает, этот регистр можно вообще не использвать?
[[Служебная:Contributions/91.103.66.177|91.103.66.177]] 05:44, 1 апреля 2011 (UTC)
|