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

Содержимое удалено Содержимое добавлено
→‎Программа: печать файла наоборот: не убирались аргументы со стека
Строка 2308:
pushl %edi
call malloc
addl $4, %esp /* убрать аргументы */
/* Здесь необходим код заполнения нулями выделенной памяти
..................................
*/
movl %eax, %esi /* указатель на начало буфера */
decl %edi /* в конце должен быть нулевой байт,
Строка 2335 ⟶ 2333 :
pushl %esi /* указатель на буфер */
call realloc
/* Здесь необходим код заполнения нулями выделенной памяти
..................................
*/
addl $8, %esp /* убрать аргументы */
movl %eax, %esi /* результат в %eax — новый указатель