Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Очень бодренько! Спасибо!)
Увлекательно, может порекомендуете какие-либо курсы по ассемблеру?
В целом, адекватное введение в основы 64-битного ассемблера x86-систем для тех, кто знает какой-то язык программирования высшего уровня.
_print_msg изменяет ebp и не сохраняет его. Вроде по вашим словам вызываемая функция обязана восстановить как было?
Кто бы мог подумать, что расово верные 04h или 80h превратятся в 0x04 и 0x80?NASM, кстати, 04h и 80h тоже понимает. Но вообще — непонятно чего хотели показать этой статьёй, это самая большая беда.
Кто бы мог подумать, что расово верные 04h или 80h превратятся в 0x04 и 0x80?
Честно дочитал до «Инструкция call — это по сути просто jmp (goto) в другой адрес памяти» и остановился.
А как же ret/retf?
Если мне не изменяет память, то в контексте AT&T это бы выглядело как mov %bx,$100, нет?
А про контекст описания call, я увидел только про помещение в стек регистров и параметров, а где про адрес возврата? Почему я и напомнил про ret))
Руководство по ассемблеру x86 для начинающих